diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp index 41624408f6da9eb70a2ea31da9551197ffcbf207..1d9daa06cba19d2e4653b80cd004f2150b215644 100644 --- a/src/plugins/bookmarks/bookmarkmanager.cpp +++ b/src/plugins/bookmarks/bookmarkmanager.cpp @@ -777,9 +777,9 @@ int BookmarkViewFactory::priority() const return 300; } -QString BookmarkViewFactory::id() const +Id BookmarkViewFactory::id() const { - return QLatin1String("Bookmarks"); + return Id("Bookmarks"); } QKeySequence BookmarkViewFactory::activationSequence() const diff --git a/src/plugins/bookmarks/bookmarkmanager.h b/src/plugins/bookmarks/bookmarkmanager.h index d1c4a46179ed97ae19860f997065716c629b50d9..756692496c0febb1dfea94a4b42ef48a4f4190d0 100644 --- a/src/plugins/bookmarks/bookmarkmanager.h +++ b/src/plugins/bookmarks/bookmarkmanager.h @@ -172,7 +172,7 @@ public: BookmarkViewFactory(BookmarkManager *bm); QString displayName() const; int priority() const; - QString id() const; + Core::Id id() const; QKeySequence activationSequence() const; Core::NavigationView createWidget(); private: diff --git a/src/plugins/classview/classviewnavigationwidgetfactory.cpp b/src/plugins/classview/classviewnavigationwidgetfactory.cpp index 4c4ae07f362b63b6a362aefb476e1794fc2b76b1..5ffe2cc77bebf48299c744d80879741e541a0885 100644 --- a/src/plugins/classview/classviewnavigationwidgetfactory.cpp +++ b/src/plugins/classview/classviewnavigationwidgetfactory.cpp @@ -73,9 +73,9 @@ int NavigationWidgetFactory::priority() const return 500; } -QString NavigationWidgetFactory::id() const +Core::Id NavigationWidgetFactory::id() const { - return QLatin1String("Class View"); + return Core::Id("Class View"); } QKeySequence NavigationWidgetFactory::activationSequence() const diff --git a/src/plugins/classview/classviewnavigationwidgetfactory.h b/src/plugins/classview/classviewnavigationwidgetfactory.h index 260ac6742706ca98e8c468b0b238661f9a4caf0e..c2ee5f8fd898a95eea25ba20bb3f2dd5e7863c72 100644 --- a/src/plugins/classview/classviewnavigationwidgetfactory.h +++ b/src/plugins/classview/classviewnavigationwidgetfactory.h @@ -69,7 +69,7 @@ public: int priority() const; //! \implements Core::INavigationWidgetFactory::id - QString id() const; + Core::Id id() const; //! \implements Core::INavigationWidgetFactory::activationSequence QKeySequence activationSequence() const; diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.cpp b/src/plugins/coreplugin/editormanager/openeditorsview.cpp index b8e6e197132a80da79f3e4167f3496ddded24c25..f963c4e4539a23d22c80191a8bb5cb600c1652fb 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsview.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorsview.cpp @@ -233,9 +233,9 @@ int OpenEditorsViewFactory::priority() const return 200; } -QString OpenEditorsViewFactory::id() const +Core::Id OpenEditorsViewFactory::id() const { - return QLatin1String("Open Documents"); + return Core::Id("Open Documents"); } QKeySequence OpenEditorsViewFactory::activationSequence() const diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.h b/src/plugins/coreplugin/editormanager/openeditorsview.h index 361d0b5213027c0d69d3f95a4752b03df3c2f136..2d6c0e20441e4846af34c86e16fa527e9674a904 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsview.h +++ b/src/plugins/coreplugin/editormanager/openeditorsview.h @@ -89,7 +89,7 @@ public: ~OpenEditorsViewFactory(); QString displayName() const; int priority() const; - QString id() const; + Core::Id id() const; QKeySequence activationSequence() const; Core::NavigationView createWidget(); }; diff --git a/src/plugins/coreplugin/inavigationwidgetfactory.cpp b/src/plugins/coreplugin/inavigationwidgetfactory.cpp index f7d1a26f7d55071005816fa963b62dfc2d524bdc..108de0c76a04749178b3b945fe41f4b6af539c8d 100644 --- a/src/plugins/coreplugin/inavigationwidgetfactory.cpp +++ b/src/plugins/coreplugin/inavigationwidgetfactory.cpp @@ -36,14 +36,6 @@ using namespace Core; -INavigationWidgetFactory::INavigationWidgetFactory() -{ -} - -INavigationWidgetFactory::~INavigationWidgetFactory() -{ -} - QKeySequence INavigationWidgetFactory::activationSequence() const { return QKeySequence(); diff --git a/src/plugins/coreplugin/inavigationwidgetfactory.h b/src/plugins/coreplugin/inavigationwidgetfactory.h index 2f89f5529a4c59dae49c3ff96f16d78777ea1738..ed485f0bfb1982a01594f4dfe185d37172262bbd 100644 --- a/src/plugins/coreplugin/inavigationwidgetfactory.h +++ b/src/plugins/coreplugin/inavigationwidgetfactory.h @@ -33,7 +33,8 @@ #ifndef INAVIGATIONWIDGET_H #define INAVIGATIONWIDGET_H -#include <coreplugin/core_global.h> +#include <coreplugin/id.h> + #include <QtCore/QObject> #include <QtCore/QList> @@ -54,13 +55,13 @@ struct NavigationView class CORE_EXPORT INavigationWidgetFactory : public QObject { Q_OBJECT + public: - INavigationWidgetFactory(); - virtual ~INavigationWidgetFactory(); + INavigationWidgetFactory() {} virtual QString displayName() const = 0; virtual int priority() const = 0; - virtual QString id() const = 0; + virtual Id id() const = 0; virtual QKeySequence activationSequence() const; // This design is not optimal, think about it again once we need to extend it // It could be implemented as returning an object which has both the widget diff --git a/src/plugins/coreplugin/navigationsubwidget.cpp b/src/plugins/coreplugin/navigationsubwidget.cpp index 69bf911b66733c8fb8a2fefc0fadf8258aa37433..4bc743711cb8c5bed8cd35db87e60cbcc8ce7da9 100644 --- a/src/plugins/coreplugin/navigationsubwidget.cpp +++ b/src/plugins/coreplugin/navigationsubwidget.cpp @@ -176,8 +176,8 @@ void NavigationSubWidget::restoreSettings() Core::Command *NavigationSubWidget::command(const QString &title) const { - const QHash<QString, Core::Command*> commandMap = m_parentWidget->commandMap(); - QHash<QString, Core::Command*>::const_iterator r = commandMap.find(title); + const QHash<Id, Command *> commandMap = m_parentWidget->commandMap(); + QHash<Id, Command *>::const_iterator r = commandMap.find(Id(title)); if (r != commandMap.end()) return r.value(); return 0; diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp index 98fbfdce720d1fdca7a2345fe779a1417930621d..95640e68ae289ee150c5ca08e9dbdf622b4a8131 100644 --- a/src/plugins/coreplugin/navigationwidget.cpp +++ b/src/plugins/coreplugin/navigationwidget.cpp @@ -139,12 +139,13 @@ void NavigationWidgetPlaceHolder::currentModeAboutToChange(Core::IMode *mode) } } -struct NavigationWidgetPrivate { +struct NavigationWidgetPrivate +{ explicit NavigationWidgetPrivate(QAction *toggleSideBarAction); QList<Internal::NavigationSubWidget *> m_subWidgets; - QHash<QShortcut *, QString> m_shortcutMap; - QHash<QString, Core::Command*> m_commandMap; + QHash<QShortcut *, Core::Id> m_shortcutMap; + QHash<Core::Id, Core::Command *> m_commandMap; QStandardItemModel *m_factoryModel; bool m_shown; @@ -191,7 +192,7 @@ void NavigationWidget::setFactories(const QList<INavigationWidgetFactory *> fact Context navicontext(Core::Constants::C_NAVIGATION_PANE); foreach (INavigationWidgetFactory *factory, factories) { - const QString id = factory->id(); + const Id id = factory->id(); QShortcut *shortcut = new QShortcut(this); shortcut->setWhatsThis(tr("Activate %1 Pane").arg(factory->displayName())); @@ -199,13 +200,13 @@ void NavigationWidget::setFactories(const QList<INavigationWidgetFactory *> fact d->m_shortcutMap.insert(shortcut, id); Command *cmd = am->registerShortcut(shortcut, - Id(QLatin1String("QtCreator.Sidebar.") + id), navicontext); + Id(QLatin1String("QtCreator.Sidebar.") + id.name()), navicontext); cmd->setDefaultKeySequence(factory->activationSequence()); d->m_commandMap.insert(id, cmd); QStandardItem *newRow = new QStandardItem(factory->displayName()); newRow->setData(qVariantFromValue(factory), FactoryObjectRole); - newRow->setData(factory->id(), FactoryIdRole); + newRow->setData(QVariant::fromValue(factory->id()), FactoryIdRole); newRow->setData(factory->priority(), FactoryPriorityRole); d->m_factoryModel->appendRow(newRow); } @@ -266,11 +267,11 @@ Internal::NavigationSubWidget *NavigationWidget::insertSubItem(int position,int void NavigationWidget::activateSubWidget() { QShortcut *original = qobject_cast<QShortcut *>(sender()); - QString id = d->m_shortcutMap[original]; + Id id = d->m_shortcutMap[original]; activateSubWidget(id); } -void NavigationWidget::activateSubWidget(const QString &factoryId) +void NavigationWidget::activateSubWidget(const Id &factoryId) { setShown(true); foreach (Internal::NavigationSubWidget *subWidget, d->m_subWidgets) { @@ -312,7 +313,7 @@ void NavigationWidget::saveSettings(QSettings *settings) QStringList viewIds; for (int i=0; i<d->m_subWidgets.count(); ++i) { d->m_subWidgets.at(i)->saveSettings(); - viewIds.append(d->m_subWidgets.at(i)->factory()->id()); + viewIds.append(d->m_subWidgets.at(i)->factory()->id().toString()); } settings->setValue(QLatin1String("Navigation/Views"), viewIds); settings->setValue(QLatin1String("Navigation/Visible"), isShown()); @@ -343,7 +344,7 @@ void NavigationWidget::restoreSettings(QSettings *settings) int position = 0; foreach (const QString &id, viewIds) { - int index = factoryIndex(id); + int index = factoryIndex(Id(id)); if (index >= 0) { // Only add if the id was actually found! insertSubItem(position, index); @@ -355,7 +356,7 @@ void NavigationWidget::restoreSettings(QSettings *settings) if (d->m_subWidgets.isEmpty()) // Make sure we have at least the projects widget - insertSubItem(0, qMax(0, factoryIndex(QLatin1String("Projects")))); + insertSubItem(0, qMax(0, factoryIndex(Id("Projects")))); setShown(settings->value(QLatin1String("Navigation/Visible"), true).toBool()); @@ -421,17 +422,17 @@ void NavigationWidget::setSuppressed(bool b) NavigationWidgetPlaceHolder::m_current->setVisible(d->m_shown && !d->m_suppressed); } -int NavigationWidget::factoryIndex(const QString &id) +int NavigationWidget::factoryIndex(const Id &id) { for (int row = 0; row < d->m_factoryModel->rowCount(); ++row) { - if (d->m_factoryModel->data(d->m_factoryModel->index(row, 0), FactoryIdRole).toString() == id) { + if (d->m_factoryModel->data(d->m_factoryModel->index(row, 0), FactoryIdRole).value<Core::Id>() == id) { return row; } } return -1; } -QHash<QString, Core::Command*> NavigationWidget::commandMap() const +QHash<Id, Command *> NavigationWidget::commandMap() const { return d->m_commandMap; } diff --git a/src/plugins/coreplugin/navigationwidget.h b/src/plugins/coreplugin/navigationwidget.h index a8ef2db99f7dc818b6b9fea8238792efbd3f7b3f..b54104608b2cf69a91a03af50a7ee70a5fa827c8 100644 --- a/src/plugins/coreplugin/navigationwidget.h +++ b/src/plugins/coreplugin/navigationwidget.h @@ -34,6 +34,7 @@ #define NAVIGATIONWIDGET_H #include <coreplugin/minisplitter.h> +#include <coreplugin/id.h> #include <QtCore/QHash> @@ -92,7 +93,7 @@ public: void saveSettings(QSettings *settings); void restoreSettings(QSettings *settings); - void activateSubWidget(const QString &factoryId); + void activateSubWidget(const Id &factoryId); void closeSubWidgets(); bool isShown() const; @@ -108,7 +109,7 @@ public: // Called from the place holders void placeHolderChanged(NavigationWidgetPlaceHolder *holder); - QHash<QString, Core::Command*> commandMap() const; + QHash<Id, Core::Command *> commandMap() const; QAbstractItemModel *factoryModel() const; protected: @@ -122,7 +123,7 @@ private slots: private: void updateToggleText(); Internal::NavigationSubWidget *insertSubItem(int position, int index); - int factoryIndex(const QString &id); + int factoryIndex(const Id &id); NavigationWidgetPrivate *d; }; diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp index 426fef768f5dbc2ba8c8bed611dfcef1ab2ae48d..d218724e6c51a98330dcf86b033d501762b75515 100644 --- a/src/plugins/cppeditor/cppplugin.cpp +++ b/src/plugins/cppeditor/cppplugin.cpp @@ -416,7 +416,7 @@ void CppPlugin::openTypeHierarchy() CPPEditorWidget *editor = qobject_cast<CPPEditorWidget*>(em->currentEditor()->widget()); if (editor) { Core::NavigationWidget *navigation = Core::NavigationWidget::instance(); - navigation->activateSubWidget(QLatin1String(Constants::TYPE_HIERARCHY_ID)); + navigation->activateSubWidget(Core::Id(Constants::TYPE_HIERARCHY_ID)); emit typeHierarchyRequested(); } } diff --git a/src/plugins/cppeditor/cpptypehierarchy.cpp b/src/plugins/cppeditor/cpptypehierarchy.cpp index aa38b8e64cb5705d4c4ecd5b4b8908935b9b1188..7d43c0ba003990495c92e18a3ef46098a4335a5a 100644 --- a/src/plugins/cppeditor/cpptypehierarchy.cpp +++ b/src/plugins/cppeditor/cpptypehierarchy.cpp @@ -237,9 +237,9 @@ int CppTypeHierarchyFactory::priority() const return Constants::TYPE_HIERARCHY_PRIORITY; } -QString CppTypeHierarchyFactory::id() const +Core::Id CppTypeHierarchyFactory::id() const { - return QLatin1String(Constants::TYPE_HIERARCHY_ID); + return Core::Id(Constants::TYPE_HIERARCHY_ID); } QKeySequence CppTypeHierarchyFactory::activationSequence() const diff --git a/src/plugins/cppeditor/cpptypehierarchy.h b/src/plugins/cppeditor/cpptypehierarchy.h index 4be85f3e7319f3a3393f92910cb805a12ab81280..7545e0f50418118aa5fc403b196014bed876a2a9 100644 --- a/src/plugins/cppeditor/cpptypehierarchy.h +++ b/src/plugins/cppeditor/cpptypehierarchy.h @@ -111,7 +111,7 @@ public: virtual QString displayName() const; virtual int priority() const; - virtual QString id() const; + virtual Core::Id id() const; virtual QKeySequence activationSequence() const; virtual Core::NavigationView createWidget(); }; diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp index 4e3d9bcc93f9bf1e7f899eba697e4de58acd972d..6a87cd23c99ed1a4e1695dc5021a9a40cb686ea2 100644 --- a/src/plugins/projectexplorer/foldernavigationwidget.cpp +++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp @@ -404,9 +404,9 @@ int FolderNavigationWidgetFactory::priority() const return 400; } -QString FolderNavigationWidgetFactory::id() const +Core::Id FolderNavigationWidgetFactory::id() const { - return QLatin1String("File System"); + return "File System"; } QKeySequence FolderNavigationWidgetFactory::activationSequence() const diff --git a/src/plugins/projectexplorer/foldernavigationwidget.h b/src/plugins/projectexplorer/foldernavigationwidget.h index 279e6923319e0522d592b5e5fc5cbede41102f7e..4b65185e9e2da44a29f1d692d5049e6b3d7844d1 100644 --- a/src/plugins/projectexplorer/foldernavigationwidget.h +++ b/src/plugins/projectexplorer/foldernavigationwidget.h @@ -100,7 +100,7 @@ public: QString displayName() const; int priority() const; - QString id() const; + Core::Id id() const; QKeySequence activationSequence() const; Core::NavigationView createWidget(); }; diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 5642a6ab016748b4aa0d174c261303f47d8fc921..c3bebe4350ef296f580ef92c38272b145528dc68 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -407,9 +407,9 @@ int ProjectTreeWidgetFactory::priority() const return 100; } -QString ProjectTreeWidgetFactory::id() const +Core::Id ProjectTreeWidgetFactory::id() const { - return QLatin1String("Projects"); + return Core::Id("Projects"); } QKeySequence ProjectTreeWidgetFactory::activationSequence() const diff --git a/src/plugins/projectexplorer/projecttreewidget.h b/src/plugins/projectexplorer/projecttreewidget.h index 27fdb81ab2287f01b88e70a73a8645ce7985f606..ed0410264759ea1fc8f36e46b58e09a426017965 100644 --- a/src/plugins/projectexplorer/projecttreewidget.h +++ b/src/plugins/projectexplorer/projecttreewidget.h @@ -113,7 +113,7 @@ public: ~ProjectTreeWidgetFactory(); QString displayName() const; int priority() const; - QString id() const; + Core::Id id() const; QKeySequence activationSequence() const; Core::NavigationView createWidget(); void restoreSettings(int position, QWidget *widget); diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index 43cf55df14326ec0a677a4d2d277b66709b11cf0..efa69cfbe7f75ef8e0897ecb53611961cfccb98b 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -668,19 +668,18 @@ void DesignModeWidget::setup() QWidget *fileSystemExplorer = 0; - foreach(Core::INavigationWidgetFactory *factory, factories) - { + foreach (Core::INavigationWidgetFactory *factory, factories) { Core::NavigationView navigationView; navigationView.widget = 0; - if (factory->id() == QLatin1String("Projects")) { + if (factory->id() == Core::Id("Projects")) { navigationView = factory->createWidget(); projectsExplorer = navigationView.widget; projectsExplorer->setWindowTitle(tr("Projects")); - } else if (factory->id() == QLatin1String("File System")) { + } else if (factory->id() == Core::Id("File System")) { navigationView = factory->createWidget(); fileSystemExplorer = navigationView.widget; fileSystemExplorer->setWindowTitle(tr("File System")); - } else if (factory->id() == QLatin1String("Open Documents")) { + } else if (factory->id() == Core::Id("Open Documents")) { navigationView = factory->createWidget(); openDocumentsWidget = navigationView.widget; openDocumentsWidget->setWindowTitle(tr("Open Documents")); diff --git a/src/plugins/texteditor/outlinefactory.cpp b/src/plugins/texteditor/outlinefactory.cpp index 717ad7dd66312079b9bd244b286ce9afa5c3a543..0a960bf0a0a0be84a465b5364d9187f51d334b07 100644 --- a/src/plugins/texteditor/outlinefactory.cpp +++ b/src/plugins/texteditor/outlinefactory.cpp @@ -178,11 +178,6 @@ void OutlineWidgetStack::updateCurrentEditor(Core::IEditor *editor) } } -OutlineFactory::OutlineFactory() : - Core::INavigationWidgetFactory() -{ -} - QList<IOutlineWidgetFactory*> OutlineFactory::widgetFactories() const { return m_factories; @@ -203,9 +198,9 @@ int OutlineFactory::priority() const return 600; } -QString OutlineFactory::id() const +Core::Id OutlineFactory::id() const { - return QLatin1String("Outline"); + return Core::Id("Outline"); } QKeySequence OutlineFactory::activationSequence() const diff --git a/src/plugins/texteditor/outlinefactory.h b/src/plugins/texteditor/outlinefactory.h index d5e8398a71447dff1d5a3dad1cf050f70db88935..4cd953d983568e0ece17874297ce747bd0923ac1 100644 --- a/src/plugins/texteditor/outlinefactory.h +++ b/src/plugins/texteditor/outlinefactory.h @@ -83,7 +83,7 @@ class OutlineFactory : public Core::INavigationWidgetFactory { Q_OBJECT public: - OutlineFactory(); + OutlineFactory() {} QList<IOutlineWidgetFactory*> widgetFactories() const; void setWidgetFactories(QList<IOutlineWidgetFactory*> factories); @@ -91,7 +91,7 @@ public: // from INavigationWidgetFactory virtual QString displayName() const; virtual int priority() const; - virtual QString id() const; + virtual Core::Id id() const; virtual QKeySequence activationSequence() const; virtual Core::NavigationView createWidget(); virtual void saveSettings(int position, QWidget *widget);