Changeset View
Changeset View
Standalone View
Standalone View
src/settings/viewmodes/viewsettingstab.cpp
Show First 20 Lines • Show All 83 Lines • ▼ Show 20 Line(s) | 49 | { | |||
---|---|---|---|---|---|
84 | QLabel* fontLabel = new QLabel(i18nc("@label:listbox", "Font:"), textGroup); | 84 | QLabel* fontLabel = new QLabel(i18nc("@label:listbox", "Font:"), textGroup); | ||
85 | m_fontRequester = new DolphinFontRequester(textGroup); | 85 | m_fontRequester = new DolphinFontRequester(textGroup); | ||
86 | 86 | | |||
87 | QGridLayout* textGroupLayout = new QGridLayout(textGroup); | 87 | QGridLayout* textGroupLayout = new QGridLayout(textGroup); | ||
88 | textGroupLayout->addWidget(fontLabel, 0, 0, Qt::AlignRight); | 88 | textGroupLayout->addWidget(fontLabel, 0, 0, Qt::AlignRight); | ||
89 | textGroupLayout->addWidget(m_fontRequester, 0, 1); | 89 | textGroupLayout->addWidget(m_fontRequester, 0, 1); | ||
90 | 90 | | |||
91 | switch (m_mode) { | 91 | switch (m_mode) { | ||
92 | case IconsMode: { | 92 | case Mode::Icons: { | ||
93 | QLabel* widthLabel = new QLabel(i18nc("@label:listbox", "Width:"), textGroup); | 93 | QLabel* widthLabel = new QLabel(i18nc("@label:listbox", "Width:"), textGroup); | ||
94 | m_widthBox = new KComboBox(textGroup); | 94 | m_widthBox = new KComboBox(textGroup); | ||
95 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Small")); | 95 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Small")); | ||
96 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Medium")); | 96 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Medium")); | ||
97 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Large")); | 97 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Large")); | ||
98 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Huge")); | 98 | m_widthBox->addItem(i18nc("@item:inlistbox Text width", "Huge")); | ||
99 | 99 | | |||
100 | QLabel* maxLinesLabel = new QLabel(i18nc("@label:listbox", "Maximum lines:"), textGroup); | 100 | QLabel* maxLinesLabel = new QLabel(i18nc("@label:listbox", "Maximum lines:"), textGroup); | ||
101 | m_maxLinesBox = new KComboBox(textGroup); | 101 | m_maxLinesBox = new KComboBox(textGroup); | ||
102 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "Unlimited")); | 102 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "Unlimited")); | ||
103 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "1")); | 103 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "1")); | ||
104 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "2")); | 104 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "2")); | ||
105 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "3")); | 105 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "3")); | ||
106 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "4")); | 106 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "4")); | ||
107 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "5")); | 107 | m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "5")); | ||
108 | 108 | | |||
109 | textGroupLayout->addWidget(widthLabel, 2, 0, Qt::AlignRight); | 109 | textGroupLayout->addWidget(widthLabel, 2, 0, Qt::AlignRight); | ||
110 | textGroupLayout->addWidget(m_widthBox, 2, 1); | 110 | textGroupLayout->addWidget(m_widthBox, 2, 1); | ||
111 | textGroupLayout->addWidget(maxLinesLabel, 3, 0, Qt::AlignRight); | 111 | textGroupLayout->addWidget(maxLinesLabel, 3, 0, Qt::AlignRight); | ||
112 | textGroupLayout->addWidget(m_maxLinesBox, 3, 1); | 112 | textGroupLayout->addWidget(m_maxLinesBox, 3, 1); | ||
113 | break; | 113 | break; | ||
114 | } | 114 | } | ||
115 | case CompactMode: { | 115 | case Mode::Compact: { | ||
116 | QLabel* maxWidthLabel = new QLabel(i18nc("@label:listbox", "Maximum width:"), textGroup); | 116 | QLabel* maxWidthLabel = new QLabel(i18nc("@label:listbox", "Maximum width:"), textGroup); | ||
117 | m_widthBox = new KComboBox(textGroup); | 117 | m_widthBox = new KComboBox(textGroup); | ||
118 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Unlimited")); | 118 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Unlimited")); | ||
119 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Small")); | 119 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Small")); | ||
120 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Medium")); | 120 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Medium")); | ||
121 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Large")); | 121 | m_widthBox->addItem(i18nc("@item:inlistbox Maximum width", "Large")); | ||
122 | 122 | | |||
123 | textGroupLayout->addWidget(maxWidthLabel, 2, 0, Qt::AlignRight); | 123 | textGroupLayout->addWidget(maxWidthLabel, 2, 0, Qt::AlignRight); | ||
124 | textGroupLayout->addWidget(m_widthBox, 2, 1); | 124 | textGroupLayout->addWidget(m_widthBox, 2, 1); | ||
125 | break; | 125 | break; | ||
126 | } | 126 | } | ||
127 | case DetailsMode: | 127 | case Mode::Details: | ||
128 | m_expandableFolders = new QCheckBox(i18nc("@option:check", "Expandable folders"), this); | 128 | m_expandableFolders = new QCheckBox(i18nc("@option:check", "Expandable folders"), this); | ||
129 | break; | 129 | break; | ||
130 | default: | 130 | default: | ||
131 | break; | 131 | break; | ||
132 | } | 132 | } | ||
133 | 133 | | |||
134 | topLayout->addWidget(iconSizeGroup); | 134 | topLayout->addWidget(iconSizeGroup); | ||
135 | topLayout->addWidget(textGroup); | 135 | topLayout->addWidget(textGroup); | ||
136 | if (m_expandableFolders) { | 136 | if (m_expandableFolders) { | ||
137 | topLayout->addWidget(m_expandableFolders); | 137 | topLayout->addWidget(m_expandableFolders); | ||
138 | } | 138 | } | ||
139 | topLayout->addStretch(1); | 139 | topLayout->addStretch(1); | ||
140 | 140 | | |||
141 | loadSettings(); | 141 | loadSettings(); | ||
142 | 142 | | |||
143 | connect(m_defaultSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed); | 143 | connect(m_defaultSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed); | ||
144 | connect(m_previewSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed); | 144 | connect(m_previewSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed); | ||
145 | connect(m_fontRequester, &DolphinFontRequester::changed, this, &ViewSettingsTab::changed); | 145 | connect(m_fontRequester, &DolphinFontRequester::changed, this, &ViewSettingsTab::changed); | ||
146 | 146 | | |||
147 | switch (m_mode) { | 147 | switch (m_mode) { | ||
148 | case IconsMode: | 148 | case Mode::Icons: | ||
149 | connect(m_widthBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); | 149 | connect(m_widthBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); | ||
150 | connect(m_maxLinesBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); | 150 | connect(m_maxLinesBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); | ||
151 | break; | 151 | break; | ||
152 | case CompactMode: | 152 | case Mode::Compact: | ||
153 | connect(m_widthBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); | 153 | connect(m_widthBox, static_cast<void(KComboBox::*)(int)>(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); | ||
154 | break; | 154 | break; | ||
155 | case DetailsMode: | 155 | case Mode::Details: | ||
156 | connect(m_expandableFolders, &QCheckBox::toggled, this, &ViewSettingsTab::changed); | 156 | connect(m_expandableFolders, &QCheckBox::toggled, this, &ViewSettingsTab::changed); | ||
157 | break; | 157 | break; | ||
158 | default: | 158 | default: | ||
159 | break; | 159 | break; | ||
160 | } | 160 | } | ||
161 | } | 161 | } | ||
162 | 162 | | |||
163 | ViewSettingsTab::~ViewSettingsTab() | 163 | ViewSettingsTab::~ViewSettingsTab() | ||
164 | { | 164 | { | ||
165 | } | 165 | } | ||
166 | 166 | | |||
167 | void ViewSettingsTab::applySettings() | 167 | void ViewSettingsTab::applySettings() | ||
168 | { | 168 | { | ||
169 | const QFont font = m_fontRequester->currentFont(); | 169 | const QFont font = m_fontRequester->currentFont(); | ||
170 | const bool useSystemFont = (m_fontRequester->mode() == DolphinFontRequester::SystemFont); | 170 | const bool useSystemFont = (m_fontRequester->mode() == DolphinFontRequester::Mode::SystemFont); | ||
171 | 171 | | |||
172 | switch (m_mode) { | 172 | switch (m_mode) { | ||
173 | case IconsMode: | 173 | case Mode::Icons: | ||
174 | IconsModeSettings::setTextWidthIndex(m_widthBox->currentIndex()); | 174 | IconsModeSettings::setTextWidthIndex(m_widthBox->currentIndex()); | ||
175 | IconsModeSettings::setMaximumTextLines(m_maxLinesBox->currentIndex()); | 175 | IconsModeSettings::setMaximumTextLines(m_maxLinesBox->currentIndex()); | ||
176 | break; | 176 | break; | ||
177 | case CompactMode: | 177 | case Mode::Compact: | ||
178 | CompactModeSettings::setMaximumTextWidthIndex(m_widthBox->currentIndex()); | 178 | CompactModeSettings::setMaximumTextWidthIndex(m_widthBox->currentIndex()); | ||
179 | break; | 179 | break; | ||
180 | case DetailsMode: | 180 | case Mode::Details: | ||
181 | DetailsModeSettings::setExpandableFolders(m_expandableFolders->isChecked()); | 181 | DetailsModeSettings::setExpandableFolders(m_expandableFolders->isChecked()); | ||
182 | break; | 182 | break; | ||
183 | default: | 183 | default: | ||
184 | break; | 184 | break; | ||
185 | } | 185 | } | ||
186 | 186 | | |||
187 | ViewModeSettings settings(viewMode()); | 187 | ViewModeSettings settings(viewMode()); | ||
188 | 188 | | |||
Show All 10 Lines | |||||
199 | 199 | | |||
200 | settings.save(); | 200 | settings.save(); | ||
201 | } | 201 | } | ||
202 | 202 | | |||
203 | void ViewSettingsTab::restoreDefaultSettings() | 203 | void ViewSettingsTab::restoreDefaultSettings() | ||
204 | { | 204 | { | ||
205 | KConfigSkeleton* settings = nullptr; | 205 | KConfigSkeleton* settings = nullptr; | ||
206 | switch (m_mode) { | 206 | switch (m_mode) { | ||
207 | case IconsMode: settings = IconsModeSettings::self(); break; | 207 | case Mode::Icons: settings = IconsModeSettings::self(); break; | ||
208 | case CompactMode: settings = CompactModeSettings::self(); break; | 208 | case Mode::Compact: settings = CompactModeSettings::self(); break; | ||
209 | case DetailsMode: settings = DetailsModeSettings::self(); break; | 209 | case Mode::Details: settings = DetailsModeSettings::self(); break; | ||
210 | default: Q_ASSERT(false); break; | 210 | default: Q_ASSERT(false); break; | ||
211 | } | 211 | } | ||
212 | 212 | | |||
213 | settings->useDefaults(true); | 213 | settings->useDefaults(true); | ||
214 | loadSettings(); | 214 | loadSettings(); | ||
215 | settings->useDefaults(false); | 215 | settings->useDefaults(false); | ||
216 | } | 216 | } | ||
217 | 217 | | |||
218 | void ViewSettingsTab::loadSettings() | 218 | void ViewSettingsTab::loadSettings() | ||
219 | { | 219 | { | ||
220 | switch (m_mode) { | 220 | switch (m_mode) { | ||
221 | case IconsMode: | 221 | case Mode::Icons: | ||
222 | m_widthBox->setCurrentIndex(IconsModeSettings::textWidthIndex()); | 222 | m_widthBox->setCurrentIndex(IconsModeSettings::textWidthIndex()); | ||
223 | m_maxLinesBox->setCurrentIndex(IconsModeSettings::maximumTextLines()); | 223 | m_maxLinesBox->setCurrentIndex(IconsModeSettings::maximumTextLines()); | ||
224 | break; | 224 | break; | ||
225 | case CompactMode: | 225 | case Mode::Compact: | ||
226 | m_widthBox->setCurrentIndex(CompactModeSettings::maximumTextWidthIndex()); | 226 | m_widthBox->setCurrentIndex(CompactModeSettings::maximumTextWidthIndex()); | ||
227 | break; | 227 | break; | ||
228 | case DetailsMode: | 228 | case Mode::Details: | ||
229 | m_expandableFolders->setChecked(DetailsModeSettings::expandableFolders()); | 229 | m_expandableFolders->setChecked(DetailsModeSettings::expandableFolders()); | ||
230 | break; | 230 | break; | ||
231 | default: | 231 | default: | ||
232 | break; | 232 | break; | ||
233 | } | 233 | } | ||
234 | 234 | | |||
235 | const ViewModeSettings settings(viewMode()); | 235 | const ViewModeSettings settings(viewMode()); | ||
236 | 236 | | |||
237 | const QSize iconSize(settings.iconSize(), settings.iconSize()); | 237 | const QSize iconSize(settings.iconSize(), settings.iconSize()); | ||
238 | m_defaultSizeSlider->setValue(ZoomLevelInfo::zoomLevelForIconSize(iconSize)); | 238 | m_defaultSizeSlider->setValue(ZoomLevelInfo::zoomLevelForIconSize(iconSize)); | ||
239 | 239 | | |||
240 | const QSize previewSize(settings.previewSize(), settings.previewSize()); | 240 | const QSize previewSize(settings.previewSize(), settings.previewSize()); | ||
241 | m_previewSizeSlider->setValue(ZoomLevelInfo::zoomLevelForIconSize(previewSize)); | 241 | m_previewSizeSlider->setValue(ZoomLevelInfo::zoomLevelForIconSize(previewSize)); | ||
242 | 242 | | |||
243 | m_fontRequester->setMode(settings.useSystemFont() | 243 | m_fontRequester->setMode(settings.useSystemFont() | ||
244 | ? DolphinFontRequester::SystemFont | 244 | ? DolphinFontRequester::Mode::SystemFont | ||
245 | : DolphinFontRequester::CustomFont); | 245 | : DolphinFontRequester::Mode::CustomFont); | ||
246 | 246 | | |||
247 | QFont font(settings.fontFamily(), qRound(settings.fontSize())); | 247 | QFont font(settings.fontFamily(), qRound(settings.fontSize())); | ||
248 | font.setItalic(settings.italicFont()); | 248 | font.setItalic(settings.italicFont()); | ||
249 | font.setWeight(settings.fontWeight()); | 249 | font.setWeight(settings.fontWeight()); | ||
250 | font.setPointSizeF(settings.fontSize()); | 250 | font.setPointSizeF(settings.fontSize()); | ||
251 | m_fontRequester->setCustomFont(font); | 251 | m_fontRequester->setCustomFont(font); | ||
252 | } | 252 | } | ||
253 | 253 | | |||
254 | ViewModeSettings::ViewMode ViewSettingsTab::viewMode() const | 254 | ViewModeSettings::ViewMode ViewSettingsTab::viewMode() const | ||
255 | { | 255 | { | ||
256 | ViewModeSettings::ViewMode mode; | 256 | ViewModeSettings::ViewMode mode; | ||
257 | 257 | | |||
258 | switch (m_mode) { | 258 | switch (m_mode) { | ||
259 | case ViewSettingsTab::IconsMode: mode = ViewModeSettings::IconsMode; break; | 259 | case ViewSettingsTab::Mode::Icons: mode = ViewModeSettings::ViewMode::Icons; break; | ||
260 | case ViewSettingsTab::CompactMode: mode = ViewModeSettings::CompactMode; break; | 260 | case ViewSettingsTab::Mode::Compact: mode = ViewModeSettings::ViewMode::Compact; break; | ||
261 | case ViewSettingsTab::DetailsMode: mode = ViewModeSettings::DetailsMode; break; | 261 | case ViewSettingsTab::Mode::Details: mode = ViewModeSettings::ViewMode::Details; break; | ||
262 | default: mode = ViewModeSettings::IconsMode; | 262 | default: mode = ViewModeSettings::ViewMode::Icons; | ||
263 | Q_ASSERT(false); | 263 | Q_ASSERT(false); | ||
264 | break; | 264 | break; | ||
265 | } | 265 | } | ||
266 | 266 | | |||
267 | return mode; | 267 | return mode; | ||
268 | } | 268 | } | ||
269 | 269 | | |||
270 | 270 | | |||
Show All 23 Lines |