[Libreoffice-commits] core.git: vcl/qt5 vcl/unx

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Aug 10 07:46:58 UTC 2018


 vcl/qt5/Qt5Frame.cxx          |  119 ++++++++++++++++++++++++++++++++++++++++++
 vcl/unx/kde5/KDE5SalFrame.cxx |  119 ------------------------------------------
 2 files changed, 121 insertions(+), 117 deletions(-)

New commits:
commit 0927c5b3101064905028aeaff2c266771c6e09b3
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Thu Aug 9 14:51:41 2018 +0200
Commit:     Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Fri Aug 10 09:46:34 2018 +0200

    Qt5 also move color setting handling from kde5
    
    This is all QStyle based. Font handling still to do.
    
    Change-Id: I784e64aa88d013146e2c9a07051a0a76a1369ff0
    Reviewed-on: https://gerrit.libreoffice.org/58788
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>

diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
index cabee2b2d2dc..86854c9b3fd8 100644
--- a/vcl/qt5/Qt5Frame.cxx
+++ b/vcl/qt5/Qt5Frame.cxx
@@ -31,7 +31,10 @@
 #include <QtGui/QIcon>
 #include <QtGui/QWindow>
 #include <QtGui/QScreen>
+#include <QtWidgets/QStyle>
+#include <QtWidgets/QToolTip>
 #include <QtWidgets/QApplication>
+#include <QtWidgets/QMenuBar>
 
 #include <saldatabasic.hxx>
 #include <window.h>
@@ -473,13 +476,129 @@ bool Qt5Frame::MapUnicodeToKeyCode(sal_Unicode /*aUnicode*/, LanguageType /*aLan
 
 LanguageType Qt5Frame::GetInputLanguage() { return LANGUAGE_DONTKNOW; }
 
+static Color toColor(const QColor& rColor)
+{
+    return Color(rColor.red(), rColor.green(), rColor.blue());
+}
+
 void Qt5Frame::UpdateSettings(AllSettings& rSettings)
 {
     StyleSettings style(rSettings.GetStyleSettings());
 
+    // General settings
+    QPalette pal = QApplication::palette();
+
+    style.SetToolbarIconSize(ToolbarIconSize::Large);
+
+    style.SetActiveColor(toColor(pal.color(QPalette::Active, QPalette::Window)));
+    style.SetDeactiveColor(toColor(pal.color(QPalette::Inactive, QPalette::Window)));
+
+    style.SetActiveTextColor(toColor(pal.color(QPalette::Active, QPalette::WindowText)));
+    style.SetDeactiveTextColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText)));
+
+    Color aFore = toColor(pal.color(QPalette::Active, QPalette::WindowText));
+    Color aBack = toColor(pal.color(QPalette::Active, QPalette::Window));
+    Color aText = toColor(pal.color(QPalette::Active, QPalette::Text));
+    Color aBase = toColor(pal.color(QPalette::Active, QPalette::Base));
+    Color aButn = toColor(pal.color(QPalette::Active, QPalette::ButtonText));
+    Color aMid = toColor(pal.color(QPalette::Active, QPalette::Mid));
+    Color aHigh = toColor(pal.color(QPalette::Active, QPalette::Highlight));
+    Color aHighText = toColor(pal.color(QPalette::Active, QPalette::HighlightedText));
+
+    style.SetSkipDisabledInMenus(true);
+
+    // Foreground
+    style.SetRadioCheckTextColor(aFore);
+    style.SetLabelTextColor(aFore);
+    style.SetDialogTextColor(aFore);
+    style.SetGroupTextColor(aFore);
+
+    // Text
+    style.SetFieldTextColor(aText);
+    style.SetFieldRolloverTextColor(aText);
+    style.SetWindowTextColor(aText);
+    style.SetToolTextColor(aText);
+
+    // Base
+    style.SetFieldColor(aBase);
+    style.SetWindowColor(aBase);
+    style.SetActiveTabColor(aBase);
+
+    // Buttons
+    style.SetButtonTextColor(aButn);
+    style.SetButtonRolloverTextColor(aButn);
+    style.SetButtonPressedRolloverTextColor(aButn);
+
+    // Tabs
+    style.SetTabTextColor(aButn);
+    style.SetTabRolloverTextColor(aButn);
+    style.SetTabHighlightTextColor(aButn);
+
+    // Disable color
+    style.SetDisableColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText)));
+
+    // Background
+    style.BatchSetBackgrounds(aBack);
+    style.SetInactiveTabColor(aBack);
+
+    // Workspace
+    style.SetWorkspaceColor(aMid);
+
+    // Selection
+    style.SetHighlightColor(aHigh);
+    style.SetHighlightTextColor(aHighText);
+
+    // Tooltip
+    style.SetHelpColor(toColor(QToolTip::palette().color(QPalette::Active, QPalette::ToolTipBase)));
+    style.SetHelpTextColor(
+        toColor(QToolTip::palette().color(QPalette::Active, QPalette::ToolTipText)));
+
     const int flash_time = QApplication::cursorFlashTime();
     style.SetCursorBlinkTime(flash_time != 0 ? flash_time / 2 : STYLE_CURSOR_NOBLINKTIME);
 
+    // Menu
+    std::unique_ptr<QMenuBar> pMenuBar = std::unique_ptr<QMenuBar>(new QMenuBar());
+    QPalette qMenuCG = pMenuBar->palette();
+
+    // Menu text and background color, theme specific
+    Color aMenuFore = toColor(qMenuCG.color(QPalette::WindowText));
+    Color aMenuBack = toColor(qMenuCG.color(QPalette::Window));
+
+    style.SetMenuTextColor(aMenuFore);
+    style.SetMenuBarTextColor(style.GetPersonaMenuBarTextColor().get_value_or(aMenuFore));
+    style.SetMenuColor(aMenuBack);
+    style.SetMenuBarColor(aMenuBack);
+    style.SetMenuHighlightColor(toColor(qMenuCG.color(QPalette::Highlight)));
+    style.SetMenuHighlightTextColor(toColor(qMenuCG.color(QPalette::HighlightedText)));
+
+    // set special menubar highlight text color
+    if (QApplication::style()->inherits("HighContrastStyle"))
+        ImplGetSVData()->maNWFData.maMenuBarHighlightTextColor
+            = toColor(qMenuCG.color(QPalette::HighlightedText));
+    else
+        ImplGetSVData()->maNWFData.maMenuBarHighlightTextColor = aMenuFore;
+
+    // set menubar rollover color
+    if (pMenuBar->style()->styleHint(QStyle::SH_MenuBar_MouseTracking))
+    {
+        style.SetMenuBarRolloverColor(toColor(qMenuCG.color(QPalette::Highlight)));
+        style.SetMenuBarRolloverTextColor(ImplGetSVData()->maNWFData.maMenuBarHighlightTextColor);
+    }
+    else
+    {
+        style.SetMenuBarRolloverColor(aMenuBack);
+        style.SetMenuBarRolloverTextColor(aMenuFore);
+    }
+    style.SetMenuBarHighlightTextColor(style.GetMenuHighlightTextColor());
+
+    // Scroll bar size
+    style.SetScrollBarSize(QApplication::style()->pixelMetric(QStyle::PM_ScrollBarExtent));
+    style.SetMinThumbSize(QApplication::style()->pixelMetric(QStyle::PM_ScrollBarSliderMin));
+
+    // These colors are used for the ruler text and marks
+    style.SetShadowColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText)));
+    style.SetDarkShadowColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText)));
+
     rSettings.SetStyleSettings(style);
 }
 
diff --git a/vcl/unx/kde5/KDE5SalFrame.cxx b/vcl/unx/kde5/KDE5SalFrame.cxx
index 0679ac0847b7..dffc759d44a2 100644
--- a/vcl/unx/kde5/KDE5SalFrame.cxx
+++ b/vcl/unx/kde5/KDE5SalFrame.cxx
@@ -52,13 +52,6 @@ KDE5SalFrame::KDE5SalFrame(KDE5SalFrame* pParent, SalFrameStyleFlags nState, boo
 {
 }
 
-/** Helper function to convert colors.
-*/
-static Color toColor(const QColor& rColor)
-{
-    return Color(rColor.red(), rColor.green(), rColor.blue());
-}
-
 /** Helper function to add information to Font from QFont.
 
     Mostly grabbed from the Gtk+ vclplug (salnativewidgets-gtk.cxx).
@@ -141,20 +134,11 @@ static vcl::Font toFont(const QFont& rQFont, const css::lang::Locale& rLocale)
 */
 void KDE5SalFrame::UpdateSettings(AllSettings& rSettings)
 {
+    Qt5Frame::UpdateSettings(rSettings);
+
     StyleSettings style(rSettings.GetStyleSettings());
     bool bSetTitleFont = false;
 
-    // General settings
-    QPalette pal = QApplication::palette();
-
-    style.SetToolbarIconSize(ToolbarIconSize::Large);
-
-    style.SetActiveColor(toColor(pal.color(QPalette::Active, QPalette::Window)));
-    style.SetDeactiveColor(toColor(pal.color(QPalette::Inactive, QPalette::Window)));
-
-    style.SetActiveTextColor(toColor(pal.color(QPalette::Active, QPalette::WindowText)));
-    style.SetDeactiveTextColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText)));
-
     // WM settings
     /*KConfig *pConfig = KGlobal::config().data();
     if ( pConfig )
@@ -190,63 +174,6 @@ void KDE5SalFrame::UpdateSettings(AllSettings& rSettings)
         }
     }*/
 
-    Color aFore = toColor(pal.color(QPalette::Active, QPalette::WindowText));
-    Color aBack = toColor(pal.color(QPalette::Active, QPalette::Window));
-    Color aText = toColor(pal.color(QPalette::Active, QPalette::Text));
-    Color aBase = toColor(pal.color(QPalette::Active, QPalette::Base));
-    Color aButn = toColor(pal.color(QPalette::Active, QPalette::ButtonText));
-    Color aMid = toColor(pal.color(QPalette::Active, QPalette::Mid));
-    Color aHigh = toColor(pal.color(QPalette::Active, QPalette::Highlight));
-    Color aHighText = toColor(pal.color(QPalette::Active, QPalette::HighlightedText));
-
-    style.SetSkipDisabledInMenus(true);
-
-    // Foreground
-    style.SetRadioCheckTextColor(aFore);
-    style.SetLabelTextColor(aFore);
-    style.SetDialogTextColor(aFore);
-    style.SetGroupTextColor(aFore);
-
-    // Text
-    style.SetFieldTextColor(aText);
-    style.SetFieldRolloverTextColor(aText);
-    style.SetWindowTextColor(aText);
-    style.SetToolTextColor(aText);
-
-    // Base
-    style.SetFieldColor(aBase);
-    style.SetWindowColor(aBase);
-    style.SetActiveTabColor(aBase);
-
-    // Buttons
-    style.SetButtonTextColor(aButn);
-    style.SetButtonRolloverTextColor(aButn);
-    style.SetButtonPressedRolloverTextColor(aButn);
-
-    // Tabs
-    style.SetTabTextColor(aButn);
-    style.SetTabRolloverTextColor(aButn);
-    style.SetTabHighlightTextColor(aButn);
-
-    // Disable color
-    style.SetDisableColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText)));
-
-    // Background
-    style.BatchSetBackgrounds(aBack);
-    style.SetInactiveTabColor(aBack);
-
-    // Workspace
-    style.SetWorkspaceColor(aMid);
-
-    // Selection
-    style.SetHighlightColor(aHigh);
-    style.SetHighlightTextColor(aHighText);
-
-    // Tooltip
-    style.SetHelpColor(toColor(QToolTip::palette().color(QPalette::Active, QPalette::ToolTipBase)));
-    style.SetHelpTextColor(
-        toColor(QToolTip::palette().color(QPalette::Active, QPalette::ToolTipText)));
-
     // Font
     vcl::Font aFont = toFont(QApplication::font(), rSettings.GetUILanguageTag().getLocale());
 
@@ -265,51 +192,9 @@ void KDE5SalFrame::UpdateSettings(AllSettings& rSettings)
 
     // Menu
     std::unique_ptr<QMenuBar> pMenuBar = std::unique_ptr<QMenuBar>(new QMenuBar());
-    QPalette qMenuCG = pMenuBar->palette();
-
-    // Menu text and background color, theme specific
-    Color aMenuFore = toColor(qMenuCG.color(QPalette::WindowText));
-    Color aMenuBack = toColor(qMenuCG.color(QPalette::Window));
-
-    style.SetMenuTextColor(aMenuFore);
-    style.SetMenuBarTextColor(style.GetPersonaMenuBarTextColor().get_value_or(aMenuFore));
-    style.SetMenuColor(aMenuBack);
-    style.SetMenuBarColor(aMenuBack);
-    style.SetMenuHighlightColor(toColor(qMenuCG.color(QPalette::Highlight)));
-    style.SetMenuHighlightTextColor(toColor(qMenuCG.color(QPalette::HighlightedText)));
-
-    // set special menubar highlight text color
-    if (QApplication::style()->inherits("HighContrastStyle"))
-        ImplGetSVData()->maNWFData.maMenuBarHighlightTextColor
-            = toColor(qMenuCG.color(QPalette::HighlightedText));
-    else
-        ImplGetSVData()->maNWFData.maMenuBarHighlightTextColor = aMenuFore;
-
-    // set menubar rollover color
-    if (pMenuBar->style()->styleHint(QStyle::SH_MenuBar_MouseTracking))
-    {
-        style.SetMenuBarRolloverColor(toColor(qMenuCG.color(QPalette::Highlight)));
-        style.SetMenuBarRolloverTextColor(ImplGetSVData()->maNWFData.maMenuBarHighlightTextColor);
-    }
-    else
-    {
-        style.SetMenuBarRolloverColor(aMenuBack);
-        style.SetMenuBarRolloverTextColor(aMenuFore);
-    }
-    style.SetMenuBarHighlightTextColor(style.GetMenuHighlightTextColor());
-
-    // Font
     aFont = toFont(pMenuBar->font(), rSettings.GetUILanguageTag().getLocale());
     style.SetMenuFont(aFont);
 
-    // Scroll bar size
-    style.SetScrollBarSize(QApplication::style()->pixelMetric(QStyle::PM_ScrollBarExtent));
-    style.SetMinThumbSize(QApplication::style()->pixelMetric(QStyle::PM_ScrollBarSliderMin));
-
-    // These colors are used for the ruler text and marks
-    style.SetShadowColor(toColor(pal.color(QPalette::Disabled, QPalette::WindowText)));
-    style.SetDarkShadowColor(toColor(pal.color(QPalette::Inactive, QPalette::WindowText)));
-
     rSettings.SetStyleSettings(style);
 }
 


More information about the Libreoffice-commits mailing list