1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
/*
* SPDX-FileCopyrightText: 2011 Peter Penz <[email protected]>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "viewmodesettings.h"
#include "dolphin_compactmodesettings.h"
#include "dolphin_detailsmodesettings.h"
#include "dolphin_iconsmodesettings.h"
#define VIEWMODESETTINGS_SET_VALUE(mode, setValue, value) \
switch (mode) { \
case ViewModeSettings::IconsMode: IconsModeSettings::setValue(value); break; \
case ViewModeSettings::CompactMode: CompactModeSettings::setValue(value); break; \
case ViewModeSettings::DetailsMode: DetailsModeSettings::setValue(value); break; \
default: Q_ASSERT(false); break; \
}
#define VIEWMODESETTINGS_RETURN_VALUE(mode, getValue, type) \
type value; \
switch (m_mode) { \
case IconsMode: value = IconsModeSettings::getValue(); break; \
case CompactMode: value = CompactModeSettings::getValue(); break; \
case DetailsMode: value = DetailsModeSettings::getValue(); break; \
default: value = IconsModeSettings::getValue(); \
Q_ASSERT(false); \
break; \
} \
return value
ViewModeSettings::ViewModeSettings(ViewMode mode) :
m_mode(mode)
{
}
ViewModeSettings::~ViewModeSettings()
{
}
void ViewModeSettings::setIconSize(int size) const
{
VIEWMODESETTINGS_SET_VALUE(m_mode, setIconSize, size);
}
int ViewModeSettings::iconSize() const
{
VIEWMODESETTINGS_RETURN_VALUE(m_mode, iconSize, int);
}
void ViewModeSettings::setPreviewSize(int size) const
{
VIEWMODESETTINGS_SET_VALUE(m_mode, setPreviewSize, size);
}
int ViewModeSettings::previewSize() const
{
VIEWMODESETTINGS_RETURN_VALUE(m_mode, previewSize, int);
}
void ViewModeSettings::setUseSystemFont(bool flag)
{
VIEWMODESETTINGS_SET_VALUE(m_mode, setUseSystemFont, flag);
}
bool ViewModeSettings::useSystemFont() const
{
VIEWMODESETTINGS_RETURN_VALUE(m_mode, useSystemFont, bool);
}
void ViewModeSettings::setFontFamily(const QString& fontFamily)
{
VIEWMODESETTINGS_SET_VALUE(m_mode, setFontFamily, fontFamily);
}
QString ViewModeSettings::fontFamily() const
{
VIEWMODESETTINGS_RETURN_VALUE(m_mode, fontFamily, QString);
}
void ViewModeSettings::setFontSize(qreal fontSize)
{
VIEWMODESETTINGS_SET_VALUE(m_mode, setFontSize, fontSize);
}
qreal ViewModeSettings::fontSize() const
{
VIEWMODESETTINGS_RETURN_VALUE(m_mode, fontSize, qreal);
}
void ViewModeSettings::setItalicFont(bool italic)
{
VIEWMODESETTINGS_SET_VALUE(m_mode, setItalicFont, italic);
}
bool ViewModeSettings::italicFont() const
{
VIEWMODESETTINGS_RETURN_VALUE(m_mode, italicFont, bool);
}
void ViewModeSettings::setFontWeight(int fontWeight)
{
VIEWMODESETTINGS_SET_VALUE(m_mode, setFontWeight, fontWeight);
}
int ViewModeSettings::fontWeight() const
{
VIEWMODESETTINGS_RETURN_VALUE(m_mode, fontWeight, int);
}
void ViewModeSettings::readConfig()
{
switch (m_mode) {
case ViewModeSettings::IconsMode: IconsModeSettings::self()->load(); break;
case ViewModeSettings::CompactMode: CompactModeSettings::self()->load(); break;
case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->load(); break;
default: Q_ASSERT(false); break;
}
}
void ViewModeSettings::save()
{
switch (m_mode) {
case ViewModeSettings::IconsMode: IconsModeSettings::self()->save(); break;
case ViewModeSettings::CompactMode: CompactModeSettings::self()->save(); break;
case ViewModeSettings::DetailsMode: DetailsModeSettings::self()->save(); break;
default: Q_ASSERT(false); break;
}
}
|