bool IrcProtocol::event(QEvent *ev) { if (ev->type() == ActionCreatedEvent::eventType()) { ActionCreatedEvent *event = static_cast<ActionCreatedEvent*>(ev); if (d->autojoinAction == event->generator()) { IrcChannel *channel = qobject_cast<IrcChannel*>(event->controller()); if (!channel) return false; event->action()->setChecked(channel->autoJoin()); connect(channel, SIGNAL(autoJoinChanged(bool)), event->action(), SLOT(setChecked(bool))); return true; }
bool Module::event(QEvent *ev) { if (ev->type() == ActionCreatedEvent::eventType()) { ActionCreatedEvent *event = static_cast<ActionCreatedEvent*>(ev); if (event->generator() == p->tagsGenerator.data()) { QAction *action = event->action(); QMenu *menu = new QMenu(p->widget); QAction *act = menu->addAction(tr("Select tags")); connect(act, SIGNAL(triggered()), this, SLOT(onSelectTagsTriggered())); act = menu->addAction(tr("Reset")); connect(act, SIGNAL(triggered()), this, SLOT(onResetTagsTriggered())); action->setMenu(menu); } } return QObject::event(ev); }