コード例 #1
0
ファイル: ircprotocol.cpp プロジェクト: reindeer/qutim
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;
		}
コード例 #2
0
ファイル: simplecontactlist.cpp プロジェクト: Anderty/qutim
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);
}