┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-06-22 10:18:46 +0000
committerPeter Penz <[email protected]>2007-06-22 10:18:46 +0000
commit4062c4cf2d9c3a6716ced8686fa2e2324261c0ec (patch)
treed011dde8a6c19adb57a00f3d39a16a2e6d91fbd1 /src/dolphinmainwindow.cpp
parentaed0e931958cc466974baf1307ea02d3f755880d (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.cpp41
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"));