┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/settings/viewmodes/viewsettingstab.cpp35
-rw-r--r--src/settings/viewmodes/viewsettingstab.h5
2 files changed, 37 insertions, 3 deletions
diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp
index fc9e94131..425f5e009 100644
--- a/src/settings/viewmodes/viewsettingstab.cpp
+++ b/src/settings/viewmodes/viewsettingstab.cpp
@@ -16,14 +16,17 @@
#include <KLocalizedString>
+#include <KColorScheme>
#include <QApplication>
#include <QButtonGroup>
#include <QCheckBox>
#include <QComboBox>
#include <QFormLayout>
#include <QHelpEvent>
+#include <QLabel>
#include <QRadioButton>
#include <QSpinBox>
+#include <qfont.h>
ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent)
: SettingsPageBase(parent)
@@ -61,6 +64,17 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent)
m_fontRequester = new DolphinFontRequester(this);
topLayout->addRow(i18nc("@label:listbox", "Label font:"), m_fontRequester);
+ // Reserved font style warning
+ m_fontWarningLabel = new QLabel(this);
+ m_fontWarningLabel->setWordWrap(true);
+ m_fontWarningLabel->setVisible(false);
+ m_fontWarningLabel->setText(i18nc("@info", "Some font styles are reserved by Dolphin and may be overridden."));
+ topLayout->addRow(QString(), m_fontWarningLabel);
+ KColorScheme scheme(QPalette::Normal);
+ QPalette palette = m_fontWarningLabel->palette();
+ palette.setColor(QPalette::WindowText, scheme.foreground(KColorScheme::InactiveText).color());
+ m_fontWarningLabel->setPalette(palette);
+
switch (m_mode) {
case IconsMode: {
m_widthBox = new QComboBox();
@@ -114,6 +128,7 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent)
connect(m_defaultSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed);
connect(m_previewSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed);
connect(m_fontRequester, &DolphinFontRequester::changed, this, &ViewSettingsTab::changed);
+ connect(m_fontRequester, &DolphinFontRequester::changed, this, &ViewSettingsTab::checkFontStyle);
switch (m_mode) {
case IconsMode:
@@ -136,6 +151,23 @@ ViewSettingsTab::~ViewSettingsTab()
{
}
+void ViewSettingsTab::checkFontStyle()
+{
+ const QFont font = m_fontRequester->currentFont();
+ const bool wantsReservedStyle = font.italic() || font.underline() || font.strikeOut();
+
+ // Disabled warning for System Font
+ if (m_fontRequester->mode() != DolphinFontRequester::CustomFont) {
+ m_fontWarningLabel->setVisible(false);
+ return;
+ }
+
+ if (wantsReservedStyle) {
+ m_fontWarningLabel->setVisible(true);
+ return;
+ }
+}
+
void ViewSettingsTab::applySettings()
{
switch (m_mode) {
@@ -187,7 +219,6 @@ void ViewSettingsTab::applySettings()
settings.setUseSystemFont(useSystemFont);
settings.setViewFont(font);
-
settings.save();
}
@@ -255,4 +286,4 @@ void ViewSettingsTab::showToolTip(QSlider *slider, int value)
QApplication::sendEvent(slider, &toolTipEvent);
}
-#include "moc_viewsettingstab.cpp"
+#include "moc_viewsettingstab.cpp" \ No newline at end of file
diff --git a/src/settings/viewmodes/viewsettingstab.h b/src/settings/viewmodes/viewsettingstab.h
index 5181e8018..6ea7a3bf3 100644
--- a/src/settings/viewmodes/viewsettingstab.h
+++ b/src/settings/viewmodes/viewsettingstab.h
@@ -15,6 +15,7 @@ class QCheckBox;
class QSlider;
class QSpinBox;
class QRadioButton;
+class QLabel;
/**
* @brief Represents one tab of the view-settings page.
@@ -36,6 +37,7 @@ private Q_SLOTS:
void slotDefaultSliderMoved(int value);
void slotPreviewSliderMoved(int value);
+ void checkFontStyle();
private:
void loadSettings();
@@ -52,6 +54,7 @@ private:
QRadioButton *m_entireRow;
QRadioButton *m_iconAndNameOnly;
QCheckBox *m_expandableFolders;
+ QLabel *m_fontWarningLabel;
};
-#endif
+#endif \ No newline at end of file