Currently (in kde 4.2 and trunk), the "classic menu" (simplelauncher) sorts applications always by generic name, even if applications are displayed by "Name Description" (the default), "Name Only" or "Name - Description". So applications are not displayed in alphabetical order in these cases (https://bugs.kde.org/show_bug.cgi?id=184392).

The attached patch fixes this; applications are sorted by application name when applications are displayed by "name", "name description" or "name - description", and by generic name when applications are displayed by "description" or "description (name)".

Hope it's fine.

regards,
Luc
Index: workspace/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp
===================================================================
--- workspace/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp	(révision 929816)
+++ workspace/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp	(copie de travail)
@@ -441,6 +441,19 @@
             Kickoff::ApplicationModel *appModel = new Kickoff::ApplicationModel(d->menuview);
             appModel->setDuplicatePolicy(Kickoff::ApplicationModel::ShowLatestOnlyPolicy);
             appModel->setSystemApplicationPolicy(Kickoff::ApplicationModel::ShowApplicationAndSystemPolicy);
+            switch (d->formattype) {
+            case Name:
+            case NameDescription:
+            case NameDashDescription: {
+                appModel->setPrimaryNamePolicy(Kickoff::ApplicationModel::AppNamePrimary);
+            }
+            break;
+            case Description:
+            case DescriptionName: {
+                 appModel->setPrimaryNamePolicy(Kickoff::ApplicationModel::GenericNamePrimary);
+            }
+            break;
+            }
             Kickoff::MenuView *appview = d->createMenuView(appModel);
             d->addMenu(appview, false);
 
@@ -468,6 +481,19 @@
         case Applications: {
             Kickoff::ApplicationModel *appModel = new Kickoff::ApplicationModel(d->menuview);
             appModel->setDuplicatePolicy(Kickoff::ApplicationModel::ShowLatestOnlyPolicy);
+            switch (d->formattype) {
+            case Name:
+            case NameDescription:
+            case NameDashDescription: {
+                appModel->setPrimaryNamePolicy(Kickoff::ApplicationModel::AppNamePrimary);
+            }
+            break;
+            case Description:
+            case DescriptionName: {
+                 appModel->setPrimaryNamePolicy(Kickoff::ApplicationModel::GenericNamePrimary);
+            }
+            break;
+            }
             Kickoff::MenuView *appview = d->createMenuView(appModel);
             d->addMenu(appview, false);
         }
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to