diff options
| author | Peter Penz <[email protected]> | 2007-06-22 10:18:46 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-06-22 10:18:46 +0000 |
| commit | 4062c4cf2d9c3a6716ced8686fa2e2324261c0ec (patch) | |
| tree | d011dde8a6c19adb57a00f3d39a16a2e6d91fbd1 /src/dolphinmainwindow.cpp | |
| parent | aed0e931958cc466974baf1307ea02d3f755880d (diff) | |
Allow to sort by rating, which can be quite useful in combination with the "Show in Groups" feature. Although still slow, it basically works. All the code is based on Rafael Fernández López patch available at http://media.ereslibre.es/2007/06/dolphin-21062007.diff.
svn path=/trunk/KDE/kdebase/apps/; revision=678801
Diffstat (limited to 'src/dolphinmainwindow.cpp')
| -rw-r--r-- | src/dolphinmainwindow.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 7d7a9f89b..7fec6908d 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -292,6 +292,15 @@ void DolphinMainWindow::slotSortingChanged(DolphinView::Sorting sorting) break; case DolphinView::SortByType: action = actionCollection()->action("by_type"); + break; +#ifdef HAVE_NEPOMUK + case DolphinView::SortByRating: + action = actionCollection()->action("by_rating"); + break; + case DolphinView::SortByTags: + action = actionCollection()->action("by_tags"); + break; +#endif default: break; } @@ -722,6 +731,16 @@ void DolphinMainWindow::sortByType() m_activeViewContainer->view()->setSorting(DolphinView::SortByType); } +void DolphinMainWindow::sortByRating() +{ + m_activeViewContainer->view()->setSorting(DolphinView::SortByRating); +} + +void DolphinMainWindow::sortByTags() +{ + m_activeViewContainer->view()->setSorting(DolphinView::SortByTags); +} + void DolphinMainWindow::toggleSortOrder() { DolphinView* view = m_activeViewContainer->view(); @@ -1157,6 +1176,26 @@ void DolphinMainWindow::setupActions() sortByType->setText(i18n("By Type")); connect(sortByType, SIGNAL(triggered()), this, SLOT(sortByType())); + KToggleAction* sortByRating = actionCollection()->add<KToggleAction>("by_rating"); + sortByRating->setText(i18n("By Rating")); + + KToggleAction* sortByTags = actionCollection()->add<KToggleAction>("by_tags"); + sortByTags->setText(i18n("By Tags")); + +#ifdef HAVE_NEPOMUK + if (MetaDataWidget::metaDataAvailable()) { + connect(sortByRating, SIGNAL(triggered()), this, SLOT(sortByRating())); + connect(sortByTags, SIGNAL(triggered()), this, SLOT(sortByTags())); + } + else { + sortByRating->setEnabled(false); + sortByTags->setEnabled(false); + } +#else + sortByRating->setEnabled(false); + sortByTags->setEnabled(false); +#endif + QActionGroup* sortGroup = new QActionGroup(this); sortGroup->addAction(sortByName); sortGroup->addAction(sortBySize); @@ -1165,6 +1204,8 @@ void DolphinMainWindow::setupActions() sortGroup->addAction(sortByOwner); sortGroup->addAction(sortByGroup); sortGroup->addAction(sortByType); + sortGroup->addAction(sortByRating); + sortGroup->addAction(sortByTags); KToggleAction* sortDescending = actionCollection()->add<KToggleAction>("descending"); sortDescending->setText(i18n("Descending")); |
