]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Column view + detail view: use different settings for preview and icon size like...
authorPeter Penz <peter.penz19@gmail.com>
Mon, 18 Aug 2008 19:30:25 +0000 (19:30 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Mon, 18 Aug 2008 19:30:25 +0000 (19:30 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=848955

src/dolphin_columnmodesettings.kcfg
src/dolphin_detailsmodesettings.kcfg
src/dolphincolumnview.cpp
src/dolphincolumnview.h
src/dolphindetailsview.cpp
src/dolphindetailsview.h

index 6b4482817b76b7b61a92d33a7f019e73e6233e59..4fd5ecc6ee44b6ce8faa46a807215840bbb2d09d 100644 (file)
             <label context="@label">Icon size</label>
             <default code="true">KIconLoader::SizeSmall</default>
         </entry>
+        <entry name="PreviewSize" type="Int">
+            <label context="@label">Preview size</label>
+            <default code="true">KIconLoader::SizeLarge</default>
+        </entry>
         <entry name="ColumnWidth" type="Int">
             <label context="@label">Column width</label>
             <default>250</default>
index 2a3d2b373295ab50330e55695460f47356281c4b..780d70540c016a3a90feea5d1591f462eb084018 100644 (file)
             <label context="@label">Icon size</label>
             <default code="true">KIconLoader::SizeSmall</default>
         </entry>
+        <entry name="PreviewSize" type="Int">
+            <label context="@label">Preview size</label>
+            <default code="true">KIconLoader::SizeLarge</default>
+        </entry>
         <entry name="ExpandableFolders" type="Bool">
             <label context="@label">Expandable folders</label>
             <default>false</default>
index 98b62f83d72afce7ed67fd5cf1dda008ec86ef57..7de261dab4c886b3a5efda80af3b4870a54e1384 100644 (file)
@@ -80,7 +80,7 @@ DolphinColumnView::DolphinColumnView(QWidget* parent, DolphinController* control
     m_emptyViewport = new QFrame(viewport());
     m_emptyViewport->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
 
-    updateDecorationSize();
+    updateDecorationSize(view->showPreview());
     updateColumnsBackground(true);
 }
 
@@ -370,9 +370,15 @@ void DolphinColumnView::setZoomLevel(int level)
 {
     const int size = DolphinController::iconSizeForZoomLevel(level);
     ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
-    settings->setIconSize(size);
     
-    updateDecorationSize();
+    const bool showPreview = m_controller->dolphinView()->showPreview();
+    if (showPreview) {
+        settings->setPreviewSize(size);
+    } else {
+        settings->setIconSize(size);
+    }
+    
+    updateDecorationSize(showPreview);
 }
 
 void DolphinColumnView::moveContentHorizontally(int x)
@@ -381,10 +387,10 @@ void DolphinColumnView::moveContentHorizontally(int x)
     layoutColumns();
 }
 
-void DolphinColumnView::updateDecorationSize()
+void DolphinColumnView::updateDecorationSize(bool showPreview)
 {
     ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
-    const int iconSize = settings->iconSize();
+    const int iconSize = showPreview ? settings->previewSize() : settings->iconSize();
     const QSize size(iconSize, iconSize);
     setIconSize(size);
 
@@ -445,6 +451,7 @@ void DolphinColumnView::slotShowHiddenFilesChanged()
 void DolphinColumnView::slotShowPreviewChanged()
 {
     const bool show = m_controller->dolphinView()->showPreview();
+    updateDecorationSize(show);
     foreach (DolphinColumnWidget* column, m_columns) {
         column->setShowPreview(show);
     }
index c563888b99d3ead46b85c3d52fe52004d2fd2db4..ba50d943c4eff2add37626c8a9f7fad91fda504d 100644 (file)
@@ -144,7 +144,7 @@ private slots:
      * will get informed about possible zoom in/zoom out
      * operations.
      */
-    void updateDecorationSize();
+    void updateDecorationSize(bool showPreview);
 
     /**
      * Updates the background color of the columns to respect
index 0dfe2ddb57cd3638e274577710ce0ee4f35945c9..86ad71ad721b05cdc63e5dc5b484675249f97b02 100644 (file)
@@ -136,8 +136,12 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
 
     setVerticalScrollMode(QTreeView::ScrollPerPixel);
     setHorizontalScrollMode(QTreeView::ScrollPerPixel);
+    
+    const DolphinView* view = controller->dolphinView();
+    connect(view, SIGNAL(showPreviewChanged()),
+            this, SLOT(slotShowPreviewChanged()));
 
-    updateDecorationSize();
+    updateDecorationSize(view->showPreview());
 
     setFocus();
     viewport()->installEventFilter(this);
@@ -494,9 +498,22 @@ void DolphinDetailsView::setZoomLevel(int level)
 {
     const int size = DolphinController::iconSizeForZoomLevel(level);
     DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
-    settings->setIconSize(size);
     
-    updateDecorationSize();
+    const bool showPreview = m_controller->dolphinView()->showPreview();
+    if (showPreview) {
+        settings->setPreviewSize(size);
+    } else {
+        settings->setIconSize(size);
+    }
+    
+    updateDecorationSize(showPreview);
+}
+
+
+void DolphinDetailsView::slotShowPreviewChanged()
+{
+    const DolphinView* view = m_controller->dolphinView();
+    updateDecorationSize(view->showPreview());
 }
 
 void DolphinDetailsView::configureColumns(const QPoint& pos)
@@ -584,10 +601,10 @@ void DolphinDetailsView::updateFont()
     }
 }
 
-void DolphinDetailsView::updateDecorationSize()
+void DolphinDetailsView::updateDecorationSize(bool showPreview)
 {
     DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
-    const int iconSize = settings->iconSize();
+    const int iconSize = showPreview ? settings->previewSize() : settings->iconSize();
     setIconSize(QSize(iconSize, iconSize));
     m_decorationSize = QSize(iconSize, iconSize);
 
index 06ae325a2311a89da249febb89a669935952ff80..bd8f1e8a8983c708c7b957e65715c52773f04101 100644 (file)
@@ -108,6 +108,8 @@ private slots:
     QRect elasticBandRect() const;
 
     void setZoomLevel(int level);
+    
+    void slotShowPreviewChanged();
 
     /**
      * Opens a context menu at the position \a pos and allows to
@@ -146,7 +148,7 @@ private:
      * will get informed about possible zoom in/zoom out
      * operations.
      */
-    void updateDecorationSize();
+    void updateDecorationSize(bool showPreview);
 
     /** Return the upper left position in pixels of the viewport content. */
     QPoint contentsPos() const;