From: Peter Penz Date: Sun, 17 Feb 2008 15:50:06 +0000 (+0000) Subject: * if the system font is changed during Dolphin is open, take care to update the used... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/51cbeaf512da9ebaefb0bfcaa21cca0f47d1b79d?ds=sidebyside * if the system font is changed during Dolphin is open, take care to update the used font of all views too (assuming that the user selected "system font" as font) * 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 --- diff --git a/src/columnviewsettingspage.cpp b/src/columnviewsettingspage.cpp index f5e2319bf..44d2a4127 100644 --- a/src/columnviewsettingspage.cpp +++ b/src/columnviewsettingspage.cpp @@ -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); } diff --git a/src/detailsviewsettingspage.cpp b/src/detailsviewsettingspage.cpp index 7ff25179d..8838ee7ec 100644 --- a/src/detailsviewsettingspage.cpp +++ b/src/detailsviewsettingspage.cpp @@ -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); } diff --git a/src/dolphin_columnmodesettings.kcfg b/src/dolphin_columnmodesettings.kcfg index 54887d9e9..abb35344a 100644 --- a/src/dolphin_columnmodesettings.kcfg +++ b/src/dolphin_columnmodesettings.kcfg @@ -21,9 +21,9 @@ false - - - false + + + 0 diff --git a/src/dolphin_detailsmodesettings.kcfg b/src/dolphin_detailsmodesettings.kcfg index be62e797a..3e0628af4 100644 --- a/src/dolphin_detailsmodesettings.kcfg +++ b/src/dolphin_detailsmodesettings.kcfg @@ -21,9 +21,9 @@ false - - - false + + + 0 diff --git a/src/dolphin_iconsmodesettings.kcfg b/src/dolphin_iconsmodesettings.kcfg index ef1ec456f..c49f25bcc 100644 --- a/src/dolphin_iconsmodesettings.kcfg +++ b/src/dolphin_iconsmodesettings.kcfg @@ -26,9 +26,9 @@ false - - - false + + + 0 diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp index 9e6f9719b..2e661fe1e 100644 --- a/src/dolphincolumnwidget.cpp +++ b/src/dolphincolumnwidget.cpp @@ -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); diff --git a/src/dolphincolumnwidget.h b/src/dolphincolumnwidget.h index 1054af2e3..25da35bd8 100644 --- a/src/dolphincolumnwidget.h +++ b/src/dolphincolumnwidget.h @@ -124,6 +124,8 @@ private slots: void requestActivation(); + void updateFont(); + private: /** Used by DolphinColumnWidget::setActive(). */ void activate(); diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index ff4ce540f..75481fb36 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -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(); diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h index b717a0a51..90dfcade5 100644 --- a/src/dolphindetailsview.h +++ b/src/dolphindetailsview.h @@ -133,6 +133,8 @@ private slots: void requestActivation(); + void updateFont(); + private: bool isZoomInPossible() const; bool isZoomOutPossible() const; diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index ccf4cbfc5..96f69436d 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -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(); diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h index 05b21a2b0..e14d6582f 100644 --- a/src/dolphiniconsview.h +++ b/src/dolphiniconsview.h @@ -72,6 +72,7 @@ private slots: void zoomIn(); void zoomOut(); void requestActivation(); + void updateFont(); private: bool isZoomInPossible() const; diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp index 970b7202d..0a386c89c 100644 --- a/src/iconsviewsettingspage.cpp +++ b/src/iconsviewsettingspage.cpp @@ -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); }