diff options
| author | Peter Penz <[email protected]> | 2008-08-18 19:30:25 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-08-18 19:30:25 +0000 |
| commit | 10468b1c06a5852b006331b91e066bad75278b2e (patch) | |
| tree | 5f452b1dc91cdc33ac37fbdfe6500801c56b4877 /src | |
| parent | 2543dd55b232190e227b917d8ea4047c173615b8 (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphin_columnmodesettings.kcfg | 4 | ||||
| -rw-r--r-- | src/dolphin_detailsmodesettings.kcfg | 4 | ||||
| -rw-r--r-- | src/dolphincolumnview.cpp | 17 | ||||
| -rw-r--r-- | src/dolphincolumnview.h | 2 | ||||
| -rw-r--r-- | src/dolphindetailsview.cpp | 27 | ||||
| -rw-r--r-- | src/dolphindetailsview.h | 4 |
6 files changed, 46 insertions, 12 deletions
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 @@ <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> 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 @@ <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> 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; |
