Changeset View
Changeset View
Standalone View
Standalone View
src/views/dolphinitemlistview.cpp
Show First 20 Lines • Show All 103 Lines • ▼ Show 20 Line(s) | |||||
104 | 104 | | |||
105 | KItemListWidgetCreatorBase* DolphinItemListView::defaultWidgetCreator() const | 105 | KItemListWidgetCreatorBase* DolphinItemListView::defaultWidgetCreator() const | ||
106 | { | 106 | { | ||
107 | return new KItemListWidgetCreator<DolphinFileItemListWidget>(); | 107 | return new KItemListWidgetCreator<DolphinFileItemListWidget>(); | ||
108 | } | 108 | } | ||
109 | 109 | | |||
110 | bool DolphinItemListView::itemLayoutSupportsItemExpanding(ItemLayout layout) const | 110 | bool DolphinItemListView::itemLayoutSupportsItemExpanding(ItemLayout layout) const | ||
111 | { | 111 | { | ||
112 | return layout == DetailsLayout && DetailsModeSettings::expandableFolders(); | 112 | return layout == ItemLayout::Details && DetailsModeSettings::expandableFolders(); | ||
113 | } | 113 | } | ||
114 | 114 | | |||
115 | void DolphinItemListView::onItemLayoutChanged(ItemLayout current, ItemLayout previous) | 115 | void DolphinItemListView::onItemLayoutChanged(ItemLayout current, ItemLayout previous) | ||
116 | { | 116 | { | ||
117 | setHeaderVisible(current == DetailsLayout); | 117 | setHeaderVisible(current == ItemLayout::Details); | ||
118 | 118 | | |||
119 | updateFont(); | 119 | updateFont(); | ||
120 | updateGridSize(); | 120 | updateGridSize(); | ||
121 | 121 | | |||
122 | KFileItemListView::onItemLayoutChanged(current, previous); | 122 | KFileItemListView::onItemLayoutChanged(current, previous); | ||
123 | } | 123 | } | ||
124 | 124 | | |||
125 | void DolphinItemListView::onPreviewsShownChanged(bool shown) | 125 | void DolphinItemListView::onPreviewsShownChanged(bool shown) | ||
▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Line(s) | 159 | { | |||
170 | 170 | | |||
171 | // Calculate the item-width and item-height | 171 | // Calculate the item-width and item-height | ||
172 | int itemWidth; | 172 | int itemWidth; | ||
173 | int itemHeight; | 173 | int itemHeight; | ||
174 | int maxTextLines = 0; | 174 | int maxTextLines = 0; | ||
175 | int maxTextWidth = 0; | 175 | int maxTextWidth = 0; | ||
176 | 176 | | |||
177 | switch (itemLayout()) { | 177 | switch (itemLayout()) { | ||
178 | case KFileItemListView::IconsLayout: { | 178 | case KFileItemListView::ItemLayout::Icons: { | ||
179 | const int minItemWidth = 48; | 179 | const int minItemWidth = 48; | ||
180 | itemWidth = minItemWidth + IconsModeSettings::textWidthIndex() * 64; | 180 | itemWidth = minItemWidth + IconsModeSettings::textWidthIndex() * 64; | ||
181 | 181 | | |||
182 | if (previewsShown()) { | 182 | if (previewsShown()) { | ||
183 | // Optimize the width for previews with a 3:2 aspect ratio instead | 183 | // Optimize the width for previews with a 3:2 aspect ratio instead | ||
184 | // of a 1:1 ratio to avoid wasting too much vertical space when | 184 | // of a 1:1 ratio to avoid wasting too much vertical space when | ||
185 | // showing photos. | 185 | // showing photos. | ||
186 | const int minWidth = iconSize * 3 / 2; | 186 | const int minWidth = iconSize * 3 / 2; | ||
187 | itemWidth = qMax(itemWidth, minWidth); | 187 | itemWidth = qMax(itemWidth, minWidth); | ||
188 | } | 188 | } | ||
189 | 189 | | |||
190 | if (itemWidth < iconSize + padding * 2) { | 190 | if (itemWidth < iconSize + padding * 2) { | ||
191 | itemWidth = iconSize + padding * 2; | 191 | itemWidth = iconSize + padding * 2; | ||
192 | } | 192 | } | ||
193 | 193 | | |||
194 | itemHeight = padding * 3 + iconSize + option.fontMetrics.lineSpacing(); | 194 | itemHeight = padding * 3 + iconSize + option.fontMetrics.lineSpacing(); | ||
195 | 195 | | |||
196 | horizontalMargin = 4; | 196 | horizontalMargin = 4; | ||
197 | verticalMargin = 8; | 197 | verticalMargin = 8; | ||
198 | maxTextLines = IconsModeSettings::maximumTextLines(); | 198 | maxTextLines = IconsModeSettings::maximumTextLines(); | ||
199 | break; | 199 | break; | ||
200 | } | 200 | } | ||
201 | case KFileItemListView::CompactLayout: { | 201 | case KFileItemListView::ItemLayout::Compact: { | ||
202 | itemWidth = padding * 4 + iconSize + option.fontMetrics.height() * 5; | 202 | itemWidth = padding * 4 + iconSize + option.fontMetrics.height() * 5; | ||
203 | const int textLinesCount = visibleRoles().count(); | 203 | const int textLinesCount = visibleRoles().count(); | ||
204 | itemHeight = padding * 2 + qMax(iconSize, textLinesCount * option.fontMetrics.lineSpacing()); | 204 | itemHeight = padding * 2 + qMax(iconSize, textLinesCount * option.fontMetrics.lineSpacing()); | ||
205 | 205 | | |||
206 | if (CompactModeSettings::maximumTextWidthIndex() > 0) { | 206 | if (CompactModeSettings::maximumTextWidthIndex() > 0) { | ||
207 | // A restriction is given for the maximum width of the text (0 means | 207 | // A restriction is given for the maximum width of the text (0 means | ||
208 | // having no restriction) | 208 | // having no restriction) | ||
209 | maxTextWidth = option.fontMetrics.height() * 10 * CompactModeSettings::maximumTextWidthIndex(); | 209 | maxTextWidth = option.fontMetrics.height() * 10 * CompactModeSettings::maximumTextWidthIndex(); | ||
210 | } | 210 | } | ||
211 | 211 | | |||
212 | horizontalMargin = 8; | 212 | horizontalMargin = 8; | ||
213 | break; | 213 | break; | ||
214 | } | 214 | } | ||
215 | case KFileItemListView::DetailsLayout: { | 215 | case KFileItemListView::ItemLayout::Details: { | ||
216 | itemWidth = -1; | 216 | itemWidth = -1; | ||
217 | itemHeight = padding * 2 + qMax(iconSize, option.fontMetrics.lineSpacing()); | 217 | itemHeight = padding * 2 + qMax(iconSize, option.fontMetrics.lineSpacing()); | ||
218 | break; | 218 | break; | ||
219 | } | 219 | } | ||
220 | default: | 220 | default: | ||
221 | itemWidth = -1; | 221 | itemWidth = -1; | ||
222 | itemHeight = -1; | 222 | itemHeight = -1; | ||
223 | Q_ASSERT(false); | 223 | Q_ASSERT(false); | ||
Show All 13 Lines | |||||
237 | endTransaction(); | 237 | endTransaction(); | ||
238 | } | 238 | } | ||
239 | 239 | | |||
240 | ViewModeSettings::ViewMode DolphinItemListView::viewMode() const | 240 | ViewModeSettings::ViewMode DolphinItemListView::viewMode() const | ||
241 | { | 241 | { | ||
242 | ViewModeSettings::ViewMode mode; | 242 | ViewModeSettings::ViewMode mode; | ||
243 | 243 | | |||
244 | switch (itemLayout()) { | 244 | switch (itemLayout()) { | ||
245 | case KFileItemListView::IconsLayout: mode = ViewModeSettings::IconsMode; break; | 245 | case KFileItemListView::ItemLayout::Icons: mode = ViewModeSettings::ViewMode::Icons; break; | ||
246 | case KFileItemListView::CompactLayout: mode = ViewModeSettings::CompactMode; break; | 246 | case KFileItemListView::ItemLayout::Compact: mode = ViewModeSettings::ViewMode::Compact; break; | ||
247 | case KFileItemListView::DetailsLayout: mode = ViewModeSettings::DetailsMode; break; | 247 | case KFileItemListView::ItemLayout::Details: mode = ViewModeSettings::ViewMode::Details; break; | ||
248 | default: mode = ViewModeSettings::IconsMode; | 248 | default: mode = ViewModeSettings::ViewMode::Icons; | ||
249 | Q_ASSERT(false); | 249 | Q_ASSERT(false); | ||
250 | break; | 250 | break; | ||
251 | } | 251 | } | ||
252 | 252 | | |||
253 | return mode; | 253 | return mode; | ||
254 | } | 254 | } | ||
255 | 255 | |