From 400ada2daae9051c7479e7e4818d6b866ad5ed13 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 9 Feb 2022 18:00:59 +0100 Subject: [PATCH] ProjectExplorer: Dis-ambiguate issues pane's "show output" action Amends 08a86169db. Fixes: QTCREATORBUG-27031 Change-Id: Ie6d214673f6c1c52aab1a035c84a7381f9965588 Reviewed-by: Qt CI Bot Reviewed-by: Reviewed-by: hjk --- src/plugins/projectexplorer/appoutputpane.cpp | 5 ++++- .../projectexplorer/compileoutputwindow.cpp | 5 ++++- .../projectexplorer/showoutputtaskhandler.cpp | 16 +++++++++++----- .../projectexplorer/showoutputtaskhandler.h | 6 +++++- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp index 4920f771571..076fb1c8953 100644 --- a/src/plugins/projectexplorer/appoutputpane.cpp +++ b/src/plugins/projectexplorer/appoutputpane.cpp @@ -172,7 +172,10 @@ AppOutputPane::AppOutputPane() : m_attachButton(new QToolButton), m_settingsButton(new QToolButton), m_formatterWidget(new QWidget), - m_handler(new ShowOutputTaskHandler(this)) + m_handler(new ShowOutputTaskHandler(this, + tr("Show &App Output"), + tr("Show the output that generated this issue in the application output window"), + tr("A"))) { ExtensionSystem::PluginManager::addObject(m_handler); diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp index 839a1d25469..a51397bd256 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.cpp +++ b/src/plugins/projectexplorer/compileoutputwindow.cpp @@ -116,7 +116,10 @@ CompileOutputWindow::CompileOutputWindow(QAction *cancelBuildAction) : qRegisterMetaType("QTextCharFormat"); - m_handler = new ShowOutputTaskHandler(this); + m_handler = new ShowOutputTaskHandler(this, + tr("Show Compile &Output"), + tr("Show the output that generated this issue in the compile output window"), + tr("O")); ExtensionSystem::PluginManager::addObject(m_handler); setupContext(C_COMPILE_OUTPUT, m_outputWindow); loadSettings(); diff --git a/src/plugins/projectexplorer/showoutputtaskhandler.cpp b/src/plugins/projectexplorer/showoutputtaskhandler.cpp index 8190cd7431b..592ab6e8dab 100644 --- a/src/plugins/projectexplorer/showoutputtaskhandler.cpp +++ b/src/plugins/projectexplorer/showoutputtaskhandler.cpp @@ -30,15 +30,19 @@ #include #include #include +#include #include namespace ProjectExplorer { namespace Internal { -ShowOutputTaskHandler::ShowOutputTaskHandler(Core::IOutputPane *window) : m_window(window) +ShowOutputTaskHandler::ShowOutputTaskHandler(Core::IOutputPane *window, const QString &text, + const QString &tooltip, const QString &shortcut) + : m_window(window), m_text(text), m_tooltip(tooltip), m_shortcut(shortcut) { - Q_ASSERT(m_window); + QTC_CHECK(m_window); + QTC_CHECK(!m_text.isEmpty()); } bool ShowOutputTaskHandler::canHandle(const Task &task) const @@ -64,9 +68,11 @@ void ShowOutputTaskHandler::handle(const Task &task) QAction *ShowOutputTaskHandler::createAction(QObject *parent) const { - QAction *outputAction = new QAction(tr("Show &Output"), parent); - outputAction->setToolTip(tr("Show output generating this issue.")); - outputAction->setShortcut(QKeySequence(tr("O"))); + QAction * const outputAction = new QAction(m_text, parent); + if (!m_tooltip.isEmpty()) + outputAction->setToolTip(m_tooltip); + if (!m_shortcut.isEmpty()) + outputAction->setShortcut(QKeySequence(m_shortcut)); outputAction->setShortcutContext(Qt::WidgetWithChildrenShortcut); return outputAction; } diff --git a/src/plugins/projectexplorer/showoutputtaskhandler.h b/src/plugins/projectexplorer/showoutputtaskhandler.h index 0dd70f7f10d..b30f63388d7 100644 --- a/src/plugins/projectexplorer/showoutputtaskhandler.h +++ b/src/plugins/projectexplorer/showoutputtaskhandler.h @@ -37,7 +37,8 @@ class ShowOutputTaskHandler : public ITaskHandler Q_OBJECT public: - explicit ShowOutputTaskHandler(Core::IOutputPane *window); + explicit ShowOutputTaskHandler(Core::IOutputPane *window, const QString &text, + const QString &tooltip, const QString &shortcut); bool canHandle(const Task &) const override; void handle(const Task &task) override; @@ -45,6 +46,9 @@ public: private: Core::IOutputPane * const m_window; + const QString m_text; + const QString m_tooltip; + const QString m_shortcut; }; } // namespace Internal