From 765f518de35ae5d546a8fd9d9e36b7f3ad4ca103 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 2 Feb 2021 16:24:21 +0100 Subject: [PATCH] TextEditor: Support tooltips for buttons in text mark tooltips In case users don't find the icon self-explanatory. Task-number: QTCREATORBUG-25150 Change-Id: I481b1ea7f510f065f83badcb91e127ac1c81f5a1 Reviewed-by: David Schulz Reviewed-by: Alessandro Portale --- src/plugins/clangcodemodel/clangtextmark.cpp | 2 ++ src/plugins/clangtools/diagnosticmark.cpp | 1 + src/plugins/texteditor/textmark.cpp | 2 ++ src/plugins/texteditor/textmark.h | 2 ++ 4 files changed, 7 insertions(+) diff --git a/src/plugins/clangcodemodel/clangtextmark.cpp b/src/plugins/clangcodemodel/clangtextmark.cpp index 15fb29f3afa..f3a5d209ae4 100644 --- a/src/plugins/clangcodemodel/clangtextmark.cpp +++ b/src/plugins/clangcodemodel/clangtextmark.cpp @@ -237,6 +237,7 @@ ClangTextMark::ClangTextMark(const FilePath &fileName, QVector actions; QAction *action = new QAction(); action->setIcon(QIcon::fromTheme("edit-copy", Icons::COPY.icon())); + action->setToolTip(tr("Copy to Clipboard")); QObject::connect(action, &QAction::triggered, [diagnostic]() { const QString text = ClangDiagnosticWidget::createText({diagnostic}, ClangDiagnosticWidget::InfoBar); @@ -249,6 +250,7 @@ ClangTextMark::ClangTextMark(const FilePath &fileName, if (project && isDiagnosticConfigChangable(project, diagnostic)) { action = new QAction(); action->setIcon(Icons::BROKEN.icon()); + action->setToolTip(tr("Disable Diagnostic in Current Project")); QObject::connect(action, &QAction::triggered, [diagnostic]() { disableDiagnosticInCurrentProjectConfig(diagnostic); }); diff --git a/src/plugins/clangtools/diagnosticmark.cpp b/src/plugins/clangtools/diagnosticmark.cpp index 9aaa4959c52..f20a13a148f 100644 --- a/src/plugins/clangtools/diagnosticmark.cpp +++ b/src/plugins/clangtools/diagnosticmark.cpp @@ -59,6 +59,7 @@ DiagnosticMark::DiagnosticMark(const Diagnostic &diagnostic) QVector actions; QAction *action = new QAction(); action->setIcon(QIcon::fromTheme("edit-copy", Utils::Icons::COPY.icon())); + action->setToolTip(tr("Copy to Clipboard")); QObject::connect(action, &QAction::triggered, [diagnostic]() { const QString text = createFullLocationString(diagnostic.location) + ": " diff --git a/src/plugins/texteditor/textmark.cpp b/src/plugins/texteditor/textmark.cpp index 6bf77078330..abaac7c430f 100644 --- a/src/plugins/texteditor/textmark.cpp +++ b/src/plugins/texteditor/textmark.cpp @@ -310,6 +310,7 @@ void TextMark::addToToolTipLayout(QGridLayout *target) const QTC_ASSERT(!action->icon().isNull(), continue); auto button = new QToolButton; button->setIcon(action->icon()); + button->setToolTip(action->toolTip()); QObject::connect(button, &QToolButton::clicked, action, &QAction::triggered); QObject::connect(button, &QToolButton::clicked, []() { Utils::ToolTip::hideImmediately(); @@ -398,6 +399,7 @@ void TextMark::setSettingsPage(Id settingsPage) delete m_settingsAction; m_settingsAction = new QAction; m_settingsAction->setIcon(Utils::Icons::SETTINGS_TOOLBAR.icon()); + m_settingsAction->setToolTip(tr("Show Diagnostic Settings")); QObject::connect(m_settingsAction, &QAction::triggered, [this, settingsPage] { Core::ICore::showOptionsDialog(settingsPage); }); diff --git a/src/plugins/texteditor/textmark.h b/src/plugins/texteditor/textmark.h index 84068339a17..fe999755e3c 100644 --- a/src/plugins/texteditor/textmark.h +++ b/src/plugins/texteditor/textmark.h @@ -32,6 +32,7 @@ #include #include +#include #include #include @@ -50,6 +51,7 @@ class TextDocument; class TEXTEDITOR_EXPORT TextMark { + Q_DECLARE_TR_FUNCTIONS(TextEditor::TextMark) public: TextMark(const Utils::FilePath &fileName, int lineNumber,