diff --git a/src/libs/utils/images/toggleprogressdetails.png b/src/libs/utils/images/toggleprogressdetails.png
new file mode 100644
index 00000000000..b2353cd9d09
Binary files /dev/null and b/src/libs/utils/images/toggleprogressdetails.png differ
diff --git a/src/libs/utils/images/toggleprogressdetails@2x.png b/src/libs/utils/images/toggleprogressdetails@2x.png
new file mode 100644
index 00000000000..28a212491e6
Binary files /dev/null and b/src/libs/utils/images/toggleprogressdetails@2x.png differ
diff --git a/src/libs/utils/utils.qrc b/src/libs/utils/utils.qrc
index dc576ca8062..9aa2fbb9762 100644
--- a/src/libs/utils/utils.qrc
+++ b/src/libs/utils/utils.qrc
@@ -219,6 +219,8 @@
images/settings@2x.png
images/sort_alphabetically.png
images/sort_alphabetically@2x.png
+ images/toggleprogressdetails.png
+ images/toggleprogressdetails@2x.png
images/enum.png
diff --git a/src/libs/utils/utilsicons.cpp b/src/libs/utils/utilsicons.cpp
index fe040c63d52..5afd3cc56ad 100644
--- a/src/libs/utils/utilsicons.cpp
+++ b/src/libs/utils/utilsicons.cpp
@@ -188,6 +188,8 @@ const Icon LINK_TOOLBAR({
{QLatin1String(":/utils/images/linkicon.png"), Theme::IconsBaseColor}});
const Icon SORT_ALPHABETICALLY_TOOLBAR({
{QLatin1String(":/utils/images/sort_alphabetically.png"), Theme::IconsBaseColor}});
+const Icon TOGGLE_PROGRESSDETAILS_TOOLBAR({
+ {QLatin1String(":/utils/images/toggleprogressdetails.png"), Theme::IconsBaseColor}});
const Icon WARNING({
{QLatin1String(":/utils/images/warningfill.png"), Theme::BackgroundColorNormal},
diff --git a/src/libs/utils/utilsicons.h b/src/libs/utils/utilsicons.h
index 8cf7b21048f..ca8ad69ff7e 100644
--- a/src/libs/utils/utilsicons.h
+++ b/src/libs/utils/utilsicons.h
@@ -109,6 +109,7 @@ QTCREATOR_UTILS_EXPORT extern const Icon FILTER;
QTCREATOR_UTILS_EXPORT extern const Icon LINK;
QTCREATOR_UTILS_EXPORT extern const Icon LINK_TOOLBAR;
QTCREATOR_UTILS_EXPORT extern const Icon SORT_ALPHABETICALLY_TOOLBAR;
+QTCREATOR_UTILS_EXPORT extern const Icon TOGGLE_PROGRESSDETAILS_TOOLBAR;
QTCREATOR_UTILS_EXPORT extern const Icon INFO;
QTCREATOR_UTILS_EXPORT extern const Icon INFO_TOOLBAR;
diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.cpp b/src/plugins/coreplugin/progressmanager/progressmanager.cpp
index 318f84163cf..bbf0f0b8204 100644
--- a/src/plugins/coreplugin/progressmanager/progressmanager.cpp
+++ b/src/plugins/coreplugin/progressmanager/progressmanager.cpp
@@ -39,6 +39,7 @@
#include
#include
#include
+#include
#include
#include
@@ -319,7 +320,7 @@ void ProgressManagerPrivate::init()
m_summaryProgressBar->setCancelEnabled(false);
m_summaryProgressLayout->addWidget(m_summaryProgressBar);
layout->addWidget(m_summaryProgressWidget);
- auto toggleButton = new ToggleButton(m_statusBarWidget);
+ auto toggleButton = new QToolButton(m_statusBarWidget);
layout->addWidget(toggleButton);
m_statusBarWidget->installEventFilter(this);
StatusBarManager::addStatusBarWidget(m_statusBarWidget, StatusBarManager::RightCorner);
@@ -327,10 +328,7 @@ void ProgressManagerPrivate::init()
QAction *toggleProgressView = new QAction(tr("Toggle Progress Details"), this);
toggleProgressView->setCheckable(true);
toggleProgressView->setChecked(m_progressViewPinned);
- // we have to set an transparent icon to prevent the tool button to show text
- QPixmap p(1, 1);
- p.fill(Qt::transparent);
- toggleProgressView->setIcon(QIcon(p));
+ toggleProgressView->setIcon(Utils::Icons::TOGGLE_PROGRESSDETAILS_TOOLBAR.icon());
Command *cmd = ActionManager::registerAction(toggleProgressView,
"QtCreator.ToggleProgressDetails");
@@ -712,33 +710,6 @@ void ProgressManagerPrivate::progressDetailsToggled(bool checked)
settings->endGroup();
}
-ToggleButton::ToggleButton(QWidget *parent)
- : QToolButton(parent)
-{
- setToolButtonStyle(Qt::ToolButtonIconOnly);
- if (creatorTheme()->flag(Theme::FlatToolBars)) {
- QPalette p = palette();
- p.setBrush(QPalette::Base, creatorTheme()->color(Theme::ToggleButtonBackgroundColor));
- setPalette(p);
- }
-}
-
-QSize ToggleButton::sizeHint() const
-{
- return QSize(13, 12); // Uneven width, because the arrow's width is also uneven.
-}
-
-void ToggleButton::paintEvent(QPaintEvent *event)
-{
- QToolButton::paintEvent(event);
- QPainter p(this);
- QStyleOption arrowOpt;
- arrowOpt.initFrom(this);
- arrowOpt.rect.adjust(2, 0, -1, -2);
- StyleHelper::drawArrow(QStyle::PE_IndicatorArrowUp, &p, &arrowOpt);
-}
-
-
ProgressManager::ProgressManager() = default;
ProgressManager::~ProgressManager() = default;
diff --git a/src/plugins/coreplugin/progressmanager/progressmanager_p.h b/src/plugins/coreplugin/progressmanager/progressmanager_p.h
index c3509c1ce4b..4eabe502048 100644
--- a/src/plugins/coreplugin/progressmanager/progressmanager_p.h
+++ b/src/plugins/coreplugin/progressmanager/progressmanager_p.h
@@ -112,14 +112,5 @@ private:
bool m_hovered = false;
};
-class ToggleButton : public QToolButton
-{
- Q_OBJECT
-public:
- ToggleButton(QWidget *parent);
- QSize sizeHint() const override;
- void paintEvent(QPaintEvent *event) override;
-};
-
} // namespace Internal
} // namespace Core
diff --git a/src/tools/icons/qtcreatoricons.svg b/src/tools/icons/qtcreatoricons.svg
index f9abb04b4ac..cb6e4836aff 100644
--- a/src/tools/icons/qtcreatoricons.svg
+++ b/src/tools/icons/qtcreatoricons.svg
@@ -3607,6 +3607,45 @@
width="100%"
height="100%" />
+
+
+
+
+
+