From 95aad08aadf6046aa02bbfad4cbcda2d5710001a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Wed, 21 Jan 2009 12:49:20 +0100 Subject: [PATCH 1/2] Some shortcut settings improvements Don't display the useless "Other" category, since the categorization of commands isn't used anywhere (candidate for removal). Filter out accelerator ampersands, since they aren't interesting here and reduce the effectiveness of searching. --- .../actionmanager/actionmanager.cpp | 2 +- .../actionmanager/actionmanager_p.h | 2 +- .../coreplugin/dialogs/shortcutsettings.cpp | 44 ++++++------------- .../coreplugin/dialogs/shortcutsettings.ui | 3 ++ 4 files changed, 19 insertions(+), 32 deletions(-) diff --git a/src/plugins/coreplugin/actionmanager/actionmanager.cpp b/src/plugins/coreplugin/actionmanager/actionmanager.cpp index 9101801ac73..b5a1e5cc0c6 100644 --- a/src/plugins/coreplugin/actionmanager/actionmanager.cpp +++ b/src/plugins/coreplugin/actionmanager/actionmanager.cpp @@ -222,7 +222,7 @@ ActionManagerPrivate::~ActionManagerPrivate() qDeleteAll(m_idContainerMap.values()); } -ActionManagerPrivate* ActionManagerPrivate::instance() +ActionManagerPrivate *ActionManagerPrivate::instance() { return m_instance; } diff --git a/src/plugins/coreplugin/actionmanager/actionmanager_p.h b/src/plugins/coreplugin/actionmanager/actionmanager_p.h index 31513276ec1..f1e106c4bf7 100644 --- a/src/plugins/coreplugin/actionmanager/actionmanager_p.h +++ b/src/plugins/coreplugin/actionmanager/actionmanager_p.h @@ -69,7 +69,7 @@ public: ~ActionManagerPrivate(); void setContext(const QList &context); - static ActionManagerPrivate* instance(); + static ActionManagerPrivate *instance(); void saveSettings(QSettings *settings); QList defaultGroups() const; diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp index 3d51e00b874..b245d5ced59 100644 --- a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp +++ b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp @@ -34,14 +34,13 @@ #include "shortcutsettings.h" #include "ui_shortcutsettings.h" #include "actionmanager_p.h" +#include "actionmanager/command.h" #include "command_p.h" -#include "coreconstants.h" -#include "coreimpl.h" #include "commandsfile.h" +#include "coreconstants.h" #include "filemanager.h" - -#include -#include +#include "icore.h" +#include "uniqueidmanager.h" #include #include @@ -232,11 +231,10 @@ void ShortcutSettings::removeKeySequence() void ShortcutSettings::importAction() { - UniqueIDManager *uidm = - CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *uidm = UniqueIDManager::instance(); QString fileName = QFileDialog::getOpenFileName(0, tr("Import Keyboard Mapping Scheme"), - CoreImpl::instance()->resourcePath() + "/schemes/", + ICore::instance()->resourcePath() + "/schemes/", tr("Keyboard Mapping Scheme (*.kms)")); if (!fileName.isEmpty()) { CommandsFile cf(fileName); @@ -266,9 +264,9 @@ void ShortcutSettings::defaultAction() void ShortcutSettings::exportAction() { - QString fileName = CoreImpl::instance()->fileManager()->getSaveFileNameWithExtension( + QString fileName = ICore::instance()->fileManager()->getSaveFileNameWithExtension( tr("Export Keyboard Mapping Scheme"), - CoreImpl::instance()->resourcePath() + "/schemes/", + ICore::instance()->resourcePath() + "/schemes/", tr("Keyboard Mapping Scheme (*.kms)"), ".kms"); if (!fileName.isEmpty()) { @@ -279,16 +277,11 @@ void ShortcutSettings::exportAction() void ShortcutSettings::initialize() { - QMap categories; - m_am = ActionManagerPrivate::instance(); - UniqueIDManager *uidm = - CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *uidm = UniqueIDManager::instance(); - QList cmds = m_am->commands(); - for (int i = 0; i < cmds.size(); ++i) { - CommandPrivate *c = cmds.at(i); - if (c->hasAttribute(CommandPrivate::CA_NonConfigureable)) + foreach (Command *c, m_am->commands()) { + if (c->hasAttribute(Command::CA_NonConfigureable)) continue; if (c->action() && c->action()->isSeparator()) continue; @@ -296,24 +289,15 @@ void ShortcutSettings::initialize() QTreeWidgetItem *item = 0; ShortcutItem *s = new ShortcutItem; m_scitems << s; - if (c->category().isEmpty()) { - item = new QTreeWidgetItem(m_page->commandList); - } else { - if (!categories.contains(c->category())) { - QTreeWidgetItem *cat = new QTreeWidgetItem(m_page->commandList); - cat->setText(0, c->category()); - categories.insert(c->category(), cat); - cat->setExpanded(true); - } - item = new QTreeWidgetItem(categories.value(c->category())); - } + item = new QTreeWidgetItem(m_page->commandList); s->m_cmd = c; s->m_item = item; item->setText(0, uidm->stringForUniqueIdentifier(c->id())); if (c->action()) { - QString text = c->hasAttribute(CommandPrivate::CA_UpdateText) && !c->defaultText().isNull() ? c->defaultText() : c->action()->text(); + QString text = c->hasAttribute(Command::CA_UpdateText) && !c->defaultText().isNull() ? c->defaultText() : c->action()->text(); + text.remove(QRegExp("&(?!&)")); s->m_key = c->action()->shortcut(); item->setText(1, text); } else { diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.ui b/src/plugins/coreplugin/dialogs/shortcutsettings.ui index f1cc3f795a5..867b021f94e 100644 --- a/src/plugins/coreplugin/dialogs/shortcutsettings.ui +++ b/src/plugins/coreplugin/dialogs/shortcutsettings.ui @@ -36,6 +36,9 @@ + + false + true From 5b50ffc20db6fe13ab4926d706bb40e3ddc08cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Wed, 21 Jan 2009 13:33:58 +0100 Subject: [PATCH 2/2] Cleaned up usages of CoreImpl::instance The instance method has been moved to ICore, so there is generally no need to include coreimpl.h anymore. Many objects accessed through this core instance also had their own static instance methods. --- .../actionmanager/actioncontainer.cpp | 11 ++++------- .../coreplugin/actionmanager/commandsfile.cpp | 5 ++--- .../coreplugin/dialogs/settingsdialog.cpp | 1 - src/plugins/coreplugin/editmode.cpp | 7 +++---- .../coreplugin/editormanager/editormanager.cpp | 17 +++++++++-------- .../editormanager/openeditorsview.cpp | 4 ++-- .../editormanager/stackededitorgroup.cpp | 3 +-- src/plugins/coreplugin/mainwindow.cpp | 2 +- src/plugins/coreplugin/modemanager.cpp | 1 - .../progressmanager/progressmanager.cpp | 5 ++--- src/plugins/coreplugin/uniqueidmanager.h | 2 +- src/plugins/coreplugin/versiondialog.cpp | 4 ++-- src/plugins/coreplugin/welcomemode.cpp | 5 ++--- 13 files changed, 29 insertions(+), 38 deletions(-) diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp index bf2d49826c0..d8c7a1930c4 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp +++ b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp @@ -35,7 +35,6 @@ #include "actionmanager_p.h" #include "command_p.h" -#include "coreimpl.h" #include "coreconstants.h" #include "uniqueidmanager.h" @@ -150,15 +149,13 @@ bool ActionContainerPrivate::hasState(ContainerState state) const void ActionContainerPrivate::appendGroup(const QString &group) { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); - int gid = idmanager->uniqueIdentifier(group); + int gid = UniqueIDManager::instance()->uniqueIdentifier(group); m_groups << gid; } QAction *ActionContainerPrivate::insertLocation(const QString &group) const { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); - int grpid = idmanager->uniqueIdentifier(group); + int grpid = UniqueIDManager::instance()->uniqueIdentifier(group); int prevKey = 0; int pos = ((grpid << 16) | 0xFFFF); return beforeAction(pos, &prevKey); @@ -181,7 +178,7 @@ void ActionContainerPrivate::addAction(Command *action, const QString &group) } a->setStateFlags(a->stateFlags() | CommandPrivate::CS_Initialized); } else { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *idmanager = UniqueIDManager::instance(); int grpid = idmanager->uniqueIdentifier(Constants::G_DEFAULT_TWO); if (!group.isEmpty()) grpid = idmanager->uniqueIdentifier(group); @@ -208,7 +205,7 @@ void ActionContainerPrivate::addMenu(ActionContainer *menu, const QString &group } mc->setState(ActionContainerPrivate::CS_Initialized); } else { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *idmanager = UniqueIDManager::instance(); int grpid = idmanager->uniqueIdentifier(Constants::G_DEFAULT_TWO); if (!group.isEmpty()) grpid = idmanager->uniqueIdentifier(group); diff --git a/src/plugins/coreplugin/actionmanager/commandsfile.cpp b/src/plugins/coreplugin/actionmanager/commandsfile.cpp index abdecf43660..85d7d172a1d 100644 --- a/src/plugins/coreplugin/actionmanager/commandsfile.cpp +++ b/src/plugins/coreplugin/actionmanager/commandsfile.cpp @@ -31,7 +31,6 @@ ** ***************************************************************************/ -#include "coreimpl.h" #include "commandsfile.h" #include "shortcutsettings.h" #include "command_p.h" @@ -100,7 +99,7 @@ QMap CommandsFile::importCommands() const */ bool CommandsFile::exportCommands(const QList &items) { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *idmanager = UniqueIDManager::instance(); QFile file(m_filename); if (!file.open(QIODevice::WriteOnly)) @@ -110,7 +109,7 @@ bool CommandsFile::exportCommands(const QList &items) QDomElement root = doc.createElement("mapping"); doc.appendChild(root); - for (int i=0; istringForUniqueIdentifier(item->m_cmd->id())); diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index 547c0f2d40d..7e48417d2ce 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -32,7 +32,6 @@ ***************************************************************************/ #include "settingsdialog.h" -#include "coreimpl.h" #include diff --git a/src/plugins/coreplugin/editmode.cpp b/src/plugins/coreplugin/editmode.cpp index dacb31e355c..e5de7124485 100644 --- a/src/plugins/coreplugin/editmode.cpp +++ b/src/plugins/coreplugin/editmode.cpp @@ -34,7 +34,6 @@ #include "editmode.h" #include "editormanager.h" #include "coreconstants.h" -#include "coreimpl.h" #include "modemanager.h" #include "uniqueidmanager.h" #include "minisplitter.h" @@ -122,9 +121,9 @@ const char* EditMode::uniqueModeName() const QList EditMode::context() const { static QList contexts = QList() << - CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_EDIT_MODE) << - CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER) << - CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_NAVIGATION_PANE); + UniqueIDManager::instance()->uniqueIdentifier(Constants::C_EDIT_MODE) << + UniqueIDManager::instance()->uniqueIdentifier(Constants::C_EDITORMANAGER) << + UniqueIDManager::instance()->uniqueIdentifier(Constants::C_NAVIGATION_PANE); return contexts; } diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 5b8bee111e9..d3aac99cb5d 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -32,19 +32,19 @@ ***************************************************************************/ #include "editormanager.h" +#include "editorgroup.h" #include "editorsplitter.h" +#include "openeditorsview.h" #include "openeditorswindow.h" #include "openwithdialog.h" #include "filemanager.h" -#include "tabpositionindicator.h" -#include "saveitemsdialog.h" -#include "vcsmanager.h" +#include "icore.h" #include "iversioncontrol.h" -#include "openeditorsview.h" -#include "editorgroup.h" #include "mimedatabase.h" +#include "saveitemsdialog.h" +#include "tabpositionindicator.h" +#include "vcsmanager.h" -#include #include #include #include @@ -68,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -649,7 +650,7 @@ bool EditorManager::closeEditors(const QList editorsToClose, bool askA //ask whether to save modified files if (askAboutModifiedEditors) { bool cancelled = false; - QList list = CoreImpl::instance()->fileManager()-> + QList list = ICore::instance()->fileManager()-> saveModifiedFiles(filesForEditors(acceptedEditors), &cancelled); if (cancelled) return false; @@ -1549,7 +1550,7 @@ void EditorManager::openInExternalEditor() return; if (editor->file()->isModified()) { bool cancelled = false; - QList list = CoreImpl::instance()->fileManager()-> + QList list = ICore::instance()->fileManager()-> saveModifiedFiles(QList() << editor->file(), &cancelled); if (cancelled) return; diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.cpp b/src/plugins/coreplugin/editormanager/openeditorsview.cpp index 63950714942..77e44faaa05 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsview.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorsview.cpp @@ -34,7 +34,7 @@ #include "openeditorsview.h" #include "editorgroup.h" #include "editormanager.h" -#include "coreimpl.h" +#include "icore.h" #include #include @@ -218,7 +218,7 @@ void OpenEditorsWidget::closeEditors() selectedEditors.append(item->data(0, Qt::UserRole).value()); selectedFiles.append(item->data(0, Qt::UserRole).value()->file()); } - ICore *core = CoreImpl::instance(); + ICore *core = ICore::instance(); bool cancelled = false; core->fileManager()->saveModifiedFiles(selectedFiles, &cancelled); if (cancelled) diff --git a/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp b/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp index fee513e2e7b..08e63b2773e 100644 --- a/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp +++ b/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp @@ -33,7 +33,6 @@ #include "stackededitorgroup.h" #include "editormanager.h" -#include "coreimpl.h" #include @@ -355,7 +354,7 @@ QList StackedEditorGroup::editorsInNaturalOrder() const void StackedEditorGroup::makeEditorWritable() { - CoreImpl::instance()->editorManager()->makeEditorWritable(currentEditor()); + EditorManager::instance()->makeEditorWritable(currentEditor()); } void StackedEditorGroup::listSelectionChanged(int index) diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 04ce8a346f4..93e2cb0b991 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -94,7 +94,7 @@ extern "C" void handleSigInt(int sig) { Q_UNUSED(sig); - Core::Internal::CoreImpl::instance()->exit(); + Core::ICore::instance()->exit(); qDebug() << "SIGINT caught. Shutting down."; } #endif diff --git a/src/plugins/coreplugin/modemanager.cpp b/src/plugins/coreplugin/modemanager.cpp index 24a0b6eac37..64006ff7236 100644 --- a/src/plugins/coreplugin/modemanager.cpp +++ b/src/plugins/coreplugin/modemanager.cpp @@ -42,7 +42,6 @@ #include #include #include -#include #include #include diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.cpp b/src/plugins/coreplugin/progressmanager/progressmanager.cpp index 968d2bb9fc8..392e8aafa8d 100644 --- a/src/plugins/coreplugin/progressmanager/progressmanager.cpp +++ b/src/plugins/coreplugin/progressmanager/progressmanager.cpp @@ -33,10 +33,9 @@ #include "progressmanager_p.h" #include "progressview.h" -#include "coreimpl.h" #include "baseview.h" - #include "coreconstants.h" +#include "icore.h" #include "uniqueidmanager.h" #include @@ -48,7 +47,7 @@ ProgressManagerPrivate::ProgressManagerPrivate(QObject *parent) : ProgressManager(parent) { m_progressView = new ProgressView; - ICore *core = CoreImpl::instance(); + ICore *core = ICore::instance(); connect(core, SIGNAL(coreAboutToClose()), this, SLOT(cancelAllRunningTasks())); } diff --git a/src/plugins/coreplugin/uniqueidmanager.h b/src/plugins/coreplugin/uniqueidmanager.h index 0a8ed6fcd07..eff119762d7 100644 --- a/src/plugins/coreplugin/uniqueidmanager.h +++ b/src/plugins/coreplugin/uniqueidmanager.h @@ -47,7 +47,7 @@ public: UniqueIDManager(); ~UniqueIDManager(); - static UniqueIDManager* instance() { return m_instance; } + static UniqueIDManager *instance() { return m_instance; } bool hasUniqueIdentifier(const QString &id) const; int uniqueIdentifier(const QString &id); diff --git a/src/plugins/coreplugin/versiondialog.cpp b/src/plugins/coreplugin/versiondialog.cpp index a61e29e50d7..5ce821a8147 100644 --- a/src/plugins/coreplugin/versiondialog.cpp +++ b/src/plugins/coreplugin/versiondialog.cpp @@ -34,7 +34,7 @@ #include "versiondialog.h" #include "coreconstants.h" -#include "coreimpl.h" +#include "icore.h" #include @@ -121,7 +121,7 @@ void VersionDialog::popupLicense() layout->addWidget(buttonBox); // Read file into string - ICore * core = CoreImpl::instance(); + ICore *core = ICore::instance(); QTC_ASSERT(core, return); QString fileName = core->resourcePath() + "/license.txt"; QFile file(fileName); diff --git a/src/plugins/coreplugin/welcomemode.cpp b/src/plugins/coreplugin/welcomemode.cpp index ee66ac7f33c..7cd17e3ddcd 100644 --- a/src/plugins/coreplugin/welcomemode.cpp +++ b/src/plugins/coreplugin/welcomemode.cpp @@ -34,7 +34,6 @@ #include "welcomemode.h" #include "coreconstants.h" #include "uniqueidmanager.h" -#include "coreimpl.h" #include "modemanager.h" #if !defined(QT_NO_WEBKIT) @@ -193,7 +192,7 @@ const char* WelcomeMode::uniqueModeName() const QList WelcomeMode::context() const { static QList contexts = QList() - << CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_WELCOME_MODE); + << UniqueIDManager::instance()->uniqueIdentifier(Constants::C_WELCOME_MODE); return contexts; } @@ -250,7 +249,7 @@ void WelcomeMode::updateWelcomePage(const WelcomePageData &welcomePageData) void WelcomeMode::linkClicked(const QUrl &url) { QString scheme = url.scheme(); - Core::ModeManager *modeManager = CoreImpl::instance()->modeManager(); + Core::ModeManager *modeManager = ModeManager::instance(); if (scheme.startsWith(QLatin1String("gh"))) { QString s = url.toString(QUrl::RemoveScheme); if (scheme == QLatin1String("gh")) {