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()),
void DolphinViewActionHandler::createActions()
{
// This action doesn't appear in the GUI, it's for the shortcut only.
- // KNewMenu takes care of the GUI stuff.
+ // KNewFileMenu takes care of the GUI stuff.
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()), this, SIGNAL(createDirectory()));
- // Edit menu
+ // File menu
KAction* rename = m_actionCollection->addAction("rename");
rename->setText(i18nc("@action:inmenu File", "Rename..."));
KToggleAction* showPreview = m_actionCollection->add<KToggleAction>("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)));
sortDescending->setText(i18nc("@action:inmenu Sort", "Descending"));
connect(sortDescending, SIGNAL(triggered()), this, SLOT(toggleSortOrder()));
+ KToggleAction* sortFoldersFirst = m_actionCollection->add<KToggleAction>("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*)));
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<KToggleAction>("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<KToggleAction>("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;
}
showPreviewAction->setChecked(m_currentView->showPreview());
slotSortOrderChanged(m_currentView->sortOrder());
+ slotSortFoldersFirstChanged(m_currentView->sortFoldersFirst());
slotAdditionalInfoChanged();
slotCategorizedSortingChanged();
slotSortingChanged(m_currentView->sorting());
m_currentView->toggleSortOrder();
}
+void DolphinViewActionHandler::toggleSortFoldersFirst()
+{
+ m_currentView->toggleSortFoldersFirst();
+}
+
void DolphinViewActionHandler::slotSortOrderChanged(Qt::SortOrder order)
{
QAction* descending = m_actionCollection->action("descending");
descending->setChecked(sortDescending);
}
+void DolphinViewActionHandler::slotSortFoldersFirstChanged(bool foldersFirst)
+{
+ m_actionCollection->action("folders_first")->setChecked(foldersFirst);
+}
+
void DolphinViewActionHandler::toggleAdditionalInfo(QAction* action)
{
emit actionBeingHandled();
{
KToggleAction* iconsView = m_actionCollection->add<KToggleAction>("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));
{
KToggleAction* detailsView = m_actionCollection->add<KToggleAction>("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));
{
KToggleAction* columnView = m_actionCollection->add<KToggleAction>("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));
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;
}
void DolphinViewActionHandler::slotAdjustViewProperties()
{
emit actionBeingHandled();
- ViewPropertiesDialog dlg(m_currentView);
- dlg.exec();
+ QPointer<ViewPropertiesDialog> dialog = new ViewPropertiesDialog(m_currentView);
+ dialog->exec();
+ delete dialog;
}
void DolphinViewActionHandler::slotFindFile()