Author: jghali
Date: Thu Feb 18 19:02:27 2021
New Revision: 24511

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=24511
Log:
#16479: Story editor does not follow dark theme

Modified:
    trunk/Scribus/scribus/prefsmanager.cpp
    trunk/Scribus/scribus/ui/prefs_userinterface.cpp
    trunk/Scribus/scribus/ui/storyeditor.cpp

Modified: trunk/Scribus/scribus/prefsmanager.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24511&path=/trunk/Scribus/scribus/prefsmanager.cpp
==============================================================================
--- trunk/Scribus/scribus/prefsmanager.cpp      (original)
+++ trunk/Scribus/scribus/prefsmanager.cpp      Thu Feb 18 19:02:27 2021
@@ -392,7 +392,9 @@
        appPrefs.extToolPrefs.gs_exe = getGSDefaultExeName();
        appPrefs.extToolPrefs.gs_Resolution = 72;
 
-       appPrefs.storyEditorPrefs.guiFontColorBackground = QColor(Qt::white);
+       // Do not override default text background color in story editor unless 
user has explicitly modified it.
+       // To do that, we initialize text background color to an invalid color 
and test its validity in the code. 
+       appPrefs.storyEditorPrefs.guiFontColorBackground = QColor() 
/*qApp->palette().color(QPalette::Active, QPalette::Base)*/;
        appPrefs.storyEditorPrefs.smartTextSelection = false;
 
        appPrefs.colorPrefs.DCMSset.DefaultMonitorProfile.clear();
@@ -1468,7 +1470,8 @@
 
        QDomElement deSE = docu.createElement("StoryEditor");
        deSE.setAttribute("Font", appPrefs.storyEditorPrefs.guiFont);
-       deSE.setAttribute("FontColorBackground", 
appPrefs.storyEditorPrefs.guiFontColorBackground.name());
+       if (appPrefs.storyEditorPrefs.guiFontColorBackground.isValid())
+               deSE.setAttribute("FontColorBackground", 
appPrefs.storyEditorPrefs.guiFontColorBackground.name());
        deSE.setAttribute("SmartTextSelection", 
static_cast<int>(appPrefs.storyEditorPrefs.smartTextSelection));
        elem.appendChild(deSE);
 
@@ -2157,7 +2160,12 @@
                if (dc.tagName() == "StoryEditor")
                {
                        appPrefs.storyEditorPrefs.guiFont  = 
dc.attribute("Font", "");
-                       appPrefs.storyEditorPrefs.guiFontColorBackground  = 
QColor(dc.attribute("FontColorBackground", "#FFFFFF"));
+                       if (dc.hasAttribute("FontColorBackground"))
+                       {
+                               QString colorName = 
dc.attribute("FontColorBackground");
+                               if (QColor::isValidColor(colorName))
+                                       
appPrefs.storyEditorPrefs.guiFontColorBackground  = QColor(colorName);
+                       }
                        appPrefs.storyEditorPrefs.smartTextSelection = 
static_cast<bool>(dc.attribute("SmartTextSelection", "0").toInt());
                }
                if (dc.tagName() == "Typography")

Modified: trunk/Scribus/scribus/ui/prefs_userinterface.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24511&path=/trunk/Scribus/scribus/ui/prefs_userinterface.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/prefs_userinterface.cpp    (original)
+++ trunk/Scribus/scribus/ui/prefs_userinterface.cpp    Thu Feb 18 19:02:27 2021
@@ -109,7 +109,10 @@
        seFont.fromString(prefsData->storyEditorPrefs.guiFont);
        storyEditorFontPushButton->setText(seFont.family());
        QPixmap pm(100, 30);
-       pm.fill(prefsData->storyEditorPrefs.guiFontColorBackground);
+       QColor backgroundColor = 
prefsData->storyEditorPrefs.guiFontColorBackground;
+       if (!backgroundColor.isValid())
+               backgroundColor = this->palette().color(QPalette::Active, 
QPalette::Base);
+       pm.fill(backgroundColor);
        seFontColor = prefsData->storyEditorPrefs.guiFontColorBackground;
        storyEditorFontColorPushButton->setIcon(pm);
 }
@@ -131,7 +134,8 @@
        prefsData->uiPrefs.useSmallWidgets = 
useSmallWidgetsCheckBox->isChecked();
 
        prefsData->storyEditorPrefs.guiFont = seFont.toString();
-       prefsData->storyEditorPrefs.guiFontColorBackground = seFontColor;
+       if (seFontColor.isValid())
+               prefsData->storyEditorPrefs.guiFontColorBackground = 
seFontColor;
        prefsData->storyEditorPrefs.smartTextSelection = 
storyEditorUseSmartSelectionCheckBox->isChecked();
 }
 
@@ -144,9 +148,14 @@
 
 void Prefs_UserInterface::changeStoryEditorFontColor()
 {
-       QColor newColor(QColorDialog::getColor(seFontColor, this));
+       QColor fontBkgndColor = seFontColor;
+       if (!fontBkgndColor.isValid())
+               fontBkgndColor = this->palette().color(QPalette::Active, 
QPalette::Base);
+
+       QColor newColor(QColorDialog::getColor(fontBkgndColor, this));
        if (!newColor.isValid())
                return;
+
        QPixmap pm(100, 30);
        pm.fill(newColor);
        seFontColor = newColor;

Modified: trunk/Scribus/scribus/ui/storyeditor.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24511&path=/trunk/Scribus/scribus/ui/storyeditor.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/storyeditor.cpp    (original)
+++ trunk/Scribus/scribus/ui/storyeditor.cpp    Thu Feb 18 19:02:27 2021
@@ -2000,12 +2000,15 @@
        QFont fo;
        fo.fromString(prefsManager.appPrefs.storyEditorPrefs.guiFont);
        Editor->setFont(fo);
-       QPalette pal;
        QColor 
newColor(prefsManager.appPrefs.storyEditorPrefs.guiFontColorBackground);
-       pal.setColor(QPalette::Active, QPalette::Base, newColor);
-       pal.setColor(QPalette::Inactive, QPalette::Base, newColor);
-       pal.setColor(QPalette::Disabled, QPalette::Base, newColor);
-       Editor->setPalette(pal);
+       if (newColor.isValid())
+       {
+               QPalette pal;
+               pal.setColor(QPalette::Active, QPalette::Base, newColor);
+               pal.setColor(QPalette::Inactive, QPalette::Base, newColor);
+               pal.setColor(QPalette::Disabled, QPalette::Base, newColor);
+               Editor->setPalette(pal);
+       }
        EditorBar->setFrameStyle(Editor->frameStyle());
        EditorBar->setLineWidth(Editor->lineWidth());
 }


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to