From: Peter Penz Date: Mon, 18 Aug 2008 19:30:25 +0000 (+0000) Subject: Column view + detail view: use different settings for preview and icon size like... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/10468b1c06a5852b006331b91e066bad75278b2e Column view + detail view: use different settings for preview and icon size like in the icon view for consistency. The setting dialogs will be adjusted later. svn path=/trunk/KDE/kdebase/apps/; revision=848955 --- diff --git a/src/dolphin_columnmodesettings.kcfg b/src/dolphin_columnmodesettings.kcfg index 6b4482817..4fd5ecc6e 100644 --- a/src/dolphin_columnmodesettings.kcfg +++ b/src/dolphin_columnmodesettings.kcfg @@ -29,6 +29,10 @@ KIconLoader::SizeSmall + + + KIconLoader::SizeLarge + 250 diff --git a/src/dolphin_detailsmodesettings.kcfg b/src/dolphin_detailsmodesettings.kcfg index 2a3d2b373..780d70540 100644 --- a/src/dolphin_detailsmodesettings.kcfg +++ b/src/dolphin_detailsmodesettings.kcfg @@ -29,6 +29,10 @@ KIconLoader::SizeSmall + + + KIconLoader::SizeLarge + false diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index 98b62f83d..7de261dab 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -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); } diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h index c563888b9..ba50d943c 100644 --- a/src/dolphincolumnview.h +++ b/src/dolphincolumnview.h @@ -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 diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 0dfe2ddb5..86ad71ad7 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -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); diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h index 06ae325a2..bd8f1e8a8 100644 --- a/src/dolphindetailsview.h +++ b/src/dolphindetailsview.h @@ -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;