Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 9e8230873ca69f393e5304ceb1afeac2 > files > 37

kdebase4-workspace-4.2.4-0.6mdv2009.0.src.rpm

#
# SVN commit 946969 by cloose:
# 
# * Add new option to show KDE3-like menu titles in the classic style menu (simplelauncher).
# * Fix capitalization of "Recently used applications" option   ( NOT ADDED ON MANDRIVA PATCH ) 
#
# REVIEWED: http://reviewboard.kde.org/r/455/
#

--- plasma/applets/kickoff/simpleapplet/simpleapplet.cpp	2009-04-03 23:19:06.000000000 +0200
+++ plasma/applets/kickoff/simpleapplet/simpleapplet.cpp	2009-04-03 23:35:48.000000000 +0200
@@ -3,6 +3,7 @@
     Copyright 2008 Sebastian Sauer <mail@dipe.org>
     Copyright 2008 Helio Chissini de Castro <helio@kde.org>
     Copyright 2008 Arthur R Mello <arthur@mandriva.com>
+    Copyright 2009 Christian Loose <christian.loose@kdemail.net>
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
@@ -27,6 +28,7 @@
 
 // Qt
 #include <QtGui/QLabel>
+#include <QtGui/QCheckBox>
 #include <QtGui/QComboBox>
 #include <QtGui/QSpinBox>
 #include <QtGui/QGridLayout>
@@ -114,11 +116,13 @@
     QStringList viewtypes;//QList<MenuLauncherApplet::ViewType>
     MenuLauncherApplet::FormatType formattype;
     int maxRecentApps;
+    bool showMenuTitles;
 
     QListWidget *view;
     KIconButton *iconButton;
     QComboBox *formatComboBox;
     QSpinBox *recentApplicationsSpinBox;
+    QCheckBox *showMenuTitlesCheckBox;
 
     QList<QAction*> actions;
     QAction* switcher;
@@ -283,6 +287,7 @@
    iconButton(0),
    formatComboBox(0),
    switcher(0),
+   showMenuTitlesCheckBox(0),
    contextMenuFactory(0)
 {
 }
@@ -342,6 +347,7 @@
     d->formattype = (MenuLauncherApplet::FormatType) fte.keyToValue(ftb);
 
     d->setMaxRecentApps(cg.readEntry("maxRecentApps", qMin(5, Kickoff::RecentApplications::self()->maximum())));
+    d->showMenuTitles = cg.readEntry("showMenuTitles", true);
 
     d->icon->setIcon(KIcon(cg.readEntry("icon", iconname)));
 
@@ -463,7 +469,14 @@
     recentLabel->setBuddy(d->recentApplicationsSpinBox);
     grid->addWidget(d->recentApplicationsSpinBox, 2, 1);
 
-    grid->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding), 3, 0, 1, 3);
+
+    QLabel *showMenuTitlesLabel = new QLabel(i18n("Show menu titles:"), p);
+    grid->addWidget(showMenuTitlesLabel, 3, 0, Qt::AlignRight);
+    d->showMenuTitlesCheckBox = new QCheckBox(p);
+    d->showMenuTitlesCheckBox->setChecked(d->showMenuTitles);
+    grid->addWidget(d->showMenuTitlesCheckBox, 3, 1);
+
+    grid->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding), 4, 0, 1, 3);
     parent->addPage(p, i18n("Options"), "configure");
 
     connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
@@ -514,6 +527,13 @@
         cg.writeEntry("maxRecentApps", maxRecentApps);
     }
 
+    const bool showMenuTitles = d->showMenuTitlesCheckBox->isChecked();
+    if (showMenuTitles != d->showMenuTitles) {
+        needssaving = true;
+        d->showMenuTitles = showMenuTitles;
+        cg.writeEntry("showMenuTitles", showMenuTitles);
+    }
+
     if (needssaving) {
         d->updateTooltip();
         emit configNeedsSaving();
@@ -605,8 +625,14 @@
                if (d->formattype == Name || d->formattype == NameDescription || d->formattype == NameDashDescription)
                     appModel->setPrimaryNamePolicy(Kickoff::ApplicationModel::AppNamePrimary);
                 appModel->setSystemApplicationPolicy(Kickoff::ApplicationModel::ShowApplicationAndSystemPolicy);
-                d->menuview->addModel(appModel);
-                d->menuview->addSeparator();
+                if (d->showMenuTitles) {
+                    d->menuview->addTitle(i18n("All Applications"));
+                    d->menuview->addModel(appModel);
+                    d->menuview->addTitle(i18n("Actions"));
+                } else {
+                    d->menuview->addModel(appModel);
+                    d->menuview->addSeparator();
+                }
             } else if(vtname == "Favorites") {
                  d->addModel(new Kickoff::FavoritesModel(d->menuview), Favorites);
             } else if(vtname == "Computer") {
@@ -615,12 +641,18 @@
                 d->addModel(new Kickoff::RecentlyUsedModel(d->menuview), RecentlyUsed);
             } else if(vtname == "RecentlyUsedApplications") {
                 if (d->maxRecentApps > 0) {
+                    if (d->showMenuTitles)
+                        d->menuview->addTitle(i18n("Recently Used Applications"));
                     d->menuview->addModel(new Kickoff::RecentlyUsedModel(d->menuview, Kickoff::RecentlyUsedModel::ApplicationsOnly, d->maxRecentApps), Kickoff::MenuView::MergeFirstLevel);
-                    d->menuview->addSeparator();
+                    if (!d->showMenuTitles)
+                        d->menuview->addSeparator();
                 }
             } else if(vtname == "RecentlyUsedDocuments") {
+                if (d->showMenuTitles)
+                    d->menuview->addTitle(i18n("Recently Used Documents"));
                 d->menuview->addModel(new Kickoff::RecentlyUsedModel(d->menuview, Kickoff::RecentlyUsedModel::DocumentsOnly), Kickoff::MenuView::MergeFirstLevel);
-                d->menuview->addSeparator();
+                if (!d->showMenuTitles)
+                    d->menuview->addSeparator();
             } else if(vtname == "Bookmarks") {
                 KMenu* menu = d->menuview;
                 if(d->viewtypes.count() > 1) {