diff options
| author | Ahmad Samir <[email protected]> | 2022-05-05 20:31:30 +0200 |
|---|---|---|
| committer | Ahmad Samir <[email protected]> | 2022-05-31 14:25:13 +0000 |
| commit | 5cbe6b530249ab5f5b1b9f57cf794a2b7faec269 (patch) | |
| tree | 459032dd1c18b916545629784b0b941262545697 /src/settings/viewmodes/viewmodesettings.cpp | |
| parent | 802ecc92d2ac9c0dd32687b5d9e535f6b1618652 (diff) | |
Migrate old custom view font config entries
Diffstat (limited to 'src/settings/viewmodes/viewmodesettings.cpp')
| -rw-r--r-- | src/settings/viewmodes/viewmodesettings.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/settings/viewmodes/viewmodesettings.cpp b/src/settings/viewmodes/viewmodesettings.cpp index 73a91a272..37675df29 100644 --- a/src/settings/viewmodes/viewmodesettings.cpp +++ b/src/settings/viewmodes/viewmodesettings.cpp @@ -11,7 +11,43 @@ #include "dolphin_detailsmodesettings.h" #include "dolphin_iconsmodesettings.h" +#include "dolphin_generalsettings.h" + +ViewModeSettings::ViewModeSettings() +{ + auto removeEntries = [](KConfigGroup &group) { + group.deleteEntry("FontFamily"); + group.deleteEntry("FontWeight"); + group.deleteEntry("ItalicFont"); + }; + + KSharedConfig::Ptr config = KSharedConfig::openConfig(); + // Migrate old config entries + if (GeneralSettings::version() < 202) { + for (const char *groupName : {"CompactMode", "DetailsMode", "IconsMode"}) { + KConfigGroup group = config->group(groupName); + const QString family = group.readEntry("FontFamily", QString{}); + if (family.isEmpty()) { + removeEntries(group); + continue; + } + + QFont font; + font.setFamily(family); + font.setWeight(group.readEntry<int>("FontWeight", QFont::Normal)); + font.setItalic(group.readEntry("ItalicFont", false)); + removeEntries(group); + + // Write the new config entry + group.writeEntry("ViewFont", font); + } + + config->sync(); + } +} + ViewModeSettings::ViewModeSettings(DolphinView::Mode mode) + : ViewModeSettings() { switch (mode) { case DolphinView::IconsView: m_viewModeSettingsVariant = IconsModeSettings::self(); return; @@ -23,6 +59,7 @@ ViewModeSettings::ViewModeSettings(DolphinView::Mode mode) } ViewModeSettings::ViewModeSettings(ViewSettingsTab::Mode mode) + : ViewModeSettings() { switch (mode) { case ViewSettingsTab::IconsMode: m_viewModeSettingsVariant = IconsModeSettings::self(); return; @@ -34,6 +71,7 @@ ViewModeSettings::ViewModeSettings(ViewSettingsTab::Mode mode) } ViewModeSettings::ViewModeSettings(KStandardItemListView::ItemLayout itemLayout) + : ViewModeSettings() { switch (itemLayout) { case KStandardItemListView::IconsLayout: m_viewModeSettingsVariant = IconsModeSettings::self(); return; |
