aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/advanceddockingsystem/ads_globals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/advanceddockingsystem/ads_globals.cpp')
-rw-r--r--src/libs/advanceddockingsystem/ads_globals.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/libs/advanceddockingsystem/ads_globals.cpp b/src/libs/advanceddockingsystem/ads_globals.cpp
index 36df8ed869..a93139bd7c 100644
--- a/src/libs/advanceddockingsystem/ads_globals.cpp
+++ b/src/libs/advanceddockingsystem/ads_globals.cpp
@@ -41,6 +41,7 @@
#include <QAbstractButton>
#include <QPainter>
+#include <QStyle>
#include <QVariant>
namespace ADS {
@@ -93,7 +94,7 @@ void hideEmptyParentSplitters(DockSplitter *splitter)
}
}
-void setButtonIcon(QAbstractButton* button,
+void setButtonIcon(QAbstractButton *button,
QStyle::StandardPixmap standarPixmap,
ADS::eIcon customIconId)
{
@@ -116,5 +117,25 @@ void setButtonIcon(QAbstractButton* button,
}
}
+void repolishStyle(QWidget *widget, eRepolishChildOptions options)
+{
+ if (!widget)
+ return;
+
+ widget->style()->unpolish(widget);
+ widget->style()->polish(widget);
+
+ if (RepolishIgnoreChildren == options)
+ return;
+
+ QList<QWidget*> children = widget->findChildren<QWidget *>(QString(),
+ (RepolishDirectChildren == options) ? Qt::FindDirectChildrenOnly : Qt::FindChildrenRecursively);
+ for (auto w : children)
+ {
+ w->style()->unpolish(w);
+ w->style()->polish(w);
+ }
+}
+
} // namespace internal
} // namespace ADS