]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinitemlistview.cpp
port to KIO::createDefaultJobUiDelegate
[dolphin.git] / src / views / dolphinitemlistview.cpp
index 9fa91a674c41a31ec7f624e0b91d02de1276f442..0210dd59487d7c1fbc11d7a85ca2795b2381b9a3 100644 (file)
@@ -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<QByteArray>& 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;
-}
-