本文整理汇总了C++中KAction::activate方法的典型用法代码示例。如果您正苦于以下问题:C++ KAction::activate方法的具体用法?C++ KAction::activate怎么用?C++ KAction::activate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KAction
的用法示例。
在下文中一共展示了KAction::activate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: slotSyncClicked
void MainWindow::slotSyncClicked()
{
KAction *action = mCurrentPlugin->syncActions()->first();
if ( action ) {
action->activate();
} else {
PluginList::Iterator it;
for ( it = mPlugins.begin(); it != mPlugins.end(); ++it ) {
action = (*it)->syncActions()->first();
if ( action ) {
action->activate();
return;
}
}
}
}
示例2: forward
void KOEventPopupMenu::forward()
{
KOrg::MainWindow *w = ActionManager::findInstance(KURL());
if(!w || !mCurrentIncidence)
return;
KActionCollection *ac = w->getActionCollection();
KAction *action = ac->action("schedule_forward");
action->activate();
}
示例3: handleEvent
//.........这里部分代码省略.........
{
subProject = (*subprojects)[i];
break;
}
}
if (!subProject.location.isEmpty() && !ev.arguments[2].startsWith(subProject.location))
{
kdDebug(24000) << ev.arguments[2] << " is not part of the " << subProject.name << "subproject \"" << subProject.location << "\". " << endl;
return true;
}
}
else if (receiver.startsWith("taskleader-"))
member = Project::ref()->taskLeader(receiver.remove("taskleader-"));
QString body;
for (uint i = 2; i < ev.arguments.count(); i++)
body += ev.arguments[i] + "\n";
kapp->invokeMailer(member.name + "<" + member.email + ">", "", "", ev.arguments[1], body, "", QStringList(), "");
return true;
}
if (ev.action == "log")
{
QString logFile = ev.arguments[0];
KURL url = KURL::fromPathOrURL(logFile);
if (url.isValid() && !url.isLocalFile())
{
KMessageBox::sorry(0L, i18n("Logging to remote files is not supported."));
return false;
}
if (!logFile.startsWith("/"))
{
url = Project::ref()->projectBaseURL();
url.addPath(logFile);
if (!url.isLocalFile())
{
KMessageBox::sorry(0L, i18n("Logging to files inside a remote project is not supported."));
return false;
}
}
QFile file(url.path());
bool result;
if (ev.arguments[2] == "create_new")
result = file.open(IO_WriteOnly);
else
result = file.open(IO_WriteOnly | IO_Append);
if (result)
{
QTextStream stream(&file);
stream.setEncoding(QTextStream::UnicodeUTF8);
//Note: the log text should not be translated.
QString s = QDateTime::currentDateTime().toString(Qt::ISODate) + ": ";
s.append( "Event : " + m_eventName + " : ");
s.append( "Action: " + ev.action + " : ");
if (ev.arguments[1] == "full")
{
s.append( "Arguments: ");
for (uint i = 1; i < ev.arguments.count(); i++)
s.append(ev.arguments[i] + " | ");
}
s[s.length() - 1] = '\n';
stream << s;
file.close();
}
if (!result)
{
KMessageBox::sorry(0L, i18n("<qt>Logging failed. Check that you have write access to <i>%1</i>.").arg(url.path()));
return false;
}
} else
KMessageBox::sorry(0L, i18n("<qt>Unsupported internal event action : <b>%1</b>.</qt>").arg(ev.action));
} else
if (ev.type == EventAction::External)
{
//KMessageBox::sorry(0L, i18n("External event actions are not yet supported."));
if (ev.action == "script" || ev.action =="action")
{
QString name = ev.arguments[0];
KAction *action = quantaApp->actionCollection()->action(name);
TagAction *tagAction = dynamic_cast<TagAction*>(action);
if (tagAction)
{
bool blocking = (ev.arguments[1] == "yes");
EventAction event = ev;
event.arguments.remove(event.arguments.at(1));
tagAction->addArguments(event.arguments);
tagAction->execute(blocking);
}
else
if (action)
{
action->activate();
} else
KMessageBox::sorry(0L, i18n("<qt>The <b>%1</b> script action was not found on your system.</qt>").arg(name), i18n("Action Execution Error"));
} else
KMessageBox::sorry(0L, i18n("Unsupported external event action."));
} else
KMessageBox::sorry(0L, i18n("Unknown event type."));
return false;
}