diff options
-rw-r--r-- | client/macrodrawer.cc | 10 | ||||
-rw-r--r-- | client/macrodrawer.h | 6 | ||||
-rw-r--r-- | client/mainwindow.cc | 2 |
3 files changed, 16 insertions, 2 deletions
diff --git a/client/macrodrawer.cc b/client/macrodrawer.cc index 72395bb..ec761e9 100644 --- a/client/macrodrawer.cc +++ b/client/macrodrawer.cc @@ -53,7 +53,8 @@ MacroDrawer::MacroDrawer(MacroWindow *p, QString title) } installEventFilter(this); - connect(b, SIGNAL(clicked()), mw, SLOT(toggleMacro())); + // connect(b, SIGNAL(clicked()), mw, SLOT(toggleMacro())); + connect(b, SIGNAL(clicked()), this, SLOT(toggleMe())); } } @@ -61,7 +62,12 @@ bool MacroDrawer::eventFilter(QObject *obj, QEvent *event) { if(event->type() == QEvent::MouseButtonRelease) { QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event); - if(mouseEvent->y() < 16) mw->toggleMacro(); // Only activate when clicking the top. + if(mouseEvent->y() < 16 && isEnabled()) toggle();//mw->toggleMacro(); // Only activate when clicking the top. } return QObject::eventFilter(obj, event); } + +void MacroDrawer::toggleMe() +{ + emit toggle(); +} diff --git a/client/macrodrawer.h b/client/macrodrawer.h index b634198..a6a5d6d 100644 --- a/client/macrodrawer.h +++ b/client/macrodrawer.h @@ -39,6 +39,12 @@ public: protected: bool eventFilter(QObject *obj, QEvent *event); +public slots: + void toggleMe(); + +signals: + void toggle(); + private: MacroWindow *mw; }; diff --git a/client/mainwindow.cc b/client/mainwindow.cc index 6ba72e0..f0601ca 100644 --- a/client/mainwindow.cc +++ b/client/mainwindow.cc @@ -156,6 +156,8 @@ void MainWindow::update() macros[macroname]->isstatic = isstatic; MacroDrawer *g = new MacroDrawer(macros[macroname], xml_elem.attribute("caption", macroname)); + connect(g, SIGNAL(toggle()), macros[macroname], SLOT(toggleMacro())); + ((QBoxLayout*)w->layout())->addWidget(g); QHBoxLayout *l = new QHBoxLayout(); |