┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-02-17 15:50:06 +0000
committerPeter Penz <[email protected]>2008-02-17 15:50:06 +0000
commit51cbeaf512da9ebaefb0bfcaa21cca0f47d1b79d (patch)
treeedc8cfe7ed230f4b017560efff561f6626bb9e91
parent98497a639a8ddba1bbe52ea96f54c5d40e53eef9 (diff)
* 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: [email protected] svn path=/trunk/KDE/kdebase/apps/; revision=776188
-rw-r--r--src/columnviewsettingspage.cpp4
-rw-r--r--src/detailsviewsettingspage.cpp4
-rw-r--r--src/dolphin_columnmodesettings.kcfg6
-rw-r--r--src/dolphin_detailsmodesettings.kcfg6
-rw-r--r--src/dolphin_iconsmodesettings.kcfg6
-rw-r--r--src/dolphincolumnwidget.cpp27
-rw-r--r--src/dolphincolumnwidget.h2
-rw-r--r--src/dolphindetailsview.cpp22
-rw-r--r--src/dolphindetailsview.h2
-rw-r--r--src/dolphiniconsview.cpp24
-rw-r--r--src/dolphiniconsview.h1
-rw-r--r--src/iconsviewsettingspage.cpp4
12 files changed, 85 insertions, 23 deletions
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 @@
<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>
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 @@
<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>
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 @@
<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>
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);
}