]> cloud.milkyroute.net Git - dolphin.git/commitdiff
* if the system font is changed during Dolphin is open, take care to update the used...
authorPeter Penz <peter.penz19@gmail.com>
Sun, 17 Feb 2008 15:50:06 +0000 (15:50 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Sun, 17 Feb 2008 15:50:06 +0000 (15:50 +0000)
* store the font weight instead of a bool property "isBold"

Thanks to Rafael for the patch!

CCMAIL: ereslibre@kde.org

svn path=/trunk/KDE/kdebase/apps/; revision=776188

12 files changed:
src/columnviewsettingspage.cpp
src/detailsviewsettingspage.cpp
src/dolphin_columnmodesettings.kcfg
src/dolphin_detailsmodesettings.kcfg
src/dolphin_iconsmodesettings.kcfg
src/dolphincolumnwidget.cpp
src/dolphincolumnwidget.h
src/dolphindetailsview.cpp
src/dolphindetailsview.h
src/dolphiniconsview.cpp
src/dolphiniconsview.h
src/iconsviewsettingspage.cpp

index f5e2319bfbddfc3fff41cc072a9f9147a308206b..44d2a4127151c9450cdc21a2b62011c1be6932d2 100644 (file)
@@ -127,7 +127,7 @@ void ColumnViewSettingsPage::applySettings()
     settings->setFontFamily(font.family());
     settings->setFontSize(font.pointSize());
     settings->setItalicFont(font.italic());
-    settings->setBoldFont(font.bold());
+    settings->setFontWeight(font.weight());
 
     const int columnWidth = 150 + (m_columnWidthSlider->value() * 50);
     settings->setColumnWidth(columnWidth);
@@ -164,7 +164,7 @@ void ColumnViewSettingsPage::loadSettings()
         QFont font(settings->fontFamily(),
                    settings->fontSize());
         font.setItalic(settings->italicFont());
-        font.setBold(settings->boldFont());
+        font.setWeight(settings->fontWeight());
         m_fontRequester->setMode(DolphinFontRequester::CustomFont);
         m_fontRequester->setCustomFont(font);
     }
index 7ff25179ded5d93c9670c3c0af6c11841e5dec8c..8838ee7ec784c361bf97c08c70a467fc8fbfa637 100644 (file)
@@ -113,7 +113,7 @@ void DetailsViewSettingsPage::applySettings()
     settings->setFontFamily(font.family());
     settings->setFontSize(font.pointSize());
     settings->setItalicFont(font.italic());
-    settings->setBoldFont(font.bold());
+    settings->setFontWeight(font.weight());
 
     settings->setExpandableFolders(m_expandableFolders->isChecked());
 }
@@ -149,7 +149,7 @@ void DetailsViewSettingsPage::loadSettings()
         QFont font(settings->fontFamily(),
                    settings->fontSize());
         font.setItalic(settings->italicFont());
-        font.setBold(settings->boldFont());
+        font.setWeight(settings->fontWeight());
         m_fontRequester->setMode(DolphinFontRequester::CustomFont);
         m_fontRequester->setCustomFont(font);
     }
index 54887d9e9b0db69d0ca09d1e3734934fa1e39341..abb35344abd9646c8b84d8d1fc117f301fc9285d 100644 (file)
@@ -21,9 +21,9 @@
             <label context="@label">Italic</label>
             <default>false</default>
         </entry>
-        <entry name="BoldFont" type="Bool">
-            <label context="@label">Bold</label>
-            <default>false</default>
+        <entry name="FontWeight" type="Int">
+            <label context="@label">Font weight</label>
+            <default>0</default>
         </entry>
         <entry name="IconSize" type="Int">
             <label context="@label">Icon size</label>
index be62e797a555ea7b2e79d9c4839866f54b80cbc1..3e0628af45453774f6d6250e9aeb3abbb60584c3 100644 (file)
@@ -21,9 +21,9 @@
             <label context="@label">Italic</label>
             <default>false</default>
         </entry>
-        <entry name="BoldFont" type="Bool">
-            <label context="@label">Bold</label>
-            <default>false</default>
+        <entry name="FontWeight" type="Int">
+            <label context="@label">Font weight</label>
+            <default>0</default>
         </entry>
         <entry name="IconSize" type="Int">
             <label context="@label">Icon size</label>
index ef1ec456fec4b66becefbd553c95e79ea37749e5..c49f25bcc1f15ac55b0f79698d344d8994903b5f 100644 (file)
@@ -26,9 +26,9 @@
             <label context="@label">Italic</label>
             <default>false</default>
         </entry>
-        <entry name="BoldFont" type="Bool">
-            <label context="@label">Bold</label>
-            <default>false</default>
+        <entry name="FontWeight" type="Int">
+            <label context="@label">Font weight</label>
+            <default>0</default>
         </entry>
         <entry name="ItemHeight" type="Int">
             <label context="@label">Item height</label>
index 9e6f9719b714f2a26ffa7c06fbf87b11903e8b9e..2e661fe1ecc2a379d7035d7c55fb21cc6170e166 100644 (file)
@@ -86,9 +86,14 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
     const ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
     Q_ASSERT(settings != 0);
 
-    m_font = QFont(settings->fontFamily(), settings->fontSize());
-    m_font.setItalic(settings->italicFont());
-    m_font.setBold(settings->boldFont());
+    if (settings->useSystemFont()) {
+        m_font = KGlobalSettings::generalFont();
+    } else {
+        m_font = QFont(settings->fontFamily(),
+                       settings->fontSize(),
+                       settings->fontWeight(),
+                       settings->italicFont());
+    }
 
     const int iconSize = settings->iconSize();
     setDecorationSize(QSize(iconSize, iconSize));
@@ -131,12 +136,16 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
                 this, SLOT(requestActivation()));
         connect(m_view->m_controller, SIGNAL(urlChanged(const KUrl&)),
                 selManager, SLOT(reset()));
-}
+    }
+
     new KMimeTypeResolver(this, m_dolphinModel);
     m_iconManager = new IconManager(this, m_proxyModel);
     m_iconManager->setShowPreview(m_view->m_controller->dolphinView()->showPreview());
 
     m_dirLister->openUrl(url, KDirLister::NoFlags);
+
+    connect(KGlobalSettings::self(), SIGNAL(kdisplayFontChanged()),
+            this, SLOT(updateFont()));
 }
 
 DolphinColumnWidget::~DolphinColumnWidget()
@@ -406,6 +415,16 @@ void DolphinColumnWidget::requestActivation()
     }
 }
 
+void DolphinColumnWidget::updateFont()
+{
+    const ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
+    Q_ASSERT(settings != 0);
+
+    if (settings->useSystemFont()) {
+        m_font = KGlobalSettings::generalFont();
+    }
+}
+
 void DolphinColumnWidget::activate()
 {
     setFocus(Qt::OtherFocusReason);
index 1054af2e32a6f1bb9f6c6b771967bacdda043390..25da35bd8bf6693760c4804bf8591c030de6f0b2 100644 (file)
@@ -124,6 +124,8 @@ private slots:
 
     void requestActivation();
 
+    void updateFont();
+
 private:
     /** Used by DolphinColumnWidget::setActive(). */
     void activate();
index ff4ce540f3dabd217de947e620bc69795cde2f6d..75481fb36a0636c35a8b07d19651c5a2f3fb8718 100644 (file)
@@ -120,7 +120,14 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
     connect(controller->dolphinView(), SIGNAL(additionalInfoChanged()),
             this, SLOT(updateColumnVisibility()));
 
-    m_font = QFont(settings->fontFamily(), settings->fontSize());
+    if (settings->useSystemFont()) {
+        m_font = KGlobalSettings::generalFont();
+    } else {
+        m_font = QFont(settings->fontFamily(),
+                       settings->fontSize(),
+                       settings->fontWeight(),
+                       settings->italicFont());
+    }
 
 // TODO: Remove this check when 4.3.2 is released and KDE requires it... this
 //       check avoids a division by zero happening on versions before 4.3.1.
@@ -134,6 +141,9 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
     updateDecorationSize();
 
     setFocus();
+
+    connect(KGlobalSettings::self(), SIGNAL(kdisplayFontChanged()),
+            this, SLOT(updateFont()));
 }
 
 DolphinDetailsView::~DolphinDetailsView()
@@ -549,6 +559,16 @@ void DolphinDetailsView::requestActivation()
     m_controller->requestActivation();
 }
 
+void DolphinDetailsView::updateFont()
+{
+    const DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
+    Q_ASSERT(settings != 0);
+
+    if (settings->useSystemFont()) {
+        m_font = KGlobalSettings::generalFont();
+    }
+}
+
 bool DolphinDetailsView::isZoomInPossible() const
 {
     DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
index b717a0a51d0cad772617b2f90b16a86b38c30f44..90dfcade5568bc157e79b5c8257484ab47bfea91 100644 (file)
@@ -133,6 +133,8 @@ private slots:
 
     void requestActivation();
 
+    void updateFont();
+
 private:
     bool isZoomInPossible() const;
     bool isZoomOutPossible() const;
index ccf4cbfc5163b05c4370f3099da9f0c8903ed694..96f69436d1d0f2e56bb72acc68b1dbef5383a1e2 100644 (file)
@@ -98,9 +98,14 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controlle
     const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
     Q_ASSERT(settings != 0);
 
-    m_font = QFont(settings->fontFamily(), settings->fontSize());
-    m_font.setItalic(settings->italicFont());
-    m_font.setBold(settings->boldFont());
+    if (settings->useSystemFont()) {
+        m_font = KGlobalSettings::generalFont();
+    } else {
+        m_font = QFont(settings->fontFamily(),
+                       settings->fontSize(),
+                       settings->fontWeight(),
+                       settings->italicFont());
+    }
 
     setWordWrap(settings->numberOfTextlines() > 1);
     updateGridSize(view->showPreview(), 0);
@@ -119,6 +124,9 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controlle
     setCategoryDrawer(m_categoryDrawer);
 
     setFocus();
+
+    connect(KGlobalSettings::self(), SIGNAL(kdisplayFontChanged()),
+            this, SLOT(updateFont()));
 }
 
 DolphinIconsView::~DolphinIconsView()
@@ -407,6 +415,16 @@ void DolphinIconsView::requestActivation()
     m_controller->requestActivation();
 }
 
+void DolphinIconsView::updateFont()
+{
+    const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
+    Q_ASSERT(settings != 0);
+
+    if (settings->useSystemFont()) {
+        m_font = KGlobalSettings::generalFont();
+    }
+}
+
 bool DolphinIconsView::isZoomInPossible() const
 {
     IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
index 05b21a2b0c53c44c55f120c35992aca3cc470e1a..e14d6582fb8389aac531af96896b38ba3cee3c67 100644 (file)
@@ -72,6 +72,7 @@ private slots:
     void zoomIn();
     void zoomOut();
     void requestActivation();
+    void updateFont();
 
 private:
     bool isZoomInPossible() const;
index 970b7202d37c18447cfcb63c206adbf3fda476b5..0a386c89c5e1fe23bd8f66db9a823a490984daf6 100644 (file)
@@ -159,7 +159,7 @@ void IconsViewSettingsPage::applySettings()
     settings->setFontFamily(font.family());
     settings->setFontSize(font.pointSize());
     settings->setItalicFont(font.italic());
-    settings->setBoldFont(font.bold());
+    settings->setFontWeight(font.weight());
 
     settings->setNumberOfTextlines(numberOfTextlines);
 
@@ -196,7 +196,7 @@ void IconsViewSettingsPage::loadSettings()
         QFont font(settings->fontFamily(),
                    settings->fontSize());
         font.setItalic(settings->italicFont());
-        font.setBold(settings->boldFont());
+        font.setWeight(settings->fontWeight());
         m_fontRequester->setMode(DolphinFontRequester::CustomFont);
         m_fontRequester->setCustomFont(font);
     }