+
+KToggleAction* DolphinViewActionHandler::iconsModeAction()
+{
+ KToggleAction* iconsView = m_actionCollection->add<KToggleAction>("icons");
+ iconsView->setText(i18nc("@action:inmenu View Mode", "Icons"));
+ iconsView->setShortcut(Qt::CTRL | Qt::Key_1);
+ iconsView->setIcon(KIcon("view-list-icons"));
+ iconsView->setData(QVariant::fromValue(DolphinView::IconsView));
+ return iconsView;
+}
+
+KToggleAction* DolphinViewActionHandler::detailsModeAction()
+{
+ KToggleAction* detailsView = m_actionCollection->add<KToggleAction>("details");
+ detailsView->setText(i18nc("@action:inmenu View Mode", "Details"));
+ detailsView->setShortcut(Qt::CTRL | Qt::Key_2);
+ detailsView->setIcon(KIcon("view-list-details"));
+ detailsView->setData(QVariant::fromValue(DolphinView::DetailsView));
+ return detailsView;
+}
+
+KToggleAction* DolphinViewActionHandler::columnsModeAction()
+{
+ KToggleAction* columnView = m_actionCollection->add<KToggleAction>("columns");
+ columnView->setText(i18nc("@action:inmenu View Mode", "Columns"));
+ columnView->setShortcut(Qt::CTRL | Qt::Key_3);
+ columnView->setIcon(KIcon("view-file-columns"));
+ columnView->setData(QVariant::fromValue(DolphinView::ColumnView));
+ return columnView;
+}
+
+void DolphinViewActionHandler::slotSortingChanged(DolphinView::Sorting sorting)
+{
+ QAction* action = 0;
+ switch (sorting) {
+ case DolphinView::SortByName:
+ action = m_actionCollection->action("sort_by_name");
+ break;
+ case DolphinView::SortBySize:
+ action = m_actionCollection->action("sort_by_size");
+ break;
+ case DolphinView::SortByDate:
+ action = m_actionCollection->action("sort_by_date");
+ break;
+ case DolphinView::SortByPermissions:
+ action = m_actionCollection->action("sort_by_permissions");
+ break;
+ case DolphinView::SortByOwner:
+ action = m_actionCollection->action("sort_by_owner");
+ break;
+ case DolphinView::SortByGroup:
+ action = m_actionCollection->action("sort_by_group");
+ break;
+ case DolphinView::SortByType:
+ action = m_actionCollection->action("sort_by_type");
+ break;
+#ifdef HAVE_NEPOMUK
+ case DolphinView::SortByRating:
+ action = m_actionCollection->action("sort_by_rating");
+ break;
+ case DolphinView::SortByTags:
+ action = m_actionCollection->action("sort_by_tags");
+ break;
+#endif
+ default:
+ break;
+ }
+
+ if (action != 0) {
+ action->setChecked(true);
+ }
+}
+
+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<DolphinView::Sorting>();
+ m_currentView->setSorting(sorting);
+}
+
+void DolphinViewActionHandler::slotAdjustViewProperties()
+{
+ emit actionBeingHandled();
+ ViewPropertiesDialog dlg(m_currentView);
+ dlg.exec();
+}
+
+void DolphinViewActionHandler::slotFindFile()
+{
+ KRun::run("kfind %u", m_currentView->url(), m_currentView->window());
+}
+
+void DolphinViewActionHandler::slotProperties()
+{
+ KPropertiesDialog* dialog = 0;
+ const KFileItemList list = m_currentView->selectedItems();
+ if (list.isEmpty()) {
+ const KUrl url = m_currentView->url();
+ dialog = new KPropertiesDialog(url, m_currentView);
+ } else {
+ dialog = new KPropertiesDialog(list, m_currentView);
+ }
+
+ dialog->setAttribute(Qt::WA_DeleteOnClose);
+ dialog->show();
+ dialog->raise();
+ dialog->activateWindow();
+}