diff options
| author | Felix Ernst <[email protected]> | 2021-08-07 15:48:02 +0200 |
|---|---|---|
| committer | Nate Graham <[email protected]> | 2021-11-03 16:02:46 +0000 |
| commit | 81c32c18a5ea52c026ab8566b299601e48efa0b5 (patch) | |
| tree | 666a5a46e76c5c503e378ae3d4d31232fbac0580 /src/views | |
| parent | 1118413c6307435c7eb5b639a49580ebb888e612 (diff) | |
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.
Diffstat (limited to 'src/views')
| -rw-r--r-- | src/views/dolphinitemlistview.cpp | 26 | ||||
| -rw-r--r-- | src/views/dolphinitemlistview.h | 3 | ||||
| -rw-r--r-- | src/views/dolphinview.cpp | 30 |
3 files changed, 10 insertions, 49 deletions
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<QByteArray>& 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; -} - diff --git a/src/views/dolphinitemlistview.h b/src/views/dolphinitemlistview.h index 283b22400..1637752a6 100644 --- a/src/views/dolphinitemlistview.h +++ b/src/views/dolphinitemlistview.h @@ -9,7 +9,6 @@ #include "dolphin_export.h" #include "kitemviews/kfileitemlistview.h" -#include "settings/viewmodes/viewmodesettings.h" class KFileItemListView; @@ -47,8 +46,6 @@ protected: private: void updateGridSize(); - ViewModeSettings::ViewMode viewMode() const; - private: int m_zoomLevel; }; diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 01c97a8f7..9a063d857 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -7,9 +7,6 @@ #include "dolphinview.h" -#include "dolphin_compactmodesettings.h" -#include "dolphin_detailsmodesettings.h" -#include "dolphin_iconsmodesettings.h" #include "dolphin_generalsettings.h" #include "dolphinitemlistview.h" #include "dolphinnewfilemenuobserver.h" @@ -21,6 +18,7 @@ #include "kitemviews/kitemlistheader.h" #include "kitemviews/kitemlistselectionmanager.h" #include "kitemviews/private/kitemlistroleeditor.h" +#include "settings/viewmodes/viewmodesettings.h" #include "versioncontrol/versioncontrolobserver.h" #include "viewproperties.h" #include "views/tooltips/tooltipmanager.h" @@ -1532,28 +1530,10 @@ QUrl DolphinView::openItemAsFolderUrl(const KFileItem& item, const bool browseTh void DolphinView::resetZoomLevel() { - // TODO : Switch to using ViewModeSettings after MR #256 is merged - int defaultIconSize = KIconLoader::SizeSmall; - switch (m_mode) { - case IconsView: - IconsModeSettings::self()->useDefaults(true); - defaultIconSize = IconsModeSettings::iconSize(); - IconsModeSettings::self()->useDefaults(false); - break; - case DetailsView: - DetailsModeSettings::self()->useDefaults(true); - defaultIconSize = DetailsModeSettings::iconSize(); - DetailsModeSettings::self()->useDefaults(false); - break; - case CompactView: - CompactModeSettings::self()->useDefaults(true); - defaultIconSize = CompactModeSettings::iconSize(); - CompactModeSettings::self()->useDefaults(false); - break; - default: - Q_ASSERT(false); - break; - } + ViewModeSettings settings{m_mode}; + settings.useDefaults(true); + const int defaultIconSize = settings.iconSize(); + settings.useDefaults(false); setZoomLevel(ZoomLevelInfo::zoomLevelForIconSize(QSize(defaultIconSize, defaultIconSize))); } |
