]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Simplify custom font settings
authorAhmad Samir <a.samirh78@gmail.com>
Thu, 5 May 2022 16:32:34 +0000 (18:32 +0200)
committerAhmad Samir <a.samirh78@gmail.com>
Tue, 31 May 2022 14:25:13 +0000 (14:25 +0000)
Instead of having 3 separate config keys, use the KConfig QFont
de/serilaization.

src/settings/dolphin_compactmodesettings.kcfg
src/settings/dolphin_detailsmodesettings.kcfg
src/settings/dolphin_iconsmodesettings.kcfg
src/settings/viewmodes/viewmodesettings.cpp
src/settings/viewmodes/viewmodesettings.h
src/settings/viewmodes/viewsettingstab.cpp
src/views/dolphinitemlistview.cpp

index 93f9947abad7e014cae95fd0ace03b6ec3dcd1c9..3eda1b3d7b509f628d5739541084bc6460fb904e 100644 (file)
             <label>Use system font</label>
             <default>true</default>
         </entry>
-        <entry name="FontFamily" type="String">
-            <label>Font family</label>
-            <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).family()</default>
-        </entry>
-        <entry name="FontSize" type="Double">
-            <label>Font size</label>
-            <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).pointSizeF()</default>
-        </entry>
-        <entry name="ItalicFont" type="Bool">
-            <label>Italic</label>
-            <default>false</default>
-        </entry>
-        <entry name="FontWeight" type="Int">
-            <label>Font weight</label>
-            <default>0</default>
+        <entry name="ViewFont" type="Font">
+            <default code="true">QFont()</default>
         </entry>
         <entry name="IconSize" type="Int">
             <label>Icon size</label>
index 55a78378a1662cab5e128afc7273d86724c2135c..a58a8d00b093a7f3ff8d6a72b1ba04fc065d36d6 100644 (file)
@@ -8,26 +8,13 @@
     <include>QFontDatabase</include>
     <kcfgfile name="dolphinrc"/>
     <group name="DetailsMode">
-        <entry name="FontFamily" type="String">
-            <label>Font family</label>
-            <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).family()</default>
+        <entry name="ViewFont" type="Font">
+            <default code="true">QFont()</default>
         </entry>
         <entry name="UseSystemFont" type="Bool">
             <label>Use system font</label>
             <default>true</default>
         </entry>
-        <entry name="FontSize" type="Double">
-            <label>Font size</label>
-            <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).pointSizeF()</default>
-        </entry>
-        <entry name="ItalicFont" type="Bool">
-            <label>Italic</label>
-            <default>false</default>
-        </entry>
-        <entry name="FontWeight" type="Int">
-            <label>Font weight</label>
-            <default>0</default>
-        </entry>
         <entry name="IconSize" type="Int">
             <label>Icon size</label>
             <default code="true">KIconLoader::SizeSmall</default>
index 220dd8c4279ba9c66508c558bb9b6f73aa19bac4..7948af75d263c468f7c42fc28126206e9c11f877 100644 (file)
             <label>Use system font</label>
             <default>true</default>
         </entry>
-        <entry name="FontFamily" type="String">
-            <label>Font family</label>
-            <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).family()</default>
-        </entry>
-        <entry name="FontSize" type="Double">
-            <label>Font size</label>
-            <default code="true">QFontDatabase::systemFont(QFontDatabase::GeneralFont).pointSizeF()</default>
-        </entry>
-        <entry name="ItalicFont" type="Bool">
-            <label>Italic</label>
-            <default>false</default>
-        </entry>
-        <entry name="FontWeight" type="Int">
-            <label>Font weight</label>
-            <default>0</default>
+        <entry name="ViewFont" type="Font">
+            <default code="true">QFont()</default>
         </entry>
         <entry name="IconSize" type="Int">
             <label>Icon size</label>
index 8c11bde5b348790b10550a46bab4026494593963..73a91a2723e7300b11e72b65d091d95c134174fb 100644 (file)
@@ -86,59 +86,17 @@ bool ViewModeSettings::useSystemFont() const
     }, m_viewModeSettingsVariant);
 }
 
-void ViewModeSettings::setFontFamily(const QString &fontFamily)
+void ViewModeSettings::setViewFont(const QFont &font)
 {
-    std::visit([&fontFamily](auto &&v) {
-        v->setFontFamily(fontFamily);
+    std::visit([&font](auto &&v) {
+        v->setViewFont(font);
     }, m_viewModeSettingsVariant);
 }
 
-QString ViewModeSettings::fontFamily() const
+QFont ViewModeSettings::viewFont() const
 {
     return std::visit([](auto &&v) {
-        return v->fontFamily();
-    }, m_viewModeSettingsVariant);
-}
-
-void ViewModeSettings::setFontSize(qreal fontSize)
-{
-    std::visit([fontSize](auto &&v) {
-        v->setFontSize(fontSize);
-    }, m_viewModeSettingsVariant);
-}
-
-qreal ViewModeSettings::fontSize() const
-{
-    return std::visit([](auto &&v) {
-        return v->fontSize();
-    }, m_viewModeSettingsVariant);
-}
-
-void ViewModeSettings::setItalicFont(bool italic)
-{
-    std::visit([italic](auto &&v) {
-        v->setItalicFont(italic);
-    }, m_viewModeSettingsVariant);
-}
-
-bool ViewModeSettings::italicFont() const
-{
-    return std::visit([](auto &&v) {
-        return v->italicFont();
-    }, m_viewModeSettingsVariant);
-}
-
-void ViewModeSettings::setFontWeight(int fontWeight)
-{
-    std::visit([fontWeight](auto &&v) {
-        v->setFontWeight(fontWeight);
-    }, m_viewModeSettingsVariant);
-}
-
-int ViewModeSettings::fontWeight() const
-{
-    return std::visit([](auto &&v) {
-        return v->fontWeight();
+        return v->viewFont();
     }, m_viewModeSettingsVariant);
 }
 
index 5d2b6e0e21ca7ea627f20e19ea66b864055c01c5..6d8b3afb6877ccf486f8c997238836b45c71eb38 100644 (file)
@@ -39,17 +39,8 @@ public:
     void setUseSystemFont(bool useSystemFont);
     bool useSystemFont() const;
 
-    void setFontFamily(const QString &fontFamily);
-    QString fontFamily() const;
-
-    void setFontSize(qreal fontSize);
-    qreal fontSize() const;
-
-    void setItalicFont(bool italic);
-    bool italicFont() const;
-
-    void setFontWeight(int fontWeight);
-    int fontWeight() const;
+    void setViewFont(const QFont &font);
+    QFont viewFont() const;
 
     void useDefaults(bool useDefaults);
 
index 1e109aab05337e81a44945f00a4f5e96c43b66be..0448af7c04848957ddf1f69f209515f52b0bf0de 100644 (file)
@@ -215,10 +215,7 @@ void ViewSettingsTab::applySettings()
     settings.setPreviewSize(previewSize);
 
     settings.setUseSystemFont(useSystemFont);
-    settings.setFontFamily(font.family());
-    settings.setFontSize(font.pointSizeF());
-    settings.setItalicFont(font.italic());
-    settings.setFontWeight(font.weight());
+    settings.setViewFont(font);
 
     settings.save();
 }
@@ -272,10 +269,7 @@ void ViewSettingsTab::loadSettings()
                              ? DolphinFontRequester::SystemFont
                              : DolphinFontRequester::CustomFont);
 
-    QFont font(settings.fontFamily(), qRound(settings.fontSize()));
-    font.setItalic(settings.italicFont());
-    font.setWeight(settings.fontWeight());
-    font.setPointSizeF(settings.fontSize());
+    QFont font(settings.viewFont());
     m_fontRequester->setCustomFont(font);
 }
 
index 5a6987f650811a2c1e7bbbd2a142966edb23c309..d667081da38451c2f12d07e393712cf9d6b7c57c 100644 (file)
@@ -132,10 +132,7 @@ void DolphinItemListView::updateFont()
     if (settings.useSystemFont()) {
         KItemListView::updateFont();
     } else {
-        QFont font(settings.fontFamily(), qRound(settings.fontSize()));
-        font.setItalic(settings.italicFont());
-        font.setWeight(settings.fontWeight());
-        font.setPointSizeF(settings.fontSize());
+        QFont font(settings.viewFont());
 
         KItemListStyleOption option = styleOption();
         option.font = font;