X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b5e97174d08ab59eca35deaaa9a84a7838f51bfb..148282e2d856b47ceb191eeef4c834118c8cdffd:/src/dolphinviewactionhandler.cpp diff --git a/src/dolphinviewactionhandler.cpp b/src/dolphinviewactionhandler.cpp index cd5880c79..15e53f4cb 100644 --- a/src/dolphinviewactionhandler.cpp +++ b/src/dolphinviewactionhandler.cpp @@ -21,6 +21,7 @@ #include "viewpropertiesdialog.h" #include "dolphinview.h" +#include "zoomlevelinfo.h" #include @@ -63,6 +64,8 @@ void DolphinViewActionHandler::setCurrentView(DolphinView* view) this, SLOT(slotShowHiddenFilesChanged())); connect(view, SIGNAL(sortingChanged(DolphinView::Sorting)), this, SLOT(slotSortingChanged(DolphinView::Sorting))); + connect(view, SIGNAL(zoomLevelChanged(int)), + this, SLOT(slotZoomLevelChanged(int))); } void DolphinViewActionHandler::createActions() @@ -72,6 +75,7 @@ void DolphinViewActionHandler::createActions() KAction* newDirAction = m_actionCollection->addAction("create_dir"); newDirAction->setText(i18nc("@action", "Create Folder...")); newDirAction->setShortcut(Qt::Key_F10); + newDirAction->setIcon(KIcon("folder-new")); connect(newDirAction, SIGNAL(triggered()), SLOT(slotCreateDir())); // Edit menu @@ -157,7 +161,7 @@ void DolphinViewActionHandler::createActions() // Tools menu - QAction* findFile = m_actionCollection->addAction("find_file"); + KAction* findFile = m_actionCollection->addAction("find_file"); findFile->setText(i18nc("@action:inmenu Tools", "Find File...")); findFile->setShortcut(Qt::CTRL | Qt::Key_F); findFile->setIcon(KIcon("edit-find")); @@ -341,16 +345,6 @@ void DolphinViewActionHandler::updateViewActions() viewModeAction->setChecked(true); } - QAction* zoomInAction = m_actionCollection->action(KStandardAction::name(KStandardAction::ZoomIn)); - if (zoomInAction != 0) { - zoomInAction->setEnabled(m_currentView->isZoomInPossible()); - } - - QAction* zoomOutAction = m_actionCollection->action(KStandardAction::name(KStandardAction::ZoomOut)); - if (zoomOutAction != 0) { - zoomOutAction->setEnabled(m_currentView->isZoomOutPossible()); - } - QAction* showPreviewAction = m_actionCollection->action("show_preview"); showPreviewAction->setChecked(m_currentView->showPreview()); @@ -358,6 +352,7 @@ void DolphinViewActionHandler::updateViewActions() slotAdditionalInfoChanged(); slotCategorizedSortingChanged(); slotSortingChanged(m_currentView->sorting()); + slotZoomLevelChanged(m_currentView->zoomLevel()); QAction* showHiddenFilesAction = m_actionCollection->action("show_hidden_files"); showHiddenFilesAction->setChecked(m_currentView->showHiddenFiles()); @@ -366,13 +361,15 @@ void DolphinViewActionHandler::updateViewActions() void DolphinViewActionHandler::zoomIn() { - m_currentView->zoomIn(); + const int level = m_currentView->zoomLevel(); + m_currentView->setZoomLevel(level + 1); updateViewActions(); } void DolphinViewActionHandler::zoomOut() { - m_currentView->zoomOut(); + const int level = m_currentView->zoomLevel(); + m_currentView->setZoomLevel(level - 1); updateViewActions(); } @@ -496,6 +493,19 @@ void DolphinViewActionHandler::slotSortingChanged(DolphinView::Sorting sorting) } } +void DolphinViewActionHandler::slotZoomLevelChanged(int level) +{ + QAction* zoomInAction = m_actionCollection->action(KStandardAction::name(KStandardAction::ZoomIn)); + if (zoomInAction != 0) { + zoomInAction->setEnabled(level < ZoomLevelInfo::maximumLevel()); + } + + QAction* zoomOutAction = m_actionCollection->action(KStandardAction::name(KStandardAction::ZoomOut)); + if (zoomOutAction != 0) { + zoomOutAction->setEnabled(level > ZoomLevelInfo::minimumLevel()); + } +} + void DolphinViewActionHandler::slotSortTriggered(QAction* action) { const DolphinView::Sorting sorting = action->data().value();