diff options
| author | Peter Penz <[email protected]> | 2007-03-14 20:56:16 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-03-14 20:56:16 +0000 |
| commit | 4dcb9b7a487ff1280fa4fd7a0d6566331ba31637 (patch) | |
| tree | 1b9afa08f19acc3171c24fa711a00e47a5206f3d /src/dolphiniconsview.cpp | |
| parent | ffcd3ed51435668b203ce58d34d2d625e9a7889d (diff) | |
Cleanup of iconview-settings dialog (no obsolete Q3 classes, ...) and fix broken zooming in icons view.
svn path=/trunk/KDE/kdebase/apps/; revision=642610
Diffstat (limited to 'src/dolphiniconsview.cpp')
| -rw-r--r-- | src/dolphiniconsview.cpp | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index fff636c89..0b9b1e6fa 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -128,12 +128,11 @@ void DolphinIconsView::updateGridSize(bool showPreview) const int previewSize = settings->previewSize(); const int diff = previewSize - size; Q_ASSERT(diff >= 0); - gridWidth += diff; + gridWidth += diff; gridHeight += diff; size = previewSize; - } - + } m_viewOptions.decorationSize = QSize(size, size); setGridSize(QSize(gridWidth, gridHeight)); @@ -147,20 +146,28 @@ void DolphinIconsView::zoomIn() if (isZoomInPossible()) { IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + const int oldIconSize = settings->iconSize(); + int newIconSize = oldIconSize; + const bool showPreview = m_controller->showPreview(); if (showPreview) { const int previewSize = increasedIconSize(settings->previewSize()); settings->setPreviewSize(previewSize); } else { - const int iconSize = increasedIconSize(settings->iconSize()); - settings->setIconSize(iconSize); - if (settings->previewSize() < iconSize) { + newIconSize = increasedIconSize(oldIconSize); + settings->setIconSize(newIconSize); + if (settings->previewSize() < newIconSize) { // assure that the preview size is always >= the icon size - settings->setPreviewSize(iconSize); + settings->setPreviewSize(newIconSize); } } + // increase also the grid size + const int diff = newIconSize - oldIconSize; + settings->setGridWidth(settings->gridWidth() + diff); + settings->setGridHeight(settings->gridHeight() + diff); + updateGridSize(showPreview); } } @@ -170,20 +177,29 @@ void DolphinIconsView::zoomOut() if (isZoomOutPossible()) { IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + const int oldIconSize = settings->iconSize(); + int newIconSize = oldIconSize; + const bool showPreview = m_controller->showPreview(); if (showPreview) { const int previewSize = decreasedIconSize(settings->previewSize()); settings->setPreviewSize(previewSize); if (settings->iconSize() > previewSize) { // assure that the icon size is always <= the preview size - settings->setIconSize(previewSize); + newIconSize = previewSize; + settings->setIconSize(newIconSize); } } else { - const int iconSize = decreasedIconSize(settings->iconSize()); - settings->setIconSize(iconSize); + newIconSize = decreasedIconSize(settings->iconSize()); + settings->setIconSize(newIconSize); } + // decrease also the grid size + const int diff = oldIconSize - newIconSize; + settings->setGridWidth(settings->gridWidth() - diff); + settings->setGridHeight(settings->gridHeight() - diff); + updateGridSize(showPreview); } } |
