From 81c32c18a5ea52c026ab8566b299601e48efa0b5 Mon Sep 17 00:00:00 2001 From: Felix Ernst Date: Sat, 7 Aug 2021 15:48:02 +0200 Subject: Port ViewModeSettings from macros to std::variant Macros should be avoided if possible. Instead this commit replaces the usage of macros with an std::variant of the ViewModeSettings. As part of this cleanup, code that belongs to the VideModeSettings class is moved there. Some parameters are also renamed to be more in line with typical naming conventions. --- src/views/dolphinitemlistview.cpp | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) (limited to 'src/views/dolphinitemlistview.cpp') diff --git a/src/views/dolphinitemlistview.cpp b/src/views/dolphinitemlistview.cpp index 9fa91a674..864d180c8 100644 --- a/src/views/dolphinitemlistview.cpp +++ b/src/views/dolphinitemlistview.cpp @@ -13,6 +13,7 @@ #include "dolphinfileitemlistwidget.h" #include "kitemviews/kfileitemmodel.h" #include "kitemviews/kitemlistcontroller.h" +#include "settings/viewmodes/viewmodesettings.h" #include "views/viewmodecontroller.h" #include "zoomlevelinfo.h" @@ -47,7 +48,7 @@ void DolphinItemListView::setZoomLevel(int level) m_zoomLevel = level; - ViewModeSettings settings(viewMode()); + ViewModeSettings settings(itemLayout()); if (previewsShown()) { const int previewSize = ZoomLevelInfo::iconSizeForZoomLevel(level); settings.setPreviewSize(previewSize); @@ -66,7 +67,7 @@ int DolphinItemListView::zoomLevel() const void DolphinItemListView::readSettings() { - ViewModeSettings settings(viewMode()); + ViewModeSettings settings(itemLayout()); settings.readConfig(); beginTransaction(); @@ -125,7 +126,7 @@ void DolphinItemListView::onVisibleRolesChanged(const QList& current void DolphinItemListView::updateFont() { - const ViewModeSettings settings(viewMode()); + const ViewModeSettings settings(itemLayout()); if (settings.useSystemFont()) { KItemListView::updateFont(); @@ -145,7 +146,7 @@ void DolphinItemListView::updateFont() void DolphinItemListView::updateGridSize() { - const ViewModeSettings settings(viewMode()); + const ViewModeSettings settings(itemLayout()); // Calculate the size of the icon const int iconSize = previewsShown() ? settings.previewSize() : settings.iconSize(); @@ -221,20 +222,3 @@ void DolphinItemListView::updateGridSize() setItemSize(QSizeF(itemWidth, itemHeight)); endTransaction(); } - -ViewModeSettings::ViewMode DolphinItemListView::viewMode() const -{ - ViewModeSettings::ViewMode mode; - - switch (itemLayout()) { - case KFileItemListView::IconsLayout: mode = ViewModeSettings::IconsMode; break; - case KFileItemListView::CompactLayout: mode = ViewModeSettings::CompactMode; break; - case KFileItemListView::DetailsLayout: mode = ViewModeSettings::DetailsMode; break; - default: mode = ViewModeSettings::IconsMode; - Q_ASSERT(false); - break; - } - - return mode; -} - -- cgit v1.3