]> git.rmz.io Git - dotfiles.git/commitdiff
vim: update qt snippets
authorSamir Benmendil <me@rmz.io>
Mon, 20 Jun 2016 10:11:46 +0000 (11:11 +0100)
committerSamir Benmendil <me@rmz.io>
Mon, 20 Jun 2016 10:11:46 +0000 (11:11 +0100)
* `w` to instanciate a new QWidget type and setObjectName
* `connectl` to connect object to lambda
* update `widget` to take the class name from the filename

vim/ultisnips/cpp.snippets

index 93d66183add0f92fb0dab33924b36aaab666f769..c98a71b6c2f3406ee5c213b497f905d84427846b 100644 (file)
@@ -58,28 +58,37 @@ endsnippet
 snippet connect "Qt connect()" b
 connect(${1:this}, SIGNAL(${2:signal()}),
         ${3:this}, SLOT(${4:slot()}));
+endsnippet
+
+snippet connectl "Qt connect() lambda" b
+connect(${1:this}, &${2:class::function},
+        [=](${3:void}) { ${4} });
+${0}
+endsnippet
+
+snippet w "Define a new QWidget" b
+auto ${1:widget} = new ${2:QWidget};
+$1->setObjectName("${3:$1}");
 ${0}
 endsnippet
 
 snippet widget "Qt Widget Class" b
-class ${1:WidgetClass} : public QWidget
+class ${1:`!p snip.rv = snip.basename or "WidgetClass"`} : public QWidget
 {
        Q_OBJECT
 
 public:
        explicit $1(${2}QWidget *parent = 0);
-       ~$1();
+       ~$1() = default;
 
+       $0
 public slots:
-       ${3}
 
 signals:
-       ${4}
 
 private:
-       ${5}
 
-};
+}; // class${1/.+/ $0/m}
 endsnippet
 
 # http://stackoverflow.com/a/9864472