mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 03:21:56 +00:00
Migrate old custom view font config entries
This commit is contained in:
parent
802ecc92d2
commit
5cbe6b5302
|
@ -86,8 +86,10 @@
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
// Used for GeneralSettings::version() to determine whether
|
// Used for GeneralSettings::version() to determine whether
|
||||||
// an updated version of Dolphin is running.
|
// an updated version of Dolphin is running, so as to migrate
|
||||||
const int CurrentDolphinVersion = 201;
|
// removed/renamed ...etc config entries; increment it in such
|
||||||
|
// cases
|
||||||
|
const int CurrentDolphinVersion = 202;
|
||||||
// The maximum number of entries in the back/forward popup menu
|
// The maximum number of entries in the back/forward popup menu
|
||||||
const int MaxNumberOfNavigationentries = 12;
|
const int MaxNumberOfNavigationentries = 12;
|
||||||
// The maximum number of "Activate Tab" shortcuts
|
// The maximum number of "Activate Tab" shortcuts
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
</entry>
|
</entry>
|
||||||
<entry name="Version" type="Int">
|
<entry name="Version" type="Int">
|
||||||
<label>Internal version of Dolphin, containing 3 digits for major, minor, bugfix</label>
|
<label>Internal config version of Dolphin, mainly Used to determine whether an updated version of Dolphin is running, so as to migrate config entries that were removed/renamed ...etc</label>
|
||||||
<default>0</default>
|
<default>0</default>
|
||||||
</entry>
|
</entry>
|
||||||
<entry name="ModifiedStartupSettings" type="Bool">
|
<entry name="ModifiedStartupSettings" type="Bool">
|
||||||
|
|
|
@ -11,7 +11,43 @@
|
||||||
#include "dolphin_detailsmodesettings.h"
|
#include "dolphin_detailsmodesettings.h"
|
||||||
#include "dolphin_iconsmodesettings.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::ViewModeSettings(DolphinView::Mode mode)
|
||||||
|
: ViewModeSettings()
|
||||||
{
|
{
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case DolphinView::IconsView: m_viewModeSettingsVariant = IconsModeSettings::self(); return;
|
case DolphinView::IconsView: m_viewModeSettingsVariant = IconsModeSettings::self(); return;
|
||||||
|
@ -23,6 +59,7 @@ ViewModeSettings::ViewModeSettings(DolphinView::Mode mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewModeSettings::ViewModeSettings(ViewSettingsTab::Mode mode)
|
ViewModeSettings::ViewModeSettings(ViewSettingsTab::Mode mode)
|
||||||
|
: ViewModeSettings()
|
||||||
{
|
{
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case ViewSettingsTab::IconsMode: m_viewModeSettingsVariant = IconsModeSettings::self(); return;
|
case ViewSettingsTab::IconsMode: m_viewModeSettingsVariant = IconsModeSettings::self(); return;
|
||||||
|
@ -34,6 +71,7 @@ ViewModeSettings::ViewModeSettings(ViewSettingsTab::Mode mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewModeSettings::ViewModeSettings(KStandardItemListView::ItemLayout itemLayout)
|
ViewModeSettings::ViewModeSettings(KStandardItemListView::ItemLayout itemLayout)
|
||||||
|
: ViewModeSettings()
|
||||||
{
|
{
|
||||||
switch (itemLayout) {
|
switch (itemLayout) {
|
||||||
case KStandardItemListView::IconsLayout: m_viewModeSettingsVariant = IconsModeSettings::self(); return;
|
case KStandardItemListView::IconsLayout: m_viewModeSettingsVariant = IconsModeSettings::self(); return;
|
||||||
|
|
|
@ -48,6 +48,8 @@ public:
|
||||||
void save();
|
void save();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
explicit ViewModeSettings();
|
||||||
|
|
||||||
std::variant<IconsModeSettings *, CompactModeSettings *, DetailsModeSettings *> m_viewModeSettingsVariant;
|
std::variant<IconsModeSettings *, CompactModeSettings *, DetailsModeSettings *> m_viewModeSettingsVariant;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue