本文整理汇总了C++中KAction::inherits方法的典型用法代码示例。如果您正苦于以下问题:C++ KAction::inherits方法的具体用法?C++ KAction::inherits怎么用?C++ KAction::inherits使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KAction
的用法示例。
在下文中一共展示了KAction::inherits方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: slotSelectionChanged
void ActionConfigDialog::slotSelectionChanged(QListViewItem *item)
{
if (currentAction && currentAction->inherits("TagAction"))
{
if ( buttonApply->isEnabled() &&
KMessageBox::questionYesNo(this, i18n("Do you want to save the changes made to this action?"), QString::null, KStdGuiItem::save(), KStdGuiItem::discard()) == KMessageBox::Yes )
{
saveCurrentAction();
}
buttonApply->setEnabled(false);
currentAction = 0L;
}
if (item && item->depth() > 0)
{
TagAction *action = 0L;
KActionCollection *ac = m_mainWindow->actionCollection();
uint acCount = ac->count();
//find the corresponding action
for (uint i = 0; i < acCount; i++)
{
KAction *a = ac->action(i);
QString actionName = a->name();
if (a && actionName == item->text(2) && a->inherits("TagAction"))
{
action = static_cast<TagAction*>(a);
actionProperties->setEnabled(true);
deleteAction->setEnabled(true);
break;
} else
{
actionProperties->setEnabled(false);
deleteAction->setEnabled(false);
}
}
//if we found the action, load the action details
if (action)
{
currentAction = action;
QDomElement el = action->data();
if ( el.hasAttribute("icon") )
{
QString s = el.attribute("icon");
if (!QFileInfo(s).exists())
s = QFileInfo(s).fileName();
actionIcon->setIcon(s);
}
QString actionText = el.attribute("text");
actionText.replace(QRegExp("\\&(?!\\&)"),"");
lineText->setText(actionText);
lineToolTip->setText( el.attribute("tooltip") );
selectedShortcut = action->shortcut();
QString shortcutText = action->shortcut().toString();
if (shortcutText.isEmpty())
{
noShortcut->setChecked(true);
shortcutKeyButton->setText(i18n("None"));
} else
{
customShortcut->setChecked(true);
shortcutKeyButton->setShortcut(action->shortcut(), false);
shortcutKeyButton->setText(shortcutText);
}
//find the container toolbars of this action and add them to the container listbox
toolbarListBox->clear();
int current = 0;
int count = 0;
ToolbarTabWidget *tb = ToolbarTabWidget::ref();
for (int i = 0; i < tb->count(); i++)
{
QString toolbarName = tb->label(i);
QString toolbarId = tb->id(i);
ToolbarEntry *p_toolbar = m_toolbarList[toolbarId];
if (p_toolbar)
{
QDomNode node = p_toolbar->guiClient->domDocument().firstChild().firstChild().firstChild();
while (!node.isNull())
{
if (node.nodeName() == "Action" &&
node.toElement().attribute("name") == el.attribute("name"))
{
toolbarListBox->insertItem(toolbarName);
if (item->parent()->text(0) == toolbarName)
current = count;
count++;
}
node = node.nextSibling();
}
}
}
toolbarListBox->setCurrentItem(current);
toolbarListBox->setSelected(current, true);
toolbarListBox->sort();
//set the detailed settings pages to their defaults
lineTag->clear();
lineClosingTag->clear();
useClosingTag->setChecked(false);
useActionDialog->setChecked(false);
//.........这里部分代码省略.........