bool CKeyBindings::RemoveCommandFromList(ActionList& al, const std::string& command) { bool success = false; ActionList::iterator it = al.begin(); while (it != al.end()) { if (it->command == command) { it = al.erase(it); success = true; } else { ++it; } } return success; }
ToolBarManager::ToolBarManager(QMainWindow *configureableMainWindow, QWidget *parent, QMenu *toolBarMenu, const QDesignerActions *actions, const QList<QToolBar *> &toolbars, const QList<QDesignerToolWindow*> &toolWindows) : QObject(parent), m_configureableMainWindow(configureableMainWindow), m_parent(parent), m_toolBarMenu(toolBarMenu), m_manager(new QtToolBarManager(this)), m_configureAction(new QAction(tr("Configure Toolbars..."), this)), m_toolbars(toolbars) { m_configureAction->setMenuRole(QAction::NoRole); m_configureAction->setObjectName(QLatin1String("__qt_configure_tool_bars_action")); connect(m_configureAction, SIGNAL(triggered()), this, SLOT(configureToolBars())); m_manager->setMainWindow(configureableMainWindow); foreach(QToolBar *tb, m_toolbars) { const QString title = tb->windowTitle(); m_manager->addToolBar(tb, title); addActionsToToolBarManager(tb->actions(), title, m_manager); } addActionsToToolBarManager(actions->windowActions()->actions(), tr("Window"), m_manager); addActionsToToolBarManager(actions->helpActions()->actions(), tr("Help"), m_manager); // Filter out the device profile preview actions which have int data(). ActionList previewActions = actions->styleActions()->actions(); ActionList::iterator it = previewActions.begin(); for ( ; (*it)->isSeparator() || (*it)->data().type() == QVariant::Int; ++it) ; previewActions.erase(previewActions.begin(), it); addActionsToToolBarManager(previewActions, tr("Style"), m_manager); const QString dockTitle = tr("Dock views"); foreach (QDesignerToolWindow *tw, toolWindows) { if (QAction *action = tw->action()) m_manager->addAction(action, dockTitle); } m_manager->addAction(m_configureAction, tr("Toolbars")); updateToolBarMenu(); }