┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphincolumnview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-08-05 20:15:51 +0000
committerPeter Penz <[email protected]>2008-08-05 20:15:51 +0000
commit7308c7d03e182795d6b64d85a3f0725d8af32436 (patch)
tree4d7414dccbfbf6d28864ee2bb3615b3a27a59b26 /src/dolphincolumnview.cpp
parent208549cefcd47b4454b8e38b2c5cb12b82189b7b (diff)
First step of refactoring to improve the zooming capabilities of views:
* Let classes that use DolphinView know about the currently used zoom level. * Provide more zoom levels for all views (the settings dialogs have not been adjusted yet). * Fixed issue that when using the wheel that the enabled state of the zoom actions has not been updated. svn path=/trunk/KDE/kdebase/apps/; revision=842715
Diffstat (limited to 'src/dolphincolumnview.cpp')
-rw-r--r--src/dolphincolumnview.cpp50
1 files changed, 8 insertions, 42 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index 6d4801aea..8ca4a6a9b 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -51,10 +51,8 @@ DolphinColumnView::DolphinColumnView(QWidget* parent, DolphinController* control
connect(this, SIGNAL(viewportEntered()),
controller, SLOT(emitViewportEntered()));
- connect(controller, SIGNAL(zoomIn()),
- this, SLOT(zoomIn()));
- connect(controller, SIGNAL(zoomOut()),
- this, SLOT(zoomOut()));
+ connect(controller, SIGNAL(zoomLevelChanged(int)),
+ this, SLOT(setZoomLevel(int)));
connect(controller, SIGNAL(activationChanged(bool)),
this, SLOT(updateColumnsBackground(bool)));
@@ -367,30 +365,13 @@ void DolphinColumnView::wheelEvent(QWheelEvent* event)
QAbstractItemView::wheelEvent(event);
}
-void DolphinColumnView::zoomIn()
+void DolphinColumnView::setZoomLevel(int level)
{
- if (isZoomInPossible()) {
- ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
- switch (settings->iconSize()) {
- case KIconLoader::SizeSmall: settings->setIconSize(KIconLoader::SizeMedium); break;
- case KIconLoader::SizeMedium: settings->setIconSize(KIconLoader::SizeLarge); break;
- default: Q_ASSERT(false); break;
- }
- updateDecorationSize();
- }
-}
-
-void DolphinColumnView::zoomOut()
-{
- if (isZoomOutPossible()) {
- ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
- switch (settings->iconSize()) {
- case KIconLoader::SizeLarge: settings->setIconSize(KIconLoader::SizeMedium); break;
- case KIconLoader::SizeMedium: settings->setIconSize(KIconLoader::SizeSmall); break;
- default: Q_ASSERT(false); break;
- }
- updateDecorationSize();
- }
+ const int size = DolphinController::iconSizeForZoomLevel(level);
+ ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
+ settings->setIconSize(size);
+
+ updateDecorationSize();
}
void DolphinColumnView::moveContentHorizontally(int x)
@@ -413,9 +394,6 @@ void DolphinColumnView::updateDecorationSize()
}
}
- m_controller->setZoomInPossible(isZoomInPossible());
- m_controller->setZoomOutPossible(isZoomOutPossible());
-
doItemsLayout();
}
@@ -471,18 +449,6 @@ void DolphinColumnView::slotShowPreviewChanged()
}
}
-bool DolphinColumnView::isZoomInPossible() const
-{
- ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
- return settings->iconSize() < KIconLoader::SizeLarge;
-}
-
-bool DolphinColumnView::isZoomOutPossible() const
-{
- ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
- return settings->iconSize() > KIconLoader::SizeSmall;
-}
-
void DolphinColumnView::setActiveColumnIndex(int index)
{
if (m_index == index) {