diff options
author | Eike Ziller <eike.ziller@qt.io> | 2023-09-13 15:36:07 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2023-09-18 10:14:42 +0000 |
commit | 053c6253b84db1df5380bfecf6f7e632b0abd5ed (patch) | |
tree | 8aca49b85a8cde0068742ccef3f4f8111279209c | |
parent | 409a4c972a01caa487a10cfd0997ab5d7ac0fbc5 (diff) |
OutputPane: Add an id() for the settings
It was using the displayName for the key in the settings (visibility and
shortcut), which is annoying when changing the language.
Change-Id: Iffa784347c59389599c90f468dcba15834599c39
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
-rw-r--r-- | src/plugins/autotest/testresultspane.cpp | 1 | ||||
-rw-r--r-- | src/plugins/axivion/axivionoutputpane.cpp | 1 | ||||
-rw-r--r-- | src/plugins/coreplugin/find/searchresultwindow.cpp | 1 | ||||
-rw-r--r-- | src/plugins/coreplugin/ioutputpane.h | 3 | ||||
-rw-r--r-- | src/plugins/coreplugin/messageoutputwindow.cpp | 1 | ||||
-rw-r--r-- | src/plugins/coreplugin/outputpanemanager.cpp | 21 | ||||
-rw-r--r-- | src/plugins/debugger/console/console.cpp | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/appoutputpane.cpp | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/compileoutputwindow.cpp | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/taskwindow.cpp | 1 | ||||
-rw-r--r-- | src/plugins/serialterminal/serialoutputpane.cpp | 1 | ||||
-rw-r--r-- | src/plugins/squish/squishoutputpane.cpp | 1 | ||||
-rw-r--r-- | src/plugins/terminal/terminalpane.cpp | 1 | ||||
-rw-r--r-- | src/plugins/todo/todooutputpane.cpp | 1 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsoutputwindow.cpp | 1 |
15 files changed, 34 insertions, 3 deletions
diff --git a/src/plugins/autotest/testresultspane.cpp b/src/plugins/autotest/testresultspane.cpp index 90f675bc92..43dce00ed9 100644 --- a/src/plugins/autotest/testresultspane.cpp +++ b/src/plugins/autotest/testresultspane.cpp @@ -74,6 +74,7 @@ TestResultsPane::TestResultsPane(QObject *parent) : IOutputPane(parent), m_context(new IContext(this)) { + setId("TestResults"); setDisplayName(Tr::tr("Test Results")); m_outputWidget = new QStackedWidget; QWidget *visualOutputWidget = new QWidget; diff --git a/src/plugins/axivion/axivionoutputpane.cpp b/src/plugins/axivion/axivionoutputpane.cpp index 11937b2060..c961501fa2 100644 --- a/src/plugins/axivion/axivionoutputpane.cpp +++ b/src/plugins/axivion/axivionoutputpane.cpp @@ -170,6 +170,7 @@ void DashboardWidget::updateUi() AxivionOutputPane::AxivionOutputPane(QObject *parent) : Core::IOutputPane(parent) { + setId("Axivion"); setDisplayName(Tr::tr("Axivion")); m_outputWidget = new QStackedWidget; diff --git a/src/plugins/coreplugin/find/searchresultwindow.cpp b/src/plugins/coreplugin/find/searchresultwindow.cpp index 48ed8b875e..c7ff84b3ee 100644 --- a/src/plugins/coreplugin/find/searchresultwindow.cpp +++ b/src/plugins/coreplugin/find/searchresultwindow.cpp @@ -363,6 +363,7 @@ SearchResultWindow *SearchResultWindow::m_instance = nullptr; SearchResultWindow::SearchResultWindow(QWidget *newSearchPanel) : d(new SearchResultWindowPrivate(this, newSearchPanel)) { + setId("SearchResults"); setDisplayName(Tr::tr("Search Results")); m_instance = this; readSettings(); diff --git a/src/plugins/coreplugin/ioutputpane.h b/src/plugins/coreplugin/ioutputpane.h index 4521456b3d..ff03386650 100644 --- a/src/plugins/coreplugin/ioutputpane.h +++ b/src/plugins/coreplugin/ioutputpane.h @@ -33,6 +33,7 @@ public: virtual QWidget *outputWidget(QWidget *parent) = 0; virtual QList<QWidget *> toolBarWidgets() const; + Utils::Id id() const; QString displayName() const; virtual const QList<OutputWindow *> outputWindows() const { return {}; } virtual void ensureWindowVisible(OutputWindow *) { } @@ -81,6 +82,7 @@ signals: void fontChanged(const QFont &font); protected: + void setId(const Utils::Id &id); void setDisplayName(const QString &name); void setupFilterUi(const Utils::Key &historyKey); @@ -106,6 +108,7 @@ private: Utils::Id filterCaseSensitivityActionId() const; Utils::Id filterInvertedActionId() const; + Utils::Id m_id; QString m_displayName; Core::CommandButton * const m_zoomInButton; Core::CommandButton * const m_zoomOutButton; diff --git a/src/plugins/coreplugin/messageoutputwindow.cpp b/src/plugins/coreplugin/messageoutputwindow.cpp index c33fdfe1e4..7ee6e6b1a5 100644 --- a/src/plugins/coreplugin/messageoutputwindow.cpp +++ b/src/plugins/coreplugin/messageoutputwindow.cpp @@ -20,6 +20,7 @@ const char zoomSettingsKey[] = "Core/MessageOutput/Zoom"; MessageOutputWindow::MessageOutputWindow() { + setId("GeneralMessages"); setDisplayName(Tr::tr("General Messages")); m_widget = new OutputWindow(Context(Constants::C_GENERAL_OUTPUT_PANE), zoomSettingsKey); m_widget->setReadOnly(true); diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp index 3d6cf74cee..7bb9964ff3 100644 --- a/src/plugins/coreplugin/outputpanemanager.cpp +++ b/src/plugins/coreplugin/outputpanemanager.cpp @@ -104,6 +104,23 @@ QList<QWidget *> IOutputPane::toolBarWidgets() const } /*! + Returns the ID of the output pane. +*/ +Id IOutputPane::id() const +{ + return m_id; +} + +/*! + Sets the ID of the output pane to \a id. + This is used for persisting the visibility state. +*/ +void IOutputPane::setId(const Utils::Id &id) +{ + m_id = id; +} + +/*! Returns the translated display name of the output pane. */ QString IOutputPane::displayName() const @@ -481,9 +498,7 @@ void OutputPaneManager::initialize() minTitleWidth = qMax(minTitleWidth, titleFm.horizontalAdvance(outPane->displayName())); - QString suffix = outPane->displayName().simplified(); - suffix.remove(QLatin1Char(' ')); - data.id = baseId.withSuffix(suffix); + data.id = baseId.withSuffix(outPane->id().toString()); data.action = new QAction(outPane->displayName(), m_instance); Command *cmd = ActionManager::registerAction(data.action, data.id); diff --git a/src/plugins/debugger/console/console.cpp b/src/plugins/debugger/console/console.cpp index 6ba7bd3d91..0eeac32155 100644 --- a/src/plugins/debugger/console/console.cpp +++ b/src/plugins/debugger/console/console.cpp @@ -37,6 +37,7 @@ namespace Debugger::Internal { Console::Console() { + setId("QMLDebuggerConsole"); setDisplayName(Tr::tr("QML Debugger Console")); m_consoleItemModel = new ConsoleItemModel(this); diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp index 5c1143f40c..ad4eb326ed 100644 --- a/src/plugins/projectexplorer/appoutputpane.cpp +++ b/src/plugins/projectexplorer/appoutputpane.cpp @@ -152,6 +152,7 @@ AppOutputPane::AppOutputPane() : Tr::tr("Show the output that generated this issue in Application Output."), Tr::tr("A"))) { + setId("ApplicationOutput"); setDisplayName(Tr::tr("Application Output")); ExtensionSystem::PluginManager::addObject(m_handler); diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp index 159cb8f166..1cd8d9a233 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.cpp +++ b/src/plugins/projectexplorer/compileoutputwindow.cpp @@ -50,6 +50,7 @@ CompileOutputWindow::CompileOutputWindow(QAction *cancelBuildAction) : m_cancelBuildButton(new QToolButton), m_settingsButton(new QToolButton) { + setId("CompileOutput"); setDisplayName(QCoreApplication::translate("QtC::ProjectExplorer", "Compile Output")); Core::Context context(C_COMPILE_OUTPUT); m_outputWindow = new Core::OutputWindow(context, SETTINGS_KEY); diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index cd028e0c8b..dc25997500 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -168,6 +168,7 @@ static QToolButton *createFilterButton(const QIcon &icon, const QString &toolTip TaskWindow::TaskWindow() : d(std::make_unique<TaskWindowPrivate>()) { + setId("Issues"); setDisplayName(Tr::tr("Issues")); d->m_model = new Internal::TaskModel(this); d->m_filter = new Internal::TaskFilterModel(d->m_model); diff --git a/src/plugins/serialterminal/serialoutputpane.cpp b/src/plugins/serialterminal/serialoutputpane.cpp index 63a34d1ce1..fd2dfb39ff 100644 --- a/src/plugins/serialterminal/serialoutputpane.cpp +++ b/src/plugins/serialterminal/serialoutputpane.cpp @@ -120,6 +120,7 @@ SerialOutputPane::SerialOutputPane(Settings &settings) : m_closeAllTabsAction(new QAction(Tr::tr("Close All Tabs"), this)), m_closeOtherTabsAction(new QAction(Tr::tr("Close Other Tabs"), this)) { + setId("Serial Terminal"); setDisplayName(Tr::tr(Constants::OUTPUT_PANE_TITLE)); createToolButtons(); diff --git a/src/plugins/squish/squishoutputpane.cpp b/src/plugins/squish/squishoutputpane.cpp index 54704fc062..55612f588c 100644 --- a/src/plugins/squish/squishoutputpane.cpp +++ b/src/plugins/squish/squishoutputpane.cpp @@ -28,6 +28,7 @@ static SquishOutputPane *m_instance = nullptr; SquishOutputPane::SquishOutputPane() { + setId("Squish"); setDisplayName(Tr::tr("Squish")); m_instance = this; diff --git a/src/plugins/terminal/terminalpane.cpp b/src/plugins/terminal/terminalpane.cpp index 0a8af29751..5f1ab15723 100644 --- a/src/plugins/terminal/terminalpane.cpp +++ b/src/plugins/terminal/terminalpane.cpp @@ -40,6 +40,7 @@ TerminalPane::TerminalPane(QObject *parent) : IOutputPane(parent) , m_selfContext("Terminal.Pane") { + setId("Terminal"); setDisplayName(Tr::tr("Terminal")); setupContext(m_selfContext, &m_tabWidget); setZoomButtonsEnabled(true); diff --git a/src/plugins/todo/todooutputpane.cpp b/src/plugins/todo/todooutputpane.cpp index ff48103383..5a656a541d 100644 --- a/src/plugins/todo/todooutputpane.cpp +++ b/src/plugins/todo/todooutputpane.cpp @@ -26,6 +26,7 @@ TodoOutputPane::TodoOutputPane(TodoItemsModel *todoItemsModel, const Settings *s m_todoItemsModel(todoItemsModel), m_settings(settings) { + setId("To-DoEntries"); setDisplayName(Tr::tr("To-Do Entries")); createTreeView(); createScopeButtons(); diff --git a/src/plugins/vcsbase/vcsoutputwindow.cpp b/src/plugins/vcsbase/vcsoutputwindow.cpp index 43396cd1fe..ea07ccf9d6 100644 --- a/src/plugins/vcsbase/vcsoutputwindow.cpp +++ b/src/plugins/vcsbase/vcsoutputwindow.cpp @@ -283,6 +283,7 @@ static VcsOutputWindowPrivate *d = nullptr; VcsOutputWindow::VcsOutputWindow() { + setId("VersionControl"); setDisplayName(Tr::tr("Version Control")); d = new VcsOutputWindowPrivate; Q_ASSERT(d->passwordRegExp.isValid()); |