]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinitemlistview.cpp
New selection effects
[dolphin.git] / src / views / dolphinitemlistview.cpp
index 5dec2b1f880e7beee53a874e2e59aa6aeaa45cc7..8529f23a769965252bbc8a1d4c844a5a12b62f90 100644 (file)
@@ -7,6 +7,7 @@
 #include "dolphinitemlistview.h"
 
 #include "dolphin_compactmodesettings.h"
+#include "dolphin_contentdisplaysettings.h"
 #include "dolphin_detailsmodesettings.h"
 #include "dolphin_generalsettings.h"
 #include "dolphin_iconsmodesettings.h"
 #include <KIO/PreviewJob>
 #include <QtMath>
 
-
-DolphinItemListView::DolphinItemListView(QGraphicsWidget* parent) :
-    KFileItemListView(parent),
-    m_zoomLevel(0)
+DolphinItemListView::DolphinItemListView(QGraphicsWidget *parent)
+    : KFileItemListView(parent)
+    , m_zoomLevel(0)
 {
-    updateFont();
+    DolphinItemListView::updateFont();
     updateGridSize();
 }
 
@@ -82,6 +82,8 @@ void DolphinItemListView::readSettings()
     CompactModeSettings::self()->load();
     DetailsModeSettings::self()->load();
 
+    ContentDisplaySettings::self()->load();
+
     beginTransaction();
 
     setEnabledSelectionToggles(m_selectionTogglesEnabled);
@@ -91,7 +93,7 @@ void DolphinItemListView::readSettings()
     updateFont();
     updateGridSize();
 
-    const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings");
+    const KConfigGroup globalConfig(KSharedConfig::openConfig(), QStringLiteral("PreviewSettings"));
     setEnabledPlugins(globalConfig.readEntry("Plugins", KIO::PreviewJob::defaultPlugins()));
     setLocalFileSizePreviewLimit(globalConfig.readEntry("MaximumSize", 0));
     endTransaction();
@@ -104,7 +106,7 @@ void DolphinItemListView::writeSettings()
     DetailsModeSettings::self()->save();
 }
 
-KItemListWidgetCreatorBaseDolphinItemListView::defaultWidgetCreator() const
+KItemListWidgetCreatorBase *DolphinItemListView::defaultWidgetCreator() const
 {
     return new KItemListWidgetCreator<DolphinFileItemListWidget>();
 }
@@ -135,8 +137,7 @@ void DolphinItemListView::onPreviewsShownChanged(bool shown)
     updateGridSize();
 }
 
-void DolphinItemListView::onVisibleRolesChanged(const QList<QByteArray>& current,
-                                                const QList<QByteArray>& previous)
+void DolphinItemListView::onVisibleRolesChanged(const QList<QByteArray> &current, const QList<QByteArray> &previous)
 {
     KFileItemListView::onVisibleRolesChanged(current, previous);
     updateGridSize();
@@ -180,7 +181,6 @@ void DolphinItemListView::updateGridSize()
 
     switch (itemLayout()) {
     case KFileItemListView::IconsLayout: {
-
         // an exponential factor based on zoom, 0 -> 1, 4 -> 1.36 8 -> ~1.85, 16 -> 3.4
         auto zoomFactor = qExp(m_zoomLevel / 13.0);
         // 9 is the average char width for 10pt Noto Sans, making fontFactor =1
@@ -194,8 +194,9 @@ void DolphinItemListView::updateGridSize()
 
         itemHeight = padding * 3 + iconSize + option.fontMetrics.lineSpacing();
 
-        horizontalMargin = 4;
-        verticalMargin = 8;
+        const auto margin = style()->pixelMetric(QStyle::PM_SizeGripSize);
+        horizontalMargin = margin;
+        verticalMargin = margin;
         maxTextLines = IconsModeSettings::maximumTextLines();
         break;
     }
@@ -237,3 +238,5 @@ void DolphinItemListView::updateGridSize()
     setItemSize(QSizeF(itemWidth, itemHeight));
     endTransaction();
 }
+
+#include "moc_dolphinitemlistview.cpp"