X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/66ef40ec88f5e2d6985b0bb8dd8dca1469a855a1..233a08164f79d9909693c5de438f856467ad5b76:/src/dolphinviewactionhandler.cpp diff --git a/src/dolphinviewactionhandler.cpp b/src/dolphinviewactionhandler.cpp index 88530febf..49a5f7e98 100644 --- a/src/dolphinviewactionhandler.cpp +++ b/src/dolphinviewactionhandler.cpp @@ -57,6 +57,8 @@ void DolphinViewActionHandler::setCurrentView(DolphinView* view) this, SLOT(slotShowPreviewChanged())); connect(view, SIGNAL(sortOrderChanged(Qt::SortOrder)), this, SLOT(slotSortOrderChanged(Qt::SortOrder))); + connect(view, SIGNAL(sortFoldersFirstChanged(bool)), + this, SLOT(slotSortFoldersFirstChanged(bool))); connect(view, SIGNAL(additionalInfoChanged()), this, SLOT(slotAdditionalInfoChanged())); connect(view, SIGNAL(categorizedSortingChanged()), @@ -84,7 +86,7 @@ void DolphinViewActionHandler::createActions() newDirAction->setIcon(KIcon("folder-new")); connect(newDirAction, SIGNAL(triggered()), this, SIGNAL(createDirectory())); - // Edit menu + // File menu KAction* rename = m_actionCollection->addAction("rename"); rename->setText(i18nc("@action:inmenu File", "Rename...")); @@ -141,6 +143,7 @@ void DolphinViewActionHandler::createActions() KToggleAction* showPreview = m_actionCollection->add("show_preview"); showPreview->setText(i18nc("@action:intoolbar", "Preview")); + showPreview->setToolTip(i18nc("@info", "Show preview of files and folders")); showPreview->setIcon(KIcon("view-preview")); connect(showPreview, SIGNAL(triggered(bool)), this, SLOT(togglePreview(bool))); @@ -148,6 +151,10 @@ void DolphinViewActionHandler::createActions() sortDescending->setText(i18nc("@action:inmenu Sort", "Descending")); connect(sortDescending, SIGNAL(triggered()), this, SLOT(toggleSortOrder())); + KToggleAction* sortFoldersFirst = m_actionCollection->add("folders_first"); + sortFoldersFirst->setText(i18nc("@action:inmenu Sort", "Folders First")); + connect(sortFoldersFirst, SIGNAL(triggered()), this, SLOT(toggleSortFoldersFirst())); + QActionGroup* sortByActionGroup = createSortByActionGroup(); connect(sortByActionGroup, SIGNAL(triggered(QAction*)), this, SLOT(slotSortTriggered(QAction*))); @@ -174,6 +181,13 @@ void DolphinViewActionHandler::createActions() findFile->setShortcut(Qt::CTRL | Qt::Key_F); findFile->setIcon(KIcon("edit-find")); connect(findFile, SIGNAL(triggered()), this, SLOT(slotFindFile())); + + // Settings menu + + KAction* getServiceMenu = m_actionCollection->addAction("get_servicemenu"); + getServiceMenu->setText(i18nc("@action:inmenu Settings", "Get Service Menu...")); + getServiceMenu->setIcon(KIcon("get-hot-new-stuff")); + connect(getServiceMenu, SIGNAL(triggered()), this, SLOT(slotGetServiceMenu())); } QActionGroup* DolphinViewActionHandler::createAdditionalInformationActionGroup() @@ -256,31 +270,6 @@ QActionGroup* DolphinViewActionHandler::createSortByActionGroup() sortByType->setData(QVariant::fromValue(DolphinView::SortByType)); sortByActionGroup->addAction(sortByType); - // TODO: Hid "sort by rating" and "sort by tags" as without caching the performance - // is too slow currently (Nepomuk will support caching in future releases). - // - // KToggleAction* sortByRating = m_actionCollection->add("sort_by_rating"); - // sortByRating->setData(QVariant::fromValue(DolphinView::SortByRating)); - // sortByRating->setText(i18nc("@action:inmenu Sort By", "Rating")); - // sortByActionGroup->addAction(sortByRating); - // - // KToggleAction* sortByTags = m_actionCollection->add("sort_by_tags"); - // sortByTags->setData(QVariant::fromValue(DolphinView::SortByTags)); - // sortByTags->setText(i18nc("@action:inmenu Sort By", "Tags")); - // sortByActionGroup->addAction(sortByTags); - // -#ifdef HAVE_NEPOMUK - // if (!MetaDataWidget::metaDataAvailable()) { - // sortByRating->setEnabled(false); - // sortByTags->setEnabled(false); - // } -#else - // sortByRating->setEnabled(false); - // sortByTags->setEnabled(false); -#endif - - - return sortByActionGroup; } @@ -356,6 +345,7 @@ void DolphinViewActionHandler::updateViewActions() showPreviewAction->setChecked(m_currentView->showPreview()); slotSortOrderChanged(m_currentView->sortOrder()); + slotSortFoldersFirstChanged(m_currentView->sortFoldersFirst()); slotAdditionalInfoChanged(); slotCategorizedSortingChanged(); slotSortingChanged(m_currentView->sorting()); @@ -385,6 +375,11 @@ void DolphinViewActionHandler::toggleSortOrder() m_currentView->toggleSortOrder(); } +void DolphinViewActionHandler::toggleSortFoldersFirst() +{ + m_currentView->toggleSortFoldersFirst(); +} + void DolphinViewActionHandler::slotSortOrderChanged(Qt::SortOrder order) { QAction* descending = m_actionCollection->action("descending"); @@ -392,6 +387,11 @@ void DolphinViewActionHandler::slotSortOrderChanged(Qt::SortOrder order) descending->setChecked(sortDescending); } +void DolphinViewActionHandler::slotSortFoldersFirstChanged(bool foldersFirst) +{ + m_actionCollection->action("folders_first")->setChecked(foldersFirst); +} + void DolphinViewActionHandler::toggleAdditionalInfo(QAction* action) { emit actionBeingHandled(); @@ -432,6 +432,7 @@ KToggleAction* DolphinViewActionHandler::iconsModeAction() { KToggleAction* iconsView = m_actionCollection->add("icons"); iconsView->setText(i18nc("@action:inmenu View Mode", "Icons")); + iconsView->setToolTip(i18nc("@info", "Icons view mode")); iconsView->setShortcut(Qt::CTRL | Qt::Key_1); iconsView->setIcon(KIcon("view-list-icons")); iconsView->setData(QVariant::fromValue(DolphinView::IconsView)); @@ -442,6 +443,7 @@ KToggleAction* DolphinViewActionHandler::detailsModeAction() { KToggleAction* detailsView = m_actionCollection->add("details"); detailsView->setText(i18nc("@action:inmenu View Mode", "Details")); + detailsView->setToolTip(i18nc("@info", "Details view mode")); detailsView->setShortcut(Qt::CTRL | Qt::Key_2); detailsView->setIcon(KIcon("view-list-details")); detailsView->setData(QVariant::fromValue(DolphinView::DetailsView)); @@ -452,6 +454,7 @@ KToggleAction* DolphinViewActionHandler::columnsModeAction() { KToggleAction* columnView = m_actionCollection->add("columns"); columnView->setText(i18nc("@action:inmenu View Mode", "Columns")); + columnView->setToolTip(i18nc("@info", "Columns view mode")); columnView->setShortcut(Qt::CTRL | Qt::Key_3); columnView->setIcon(KIcon("view-file-columns")); columnView->setData(QVariant::fromValue(DolphinView::ColumnView)); @@ -483,14 +486,6 @@ void DolphinViewActionHandler::slotSortingChanged(DolphinView::Sorting sorting) 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; } @@ -522,8 +517,9 @@ void DolphinViewActionHandler::slotSortTriggered(QAction* action) void DolphinViewActionHandler::slotAdjustViewProperties() { emit actionBeingHandled(); - ViewPropertiesDialog dlg(m_currentView); - dlg.exec(); + QPointer dialog = new ViewPropertiesDialog(m_currentView); + dialog->exec(); + delete dialog; } void DolphinViewActionHandler::slotFindFile()