summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMichael Weghorn <m.weghorn@posteo.de>2023-09-02 10:37:47 +0200
committerMichael Weghorn <m.weghorn@posteo.de>2023-09-02 15:42:44 +0200
commit19b8bac2aa59d02968c33ac6f83c66907d5ab94c (patch)
tree16282652744603150aabd30ef1444becaf2d0a65 /vcl
parent73d0d205c43a9848acd313ff1845ebafe63e807c (diff)
tdf#149611 qt: Make auto-selection of dark app colors work
Rename the newly introduced method `QtFrame::isUsingDarkColorScheme` to detect whether a dark color scheme is in use from Change-Id I8f347c6e7f775cc55377c5c84481de3051c3cf24 tdf#156894 qt: Prefer dark icon theme in dark mode and let it override `SalFrame::GetUseDarkMode`. This gets used (via `MiscSettings::GetUseDarkMode`) in `ColorConfig::GetDefaultColor` to determine what application colors to use. With this, setting "Tools" -> "Options" -> "LibreOfficeDev" -> "Application Colors" -> "Automatic" to "System Theme" will now automatically switch to dark application colors (like a dark doc background instead of white) for kf5/qt6 when a dark global theme is active (e.g. because "Breeze Dark" has been selected in Plasma system settings). Change-Id: I151e7eb35a94a9c525452a7d90b24283f6226904 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156467 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/qt5/QtFrame.hxx2
-rw-r--r--vcl/qt5/QtFrame.cxx4
2 files changed, 3 insertions, 3 deletions
diff --git a/vcl/inc/qt5/QtFrame.hxx b/vcl/inc/qt5/QtFrame.hxx
index ecedc3ae2e29..b5ae7508a506 100644
--- a/vcl/inc/qt5/QtFrame.hxx
+++ b/vcl/inc/qt5/QtFrame.hxx
@@ -128,7 +128,6 @@ class VCLPLUG_QT_PUBLIC QtFrame : public QObject, public SalFrame
bool isWindow() const;
QWindow* windowHandle() const;
QScreen* screen() const;
- static bool isUsingDarkColorScheme();
bool isMinimized() const;
bool isMaximized() const;
void SetWindowStateImpl(Qt::WindowStates eState);
@@ -215,6 +214,7 @@ public:
virtual void SetScreenNumber(unsigned int) override;
virtual void SetApplicationID(const OUString&) override;
virtual void ResolveWindowHandle(SystemEnvData& rData) const override;
+ virtual bool GetUseDarkMode() const override;
virtual bool GetUseReducedAnimation() const override;
inline bool CallCallback(SalEvent nEvent, const void* pEvent) const;
diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx
index ff7edb9fd7b2..49d542a64909 100644
--- a/vcl/qt5/QtFrame.cxx
+++ b/vcl/qt5/QtFrame.cxx
@@ -354,7 +354,7 @@ QScreen* QtFrame::screen() const
#endif
}
-bool QtFrame::isUsingDarkColorScheme()
+bool QtFrame::GetUseDarkMode() const
{
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
const QStyleHints* pStyleHints = QApplication::styleHints();
@@ -1234,7 +1234,7 @@ void QtFrame::UpdateSettings(AllSettings& rSettings)
style.SetMenuFont(aFont);
// Icon theme
- const bool bPreferDarkTheme = isUsingDarkColorScheme();
+ const bool bPreferDarkTheme = GetUseDarkMode();
style.SetPreferredIconTheme(toOUString(QIcon::themeName()), bPreferDarkTheme);
// Scroll bar size