X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c7d4c37534fd4c7107497a3bb67e8ffe96ce775c..40cc5f665d:/src/views/dolphinitemlistview.cpp diff --git a/src/views/dolphinitemlistview.cpp b/src/views/dolphinitemlistview.cpp index 9fa91a674..0210dd594 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); @@ -64,14 +65,28 @@ int DolphinItemListView::zoomLevel() const return m_zoomLevel; } +void DolphinItemListView::setEnabledSelectionToggles(DolphinItemListView::SelectionTogglesEnabled selectionTogglesEnabled) +{ + m_selectionTogglesEnabled = selectionTogglesEnabled; + switch (m_selectionTogglesEnabled) { + case True: + return setEnabledSelectionToggles(true); + case False: + return setEnabledSelectionToggles(false); + case FollowSetting: + return setEnabledSelectionToggles(GeneralSettings::showSelectionToggle()); + } +} + void DolphinItemListView::readSettings() { - ViewModeSettings settings(viewMode()); + ViewModeSettings settings(itemLayout()); settings.readConfig(); beginTransaction(); - setEnabledSelectionToggles(GeneralSettings::showSelectionToggle()); + setEnabledSelectionToggles(m_selectionTogglesEnabled); + setHighlightEntireRow(DetailsModeSettings::sidePadding()); setSupportsItemExpanding(itemLayoutSupportsItemExpanding(itemLayout())); updateFont(); @@ -125,15 +140,12 @@ void DolphinItemListView::onVisibleRolesChanged(const QList& current void DolphinItemListView::updateFont() { - const ViewModeSettings settings(viewMode()); + const ViewModeSettings settings(itemLayout()); if (settings.useSystemFont()) { KItemListView::updateFont(); } else { - QFont font(settings.fontFamily(), qRound(settings.fontSize())); - font.setItalic(settings.italicFont()); - font.setWeight(settings.fontWeight()); - font.setPointSizeF(settings.fontSize()); + QFont font(settings.viewFont()); KItemListStyleOption option = styleOption(); option.font = font; @@ -145,7 +157,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 +233,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; -} -