diff options
| author | Peter Penz <[email protected]> | 2008-08-05 20:15:51 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-08-05 20:15:51 +0000 |
| commit | 7308c7d03e182795d6b64d85a3f0725d8af32436 (patch) | |
| tree | 4d7414dccbfbf6d28864ee2bb3615b3a27a59b26 /src/dolphindetailsview.cpp | |
| parent | 208549cefcd47b4454b8e38b2c5cb12b82189b7b (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/dolphindetailsview.cpp')
| -rw-r--r-- | src/dolphindetailsview.cpp | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 7c42d13fc..41e474684 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -117,10 +117,8 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr this, SLOT(slotEntered(const QModelIndex&))); 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->dolphinView(), SIGNAL(additionalInfoChanged()), this, SLOT(updateColumnVisibility())); @@ -489,30 +487,13 @@ QRect DolphinDetailsView::elasticBandRect() const return QRect(topLeft, m_elasticBandDestination).normalized(); } -void DolphinDetailsView::zoomIn() +void DolphinDetailsView::setZoomLevel(int level) { - if (isZoomInPossible()) { - DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - 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 DolphinDetailsView::zoomOut() -{ - if (isZoomOutPossible()) { - DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - 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); + DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); + settings->setIconSize(size); + + updateDecorationSize(); } void DolphinDetailsView::configureColumns(const QPoint& pos) @@ -595,18 +576,6 @@ void DolphinDetailsView::updateFont() } } -bool DolphinDetailsView::isZoomInPossible() const -{ - DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - return settings->iconSize() < KIconLoader::SizeLarge; -} - -bool DolphinDetailsView::isZoomOutPossible() const -{ - DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - return settings->iconSize() > KIconLoader::SizeSmall; -} - void DolphinDetailsView::updateDecorationSize() { DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); @@ -614,9 +583,6 @@ void DolphinDetailsView::updateDecorationSize() setIconSize(QSize(iconSize, iconSize)); m_decorationSize = QSize(iconSize, iconSize); - m_controller->setZoomInPossible(isZoomInPossible()); - m_controller->setZoomOutPossible(isZoomOutPossible()); - if (m_selectionManager != 0) { m_selectionManager->reset(); } |
