┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphiniconsview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-03-14 20:56:16 +0000
committerPeter Penz <[email protected]>2007-03-14 20:56:16 +0000
commit4dcb9b7a487ff1280fa4fd7a0d6566331ba31637 (patch)
tree1b9afa08f19acc3171c24fa711a00e47a5206f3d /src/dolphiniconsview.cpp
parentffcd3ed51435668b203ce58d34d2d625e9a7889d (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.cpp36
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);
}
}