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 REVIEWED: http://reviewboard.kde.org/r/455/ M +38 -7 simpleapplet.cpp --- trunk/KDE/kdebase/workspace/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp #946968:946969 @@ -1,6 +1,7 @@ /* Copyright 2007 Robert Knight Copyright 2008-2009 Sebastian Sauer + Copyright 2009 Christian Loose This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -24,6 +25,7 @@ // Qt #include +#include #include #include #include @@ -104,11 +106,13 @@ QStringList viewtypes;//QList MenuLauncherApplet::FormatType formattype; int maxRecentApps; + bool showMenuTitles; QListWidget *view; KIconButton *iconButton; QComboBox *formatComboBox; QSpinBox *recentApplicationsSpinBox; + QCheckBox *showMenuTitlesCheckBox; QList actions; QAction* switcher; @@ -118,7 +122,7 @@ : q(q), menuview(0), icon(0), launcher(0), bookmarkcollection(0), bookmarkowner(0), bookmarkmenu(0), - view(0), iconButton(0), formatComboBox(0), + view(0), iconButton(0), formatComboBox(0), showMenuTitlesCheckBox(0), switcher(0), contextMenuFactory(0) {} ~Private() { delete bookmarkmenu; @@ -298,6 +302,7 @@ d->formattype = (MenuLauncherApplet::FormatType) fte.keyToValue(ftb); d->setMaxRecentApps(cg.readEntry("maxRecentApps", qMin(5, Kickoff::RecentApplications::self()->maximum()))); + d->showMenuTitles = cg.readEntry("showMenuTitles", false); d->icon->setIcon(KIcon(cg.readEntry("icon", iconname))); @@ -408,7 +413,7 @@ d->setCurrentItem(d->formatComboBox, d->formattype); grid->addWidget(d->formatComboBox, 1, 1); - QLabel *recentLabel = new QLabel(i18n("Recently Used Applications:"), p); + QLabel *recentLabel = new QLabel(i18n("Recently used applications:"), p); grid->addWidget(recentLabel, 2, 0, Qt::AlignRight); d->recentApplicationsSpinBox = new QSpinBox(p); d->recentApplicationsSpinBox->setMaximum(10); @@ -417,7 +422,13 @@ 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())); @@ -468,6 +479,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(); @@ -520,8 +538,15 @@ 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") { @@ -530,12 +555,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) {