Hello community,
here is the log from the commit of package kdebase4-workspace for openSUSE:Factory
checked in at Mon Aug 17 14:36:48 CEST 2009.
--------
--- KDE/kdebase4-workspace/kdebase4-wallpapers.changes 2009-08-13 18:12:37.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdebase4-workspace/kdebase4-wallpapers.changes 2009-08-17 14:35:50.624509000 +0200
@@ -1,0 +2,8 @@
+Fri Aug 14 18:42:13 CEST 2009 - beineri@opensuse.org
+
+- properly integrate lock/logout plasmoid option into config dialog
+- add config for "Recently Installed" & collapsing menu (bnc#523358)
+- add support to recreate default panel on empty desktop
+- add "Configure Plasma..." option to non-zoomed desktop cashew
+
+-------------------------------------------------------------------
kdebase4-workspace.changes: same change
python-kdebase4.changes: same change
calling whatdependson for head-i586
New:
----
plasma-new-default-panel.diff
plasma-obvious-configure.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdebase4-wallpapers.spec ++++++
--- /var/tmp/diff_new_pack.Owq6VV/_old 2009-08-17 14:36:08.000000000 +0200
+++ /var/tmp/diff_new_pack.Owq6VV/_new 2009-08-17 14:36:08.000000000 +0200
@@ -30,7 +30,7 @@
Summary: KDE 4 Wallpapers
Url: http://www.kde.org/
Version: 4.3.0
-Release: 3
+Release: 4
Source0: kdebase-workspace-%version.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
++++++ kdebase4-workspace.spec ++++++
--- /var/tmp/diff_new_pack.Owq6VV/_old 2009-08-17 14:36:08.000000000 +0200
+++ /var/tmp/diff_new_pack.Owq6VV/_new 2009-08-17 14:36:08.000000000 +0200
@@ -38,7 +38,7 @@
Summary: The KDE Workspace Components
Url: http://www.kde.org/
Version: 4.3.0
-Release: 3
+Release: 4
Source0: kdebase-workspace-%version.tar.bz2
Source1: rcksysguardd
Source2: titlebar_decor.png
@@ -86,6 +86,8 @@
Patch108: plasma-panel-resize-hint.diff
Patch109: plasma-wallpaper-description.diff
Patch110: oom-protect.diff
+Patch111: plasma-new-default-panel.diff
+Patch112: plasma-obvious-configure.diff
Requires: kde4-kgreeter-plugins = %version
%kde4_runtime_requires
%if %suse_version == 1110
@@ -120,13 +122,14 @@
%prep
%setup -q -n kdebase-workspace-%version
+%patch
+%patch111
# prepare a patched copy of the default containment
pushd plasma/containments
cp -a desktop plaindesktop
mv plaindesktop/plasma-containment-desktop.desktop plaindesktop/plasma-containment-plaindesktop.desktop
sed -i -re '/(Name|Comment)\[/d' plaindesktop/plasma-containment-plaindesktop.desktop
popd
-%patch
%patch8
%patch18
%patch60
@@ -157,6 +160,7 @@
%patch108
%patch109
%patch110
+%patch112
cp %{SOURCE3} kwin/effects/data/cubecap.png
%build
++++++ python-kdebase4.spec ++++++
--- /var/tmp/diff_new_pack.Owq6VV/_old 2009-08-17 14:36:09.000000000 +0200
+++ /var/tmp/diff_new_pack.Owq6VV/_new 2009-08-17 14:36:09.000000000 +0200
@@ -33,7 +33,7 @@
Summary: Python bindings for KDE 4 desktop shell
Url: http://www.kde.org/
Version: 4.3.0
-Release: 3
+Release: 4
Source0: kdebase-workspace-%version.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: python-kde4 = %{version}
++++++ plasma-kickoff-newly-collapsing.diff ++++++
--- /var/tmp/diff_new_pack.Owq6VV/_old 2009-08-17 14:36:14.000000000 +0200
+++ /var/tmp/diff_new_pack.Owq6VV/_new 2009-08-17 14:36:14.000000000 +0200
@@ -1,8 +1,49 @@
-Index: plasma/applets/kickoff/core/applicationmodel.cpp
+Index: applets/kickoff/core/applicationmodel.h
===================================================================
---- plasma/applets/kickoff/core/applicationmodel.cpp.orig
-+++ plasma/applets/kickoff/core/applicationmodel.cpp
-@@ -120,6 +120,8 @@ public:
+--- plasma/applets/kickoff/core/applicationmodel.h (revision 1011046)
++++ plasma/applets/kickoff/core/applicationmodel.h (working copy)
+@@ -114,14 +114,25 @@
+ virtual QModelIndex parent(const QModelIndex &index) const;
+ virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
+
++ void setShowRecentlyInstalled(bool showRecentlyInstalled);
++ bool showRecentlyInstalled() const;
++
++ void setReduceMenuDepth(bool reduceMenuDepth);
++ bool reduceMenuDepth() const;
++
+ public slots:
+ void reloadMenu();
+ void checkSycocaChange();
+
++protected slots:
++ void createNewProgramList();
++
+ private:
+ friend class ApplicationModelPrivate;
+ ApplicationModelPrivate *const d;
+
++ bool createNewProgramList(QString relPath);
++
+ Q_DISABLE_COPY(ApplicationModel)
+ };
+
+Index: applets/kickoff/core/applicationmodel.cpp
+===================================================================
+--- plasma/applets/kickoff/core/applicationmodel.cpp (revision 1011046)
++++ plasma/applets/kickoff/core/applicationmodel.cpp (working copy)
+@@ -109,7 +109,9 @@
+ systemApplicationPolicy(ApplicationModel::ShowSystemOnlyPolicy),
+ primaryNamePolicy(ApplicationModel::GenericNamePrimary),
+ displayOrder(NameAfterDescription),
+- allowSeparators(_allowSeparators)
++ allowSeparators(_allowSeparators),
++ showRecentlyInstalled(true),
++ reduceMenuDepth(true)
+ {
+ systemApplications = Kickoff::systemApplicationList();
+ }
+@@ -120,6 +122,8 @@
}
void fillNode(const QString &relPath, AppNode *node);
@@ -11,10 +52,12 @@
static QHash iconNameMap();
ApplicationModel *q;
-@@ -130,77 +132,113 @@ public:
+@@ -130,77 +134,115 @@
QStringList systemApplications;
DisplayOrder displayOrder;
bool allowSeparators;
++ bool showRecentlyInstalled;
++ bool reduceMenuDepth;
+
+ QStringList newInstalledPrograms, seenPrograms;
+ QString currentDate;
@@ -88,7 +131,7 @@
+ else if (p->isType(KST_KServiceGroup))
+ {
+ KServiceGroup::Ptr serviceGroup = KServiceGroup::Ptr::staticCast(p);
-+ if ( serviceGroup->SuSEshortMenu() ){
++ if ( reduceMenuDepth && serviceGroup->SuSEshortMenu() ){
+ KServiceGroup::List l = serviceGroup->entries(true, true /*excludeNoDisplay_*/, false );
+ if ( l.count() == 1 ) {
+
@@ -121,22 +164,13 @@
+ else
+ slist.insert( p->name().toLocal8Bit(), p);
+ }
-+
-+ list = root->SuSEsortEntries( slist, glist, true /*excludeNoDisplay_*/, false );
-+
-+ for( KServiceGroup::List::ConstIterator it = list.begin();
-+ it != list.end(); ++it)
-+ {
-+ const KSycocaEntry::Ptr p = (*it);
-+ if (p->isType(KST_KService))
-+ {
-+ const KService::Ptr service = KService::Ptr::staticCast(p);
- icon = service->icon();
- appName = service->name();
- genericName = service->genericName();
- desktopEntry = service->entryPath();
--
++ list = root->SuSEsortEntries( slist, glist, true /*excludeNoDisplay_*/, false );
+
- // check for duplicates (eg. KDE 3 and KDE 4 versions of application
- // both present)
- if (duplicatePolicy == ApplicationModel::ShowLatestOnlyPolicy &&
@@ -165,13 +199,21 @@
- }
- }
- }
++ for( KServiceGroup::List::ConstIterator it = list.begin();
++ it != list.end(); ++it)
++ {
++ const KSycocaEntry::Ptr p = (*it);
++ if (p->isType(KST_KService))
++ {
++ const KService::Ptr service = KService::Ptr::staticCast(p);
++
+
+ if (service->noDisplay()) {
+ continue;
}
if (systemApplicationPolicy == ApplicationModel::ShowSystemOnlyPolicy &&
-@@ -210,9 +248,40 @@ void ApplicationModelPrivate::fillNode(c
+@@ -210,10 +252,41 @@
continue;
}
@@ -203,18 +245,19 @@
} else if (p->isType(KST_KServiceGroup)) {
- const KServiceGroup::Ptr serviceGroup = KServiceGroup::Ptr::staticCast(p);
+ KServiceGroup::Ptr serviceGroup = KServiceGroup::Ptr::staticCast(p);
-+
-+ if ( serviceGroup->SuSEshortMenu() ){
+
++ if ( reduceMenuDepth && serviceGroup->SuSEshortMenu() ){
+ KServiceGroup::List l = serviceGroup->entries(true, true /*excludeNoDisplay_*/ );
+ if ( l.count() == 1 )
+ continue;
+ }
+ // standard sub menu
+
-
++
if (serviceGroup->noDisplay() || serviceGroup->childCount() == 0) {
continue;
-@@ -221,15 +290,11 @@ void ApplicationModelPrivate::fillNode(c
+ }
+@@ -221,15 +294,11 @@
kDebug(250) << "Service group" << serviceGroup->entryPath() << serviceGroup->icon()
<< serviceGroup->relPath() << serviceGroup->directoryEntryPath();
@@ -233,13 +276,13 @@
} else if (p->isType(KST_KServiceSeparator)) {
isSeparator = true;
} else {
-@@ -237,26 +302,29 @@ void ApplicationModelPrivate::fillNode(c
+@@ -237,26 +306,29 @@
continue;
}
+ }
+
-+ if (_relPath.isEmpty() && newInstalledPrograms.count()) {
++ if (showRecentlyInstalled && _relPath.isEmpty() && newInstalledPrograms.count()) {
+
AppNode *newnode = new AppNode();
- newnode->iconName = icon;
@@ -273,7 +316,7 @@
// set the subTitleMandatory field for nodes that do not provide a unique generic
// name what may help us on display to show in such cases also the subtitle to
// provide a hint to the user what the duplicate entries are about.
-@@ -269,6 +337,20 @@ void ApplicationModelPrivate::fillNode(c
+@@ -269,6 +341,20 @@
}
}
@@ -294,31 +337,71 @@
ApplicationModel::ApplicationModel(QObject *parent, bool allowSeparators)
: KickoffAbstractModel(parent),
d(new ApplicationModelPrivate(this, allowSeparators))
-@@ -279,6 +361,7 @@ ApplicationModel::ApplicationModel(QObje
+@@ -278,6 +364,7 @@
+ QDBusConnection::sessionBus().registerObject("/kickoff", this);
dbus.connect(QString(), "/kickoff", "org.kde.plasma", "reloadMenu", this, SLOT(reloadMenu()));
connect(KSycoca::self(), SIGNAL(databaseChanged()), this, SLOT(checkSycocaChange()));
- d->fillNode(QString(), d->root);
+ createNewProgramList();
+ d->fillNode(QString(), d->root);
+ }
+
+@@ -305,6 +392,32 @@
+ return d->displayOrder;
}
- ApplicationModel::~ApplicationModel()
-@@ -471,6 +554,7 @@ void ApplicationModel::reloadMenu()
++void ApplicationModel::setShowRecentlyInstalled(bool showRecentlyInstalled)
++{
++ if (d->showRecentlyInstalled != showRecentlyInstalled) {
++ d->showRecentlyInstalled = showRecentlyInstalled;
++ reloadMenu();
++ }
++}
++
++bool ApplicationModel::showRecentlyInstalled() const
++{
++ return d->showRecentlyInstalled;
++}
++
++void ApplicationModel::setReduceMenuDepth(bool reduceMenuDepth)
++{
++ if (d->reduceMenuDepth != reduceMenuDepth) {
++ d->reduceMenuDepth = reduceMenuDepth;
++ reloadMenu();
++ }
++}
++
++bool ApplicationModel::reduceMenuDepth() const
++{
++ return d->reduceMenuDepth;
++}
++
+ int ApplicationModel::columnCount(const QModelIndex &parent) const
+ {
+ Q_UNUSED(parent)
+@@ -469,8 +582,9 @@
+ {
+ delete d->root;
d->root = new AppNode();
- d->fillNode(QString(), d->root);
- reset();
++ reset();
+ createNewProgramList();
+ d->fillNode(QString(), d->root);
+- reset();
}
void ApplicationModel::checkSycocaChange()
-@@ -490,6 +574,100 @@ ApplicationModel::SystemApplicationPolic
+@@ -490,6 +604,104 @@
return d->systemApplicationPolicy;
}
+void ApplicationModel::createNewProgramList()
+{
++ d->newInstalledPrograms.clear();
++ if (!d->showRecentlyInstalled) {
++ return;
++ }
++
+ KConfigGroup kickoffrc = Kickoff::componentData().config()->group("Applications");
+ d->seenPrograms = kickoffrc.readEntry("FirstSeen", QStringList());
-+ d->newInstalledPrograms.clear();
+
+ d->currentDate = QDate::currentDate().toString(Qt::ISODate);
+
@@ -411,23 +494,235 @@
/**
* FIXME This is a temporary workaround to map the icon names found
* in the desktop directory files (from /usr/share/desktop-directories)
-Index: plasma/applets/kickoff/core/applicationmodel.h
+Index: applets/kickoff/ui/launcher.h
===================================================================
---- plasma/applets/kickoff/core/applicationmodel.h.orig
-+++ plasma/applets/kickoff/core/applicationmodel.h
-@@ -118,10 +118,15 @@ public slots:
- void reloadMenu();
- void checkSycocaChange();
+--- plasma/applets/kickoff/ui/launcher.h (revision 1011046)
++++ plasma/applets/kickoff/ui/launcher.h (working copy)
+@@ -77,6 +77,14 @@
+ we don't display old searches and switch back to the favorite-view. */
+ void reset();
+
++ /** Specifies whether 'Recently Installed' hierarchy shall be shown in application view */
++ void setShowRecentlyInstalled(bool showRecentlyInstalled);
++ bool showRecentlyInstalled() const;
++
++ /** Specifies whether single item sub-menus shall be collapsed to upper hierarchy */
++ void setReduceMenuDepth(bool reduceMenuDepth);
++ bool reduceMenuDepth() const;
++
+ signals:
+ void aboutToHide();
+ void configNeedsSaving();
+Index: applets/kickoff/ui/launcher.cpp
+===================================================================
+--- plasma/applets/kickoff/ui/launcher.cpp (revision 1011046)
++++ plasma/applets/kickoff/ui/launcher.cpp (working copy)
+@@ -642,6 +642,30 @@
+ }
+ }
-+protected slots:
-+ void createNewProgramList();
++void Launcher::setShowRecentlyInstalled(bool showRecentlyInstalled)
++{
++ const bool wasShowRecentlyInstalled = d->applicationModel->showRecentlyInstalled();
++ if (d->applet && showRecentlyInstalled != wasShowRecentlyInstalled) {
++ KConfigGroup cg = d->applet->config();
++ cg.writeEntry("ShowRecentlyInstalled", showRecentlyInstalled);
++ emit configNeedsSaving();
++ }
+
- private:
- friend class ApplicationModelPrivate;
- ApplicationModelPrivate *const d;
++ d->applicationModel->setShowRecentlyInstalled(showRecentlyInstalled);
++}
++
++void Launcher::setReduceMenuDepth(bool showReduceMenuDepth)
++{
++ const bool wasReduceMenuDepth = d->applicationModel->reduceMenuDepth();
++ if (d->applet && showReduceMenuDepth != wasReduceMenuDepth) {
++ KConfigGroup cg = d->applet->config();
++ cg.writeEntry("ReduceMenuDepth", showReduceMenuDepth);
++ emit configNeedsSaving();
++ }
++
++ d->applicationModel->setReduceMenuDepth(showReduceMenuDepth);
++}
++
+ bool Launcher::switchTabsOnHover() const
+ {
+ return d->contentSwitcher->switchTabsOnHover();
+@@ -652,6 +676,16 @@
+ return d->applicationModel->nameDisplayOrder() == Kickoff::NameBeforeDescription;
+ }
-+ bool createNewProgramList(QString relPath);
++bool Launcher::showRecentlyInstalled() const
++{
++ return d->applicationModel->showRecentlyInstalled();
++}
+
- Q_DISABLE_COPY(ApplicationModel)
- };
++bool Launcher::reduceMenuDepth() const
++{
++ return d->applicationModel->reduceMenuDepth();
++}
++
+ void Launcher::setVisibleItemCount(int count)
+ {
+ d->visibleItemCount = count;
+@@ -670,6 +704,8 @@
+ cg = applet->config();
+ setShowAppsByName(cg.readEntry("ShowAppsByName", showAppsByName()));
+ setVisibleItemCount(cg.readEntry("VisibleItemsCount", visibleItemCount()));
++ setShowRecentlyInstalled(cg.readEntry("ShowRecentlyInstalled", showRecentlyInstalled()));
++ setReduceMenuDepth(cg.readEntry("ReduceMenuDepth", reduceMenuDepth()));
+
+ d->applet = applet;
+ d->contextMenuFactory->setApplet(applet);
+--- plasma/applets/kickoff/applet/applet.cpp 2009/08/14 10:23:48 1.1
++++ plasma/applets/kickoff/applet/applet.cpp 2009/08/14 11:24:25
+@@ -62,6 +62,8 @@
+ KIconButton *iconButton;
+ QCheckBox *switchOnHoverCheckBox;
+ QCheckBox *appsByNameCheckBox;
++ QCheckBox *showRecentlyInstalledCheckBox;
++ QCheckBox *reduceMenuDepthCheckBox;
+ QList actions;
+ QAction* switcher;
+ LauncherApplet *q;
+@@ -179,6 +181,20 @@
+ label->setBuddy(d->appsByNameCheckBox);
+ widgetLayout->addWidget(d->appsByNameCheckBox, 2, 1);
+
++ label = new QLabel(i18n("Show 'Recently Installed':"), widget);
++ label->setAlignment(Qt::AlignRight);
++ widgetLayout->addWidget(label, 3, 0);
++ d->showRecentlyInstalledCheckBox = new QCheckBox(widget);
++ label->setBuddy(d->showRecentlyInstalledCheckBox);
++ widgetLayout->addWidget(d->showRecentlyInstalledCheckBox, 3, 1);
++
++ label = new QLabel(i18n("Reduce menu depth:"), widget);
++ label->setAlignment(Qt::AlignRight);
++ widgetLayout->addWidget(label, 4, 0);
++ d->reduceMenuDepthCheckBox = new QCheckBox(widget);
++ label->setBuddy(d->reduceMenuDepthCheckBox);
++ widgetLayout->addWidget(d->reduceMenuDepthCheckBox, 4, 1);
++
+ connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
+ connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
+ parent->addPage(widget, i18n("General"), icon());
+@@ -186,6 +202,9 @@
+ d->createLauncher();
+ d->switchOnHoverCheckBox->setChecked(d->launcher->switchTabsOnHover());
+ d->appsByNameCheckBox->setChecked(d->launcher->showAppsByName());
++
++ d->showRecentlyInstalledCheckBox->setChecked(d->launcher->showRecentlyInstalled());
++ d->reduceMenuDepthCheckBox->setChecked(d->launcher->reduceMenuDepth());
+ }
+
+ void LauncherApplet::popupEvent(bool show)
+@@ -211,6 +230,9 @@
+ bool switchTabsOnHover = d->switchOnHoverCheckBox->isChecked();
+ bool showAppsByName = d->appsByNameCheckBox->isChecked();
+
++ bool showRecentlyInstalled = d->showRecentlyInstalledCheckBox->isChecked();
++ bool reduceMenuDepth = d->reduceMenuDepthCheckBox->isChecked();
++
+ const QString iconname = d->iconButton->icon();
+
+ // TODO: should this be moved into Launcher as well? perhaps even the config itself?
+@@ -231,6 +253,9 @@
+
+ d->launcher->setSwitchTabsOnHover(switchTabsOnHover);
+ d->launcher->setShowAppsByName(showAppsByName);
++
++ d->launcher->setShowRecentlyInstalled(showRecentlyInstalled);
++ d->launcher->setReduceMenuDepth(reduceMenuDepth);
+ }
+
+ QList LauncherApplet::contextualActions()
+--- plasma/applets/kickoff/simpleapplet/simpleapplet.cpp 2009/08/14 10:23:53 1.1
++++ plasma/applets/kickoff/simpleapplet/simpleapplet.cpp 2009/08/14 12:08:04
+@@ -108,6 +108,8 @@
+ MenuLauncherApplet::FormatType formattype;
+ int maxRecentApps;
+ bool showMenuTitles;
++ bool showRecentlyInstalled;
++ bool reduceMenuDepth;
+
+ QListWidget *view;
+ KIconButton *iconButton;
+@@ -115,6 +117,9 @@
+ QSpinBox *recentApplicationsSpinBox;
+ QCheckBox *showMenuTitlesCheckBox;
+
++ QCheckBox *showRecentlyInstalledCheckBox;
++ QCheckBox *reduceMenuDepthCheckBox;
++
+ QList actions;
+ QAction* switcher;
+ Kickoff::ContextMenuFactory *contextMenuFactory;
+@@ -124,7 +129,7 @@
+ menuview(0), icon(0), launcher(0),
+ bookmarkcollection(0), bookmarkowner(0), bookmarkmenu(0),
+ view(0), iconButton(0), formatComboBox(0), showMenuTitlesCheckBox(0),
+- switcher(0), contextMenuFactory(0) {}
++ showRecentlyInstalledCheckBox(0), reduceMenuDepthCheckBox(0), switcher(0), contextMenuFactory(0) {}
+ ~Private() {
+ delete bookmarkmenu;
+ delete bookmarkowner;
+@@ -308,6 +313,8 @@
+
+ d->setMaxRecentApps(cg.readEntry("maxRecentApps", qMin(5, Kickoff::RecentApplications::self()->maximum())));
+ d->showMenuTitles = cg.readEntry("showMenuTitles", false);
++ d->showRecentlyInstalled = cg.readEntry("showRecentlyInstalled", true);
++ d->reduceMenuDepth = cg.readEntry("reduceMenuDepth", true);
+
+ d->icon->setIcon(KIcon(cg.readEntry("icon", iconname)));
+
+@@ -438,7 +445,19 @@
+ 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);
++ QLabel *showMenuRecentlyInstalledLabel = new QLabel(i18n("Show 'Recently Installed':"), p);
++ grid->addWidget(showMenuRecentlyInstalledLabel, 4, 0, Qt::AlignRight);
++ d->showRecentlyInstalledCheckBox = new QCheckBox(p);
++ d->showRecentlyInstalledCheckBox->setChecked(d->showRecentlyInstalled);
++ grid->addWidget(d->showRecentlyInstalledCheckBox, 4, 1);
++
++ QLabel *reduceMenuDepthLabel = new QLabel(i18n("Reduce menu depth:"), p);
++ grid->addWidget(reduceMenuDepthLabel, 5, 0, Qt::AlignRight);
++ d->reduceMenuDepthCheckBox = new QCheckBox(p);
++ d->reduceMenuDepthCheckBox->setChecked(d->reduceMenuDepth);
++ grid->addWidget(d->reduceMenuDepthCheckBox, 5, 1);
++
++ grid->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding), 6, 0, 1, 3);
+ parent->addPage(p, i18n("Options"), "configure");
+
+ connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
+@@ -496,6 +515,19 @@
+ cg.writeEntry("showMenuTitles", showMenuTitles);
+ }
+
++ const bool showRecentlyInstalled = d->showRecentlyInstalledCheckBox->isChecked();
++ if (showRecentlyInstalled != d->showRecentlyInstalled) {
++ needssaving = true;
++ d->showRecentlyInstalled = showRecentlyInstalled;
++ cg.writeEntry("showRecentlyInstalled", showRecentlyInstalled);
++ }
++ const bool reduceMenuDepth = d->reduceMenuDepthCheckBox->isChecked();
++ if (reduceMenuDepth != d->reduceMenuDepth) {
++ needssaving = true;
++ d->reduceMenuDepth = reduceMenuDepth;
++ cg.writeEntry("reduceMenuDepth", reduceMenuDepth);
++ }
++
+ if (needssaving) {
+ d->updateTooltip();
+ emit configNeedsSaving();
+@@ -549,6 +581,9 @@
+ appModel->setPrimaryNamePolicy(Kickoff::ApplicationModel::AppNamePrimary);
+ appModel->setSystemApplicationPolicy(Kickoff::ApplicationModel::ShowApplicationAndSystemPolicy);
+
++ appModel->setShowRecentlyInstalled(d->showRecentlyInstalled);
++ appModel->setReduceMenuDepth(d->reduceMenuDepth);
++
+ d->menuview->addModel(appModel);
+ if (d->showMenuTitles) {
++++++ plasma-lock_logout_order.diff ++++++
--- /var/tmp/diff_new_pack.Owq6VV/_old 2009-08-17 14:36:14.000000000 +0200
+++ /var/tmp/diff_new_pack.Owq6VV/_new 2009-08-17 14:36:14.000000000 +0200
@@ -1,7 +1,7 @@
Index: plasma/applets/lock_logout/Messages.sh
===================================================================
---- plasma/applets/lock_logout/Messages.sh.orig
-+++ plasma/applets/lock_logout/Messages.sh
+--- plasma/applets/lock_logout/Messages.sh (revision 1011046)
++++ plasma/applets/lock_logout/Messages.sh (working copy)
@@ -1,4 +1,6 @@
#! /usr/bin/env bash
+$XGETTEXT *.cpp -o $podir/plasma_applet_lock_logout.pot
@@ -11,64 +11,38 @@
rm -f rc.cpp
Index: plasma/applets/lock_logout/lockout.cpp
===================================================================
---- plasma/applets/lock_logout/lockout.cpp.orig
-+++ plasma/applets/lock_logout/lockout.cpp
-@@ -22,12 +22,14 @@
- // Plasma
- #include
- #include
-+#include
-
- // Qt
- #include // QWIDGETSIZE_MAX
- #include
- #include
- #include <QGraphicsLinearLayout>
-+#include <QAction>
-
- // KDE
- #include <KIcon>
-@@ -79,6 +81,10 @@ void LockOut::init()
- Plasma::ToolTipContent logoutToolTip(i18n("Leave..."),i18n("Logout, turn off or restart the computer"),m_iconLogout->icon());
- Plasma::ToolTipManager::self()->setContent(m_iconLogout, logoutToolTip);
-
-+ QAction *switcher = new QAction(i18n("Alternate Button Order"), this);
-+ m_actions.append(switcher);
-+ connect(switcher, SIGNAL(triggered(bool)), this, SLOT(switchOrder()));
-+
- showButtons();
- }
-
-@@ -86,6 +92,17 @@ LockOut::~LockOut()
- {
- }
+--- plasma/applets/lock_logout/lockout.cpp (revision 1011046)
++++ plasma/applets/lock_logout/lockout.cpp (working copy)
+@@ -66,6 +66,7 @@
+ KConfigGroup cg = config();
+ m_showLockButton = cg.readEntry("showLockButton", true);
+ m_showLogoutButton = cg.readEntry("showLogoutButton", true);
++ m_alternateButtonOrder = cg.readEntry("AlternateButtonOrder", false);
+ #endif
+
+ //Tooltip strings maybe should be different (eg. "Leave..."->"Logout")?
+@@ -195,6 +196,12 @@
+ changed = true;
+ }
-+void LockOut::switchOrder()
-+{
-+ KConfigGroup cg = config();
-+ cg.writeEntry("AlternateButtonOrder", !cg.readEntry("AlternateButtonOrder", false));
-+ emit configNeedsSaving();
-+
-+ QGraphicsLayoutItem* item = m_layout->itemAt(0);
-+ m_layout->removeAt(0);
-+ m_layout->addItem(item);
-+}
++ if (m_alternateButtonOrder != ui.checkBox_alternate_button_order->isChecked()) {
++ m_alternateButtonOrder = !m_alternateButtonOrder;
++ cg.writeEntry("AlternateButtonOrder", m_alternateButtonOrder);
++ changed = true;
++ }
+
- void LockOut::checkLayout()
- {
- Qt::Orientation direction;
-@@ -151,6 +168,10 @@ void LockOut::constraintsEvent(Plasma::C
- }
+ if (changed) {
+ showButtons();
+ emit configNeedsSaving();
+@@ -213,6 +220,7 @@
+
+ ui.checkBox_lock->setChecked(m_showLockButton);
+ ui.checkBox_logout->setChecked(m_showLogoutButton);
++ ui.checkBox_alternate_button_order->setChecked(m_alternateButtonOrder);
+ #endif
}
-+QList LockOut::contextualActions()
-+{
-+ return m_actions;
-+}
- void LockOut::clickLock()
- {
- kDebug()<<"LockOut:: lock clicked ";
-@@ -226,7 +247,21 @@ void LockOut::showButtons()
+@@ -226,7 +234,20 @@
m_layout->removeItem(m_iconLock);
m_layout->removeItem(m_iconLogout);
@@ -76,8 +50,7 @@
+ if (m_showLockButton && m_showLogoutButton) {
+ m_iconLock->setVisible(true);
+ m_iconLogout->setVisible(true);
-+ KConfigGroup cg = config();
-+ if (cg.readEntry("AlternateButtonOrder", false)) {
++ if (m_alternateButtonOrder) {
+ m_layout->addItem(m_iconLock);
+ m_layout->addItem(m_iconLogout);
+ }
@@ -91,38 +64,41 @@
m_iconLock->setVisible(true);
m_layout->addItem(m_iconLock);
} else {
-@@ -239,7 +274,8 @@ void LockOut::showButtons()
- } else {
+@@ -240,6 +261,7 @@
m_iconLogout->setVisible(false);
}
--
+
+ }
-+
setConfigurationRequired(!m_showLockButton && !m_showLogoutButton);
checkLayout();
#endif // !Q_OS_WIN
+Index: plasma/applets/lock_logout/lockoutConfig.ui
+===================================================================
+--- plasma/applets/lock_logout/lockoutConfig.ui (revision 1011046)
++++ plasma/applets/lock_logout/lockoutConfig.ui (working copy)
+@@ -28,6 +28,13 @@
+ </widget>
+ </item>
+ <item row="2" column="0" >
++ <widget class="QCheckBox" name="checkBox_alternate_button_order" >
++ <property name="text" >
++ <string>Alternative button order</string>
++ </property>
++ </widget>
++ </item>
++ <item row="3" column="0" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
Index: plasma/applets/lock_logout/lockout.h
===================================================================
---- plasma/applets/lock_logout/lockout.h.orig
-+++ plasma/applets/lock_logout/lockout.h
-@@ -42,10 +42,12 @@ class LockOut : public Plasma::Applet
- ~LockOut();
- void init();
- virtual void constraintsEvent(Plasma::Constraints constraints);
-+ virtual QList contextualActions();
-
- public slots:
- void clickLogout();
- void clickLock();
-+ void switchOrder();
-
- protected Q_SLOTS:
- void configAccepted();
-@@ -62,6 +64,7 @@ class LockOut : public Plasma::Applet
+--- plasma/applets/lock_logout/lockout.h (revision 1011046)
++++ plasma/applets/lock_logout/lockout.h (working copy)
+@@ -58,6 +58,7 @@
+ Ui::lockoutConfig ui;
+ bool m_showLockButton;
+ bool m_showLogoutButton;
++ bool m_alternateButtonOrder;
+ #endif
Plasma::IconWidget *m_iconLock;
Plasma::IconWidget *m_iconLogout;
- QGraphicsLinearLayout *m_layout;
-+ QList m_actions;
- void checkLayout();
- void showButtons();
- };
++++++ plasma-new-default-panel.diff ++++++
Index: plasma/containments/desktop/desktop.h
===================================================================
--- plasma/containments/desktop/desktop.h (revision 1011046)
+++ plasma/containments/desktop/desktop.h (working copy)
@@ -29,9 +29,11 @@
#include <KDialog>
#include <KIcon>
+#include <KMessageBox>
#include
#include
+#include "plasma/dataenginemanager.h"
#include "desktoplayout.h"
@@ -84,6 +86,8 @@
void onAppletTransformedItself();
void refreshWorkingArea();
+ void saveDefaultSetup();
+
private:
QMenu *m_addPanelsMenu;
QAction *m_lockDesktopAction;
@@ -97,6 +101,8 @@
DesktopLayout *m_layout;
bool dropping;
+
+ Plasma::Applet *loadDefaultApplet(const QString &pluginName, Plasma::Containment *c);
};
#endif // PLASMA_PANEL_H
Index: plasma/containments/desktop/desktop.cpp
===================================================================
--- plasma/containments/desktop/desktop.cpp (revision 1011046)
+++ plasma/containments/desktop/desktop.cpp (working copy)
@@ -134,11 +134,23 @@
{
Corona *c = corona();
if (c) {
+ bool default_panel = false;
+ if (corona()->containments().count()==1) {
+ int answer = KMessageBox::questionYesNoCancel(0, i18n("Do you want a panel with the default widgets or an empty panel?"),
+ i18n("Add Panel"), KGuiItem(i18n("Default Panel")), KGuiItem(i18n("Empty Panel")));
+ if (answer==KMessageBox::Cancel) {
+ return;
+ } else if (answer==KMessageBox::Yes) {
+ default_panel = true;
+ }
+ }
+
Containment* panel = c->addContainment(plugin);
panel->showConfigurationInterface();
panel->setScreen(screen());
+ if (!default_panel) {
QListPlasma::Location freeEdges = c->freeEdges(screen());
//kDebug() << freeEdges;
Plasma::Location destination;
@@ -190,7 +202,99 @@
panel->setMinimumSize(minW, minH);
panel->setMaximumSize(w, h);
panel->resize(w, h);
+ }
+ else {
+ panel->setLocation(Plasma::BottomEdge);
+
+ const int newHeight = 28;
+ panel->resize(QSize((int)panel->size().width(), newHeight));
+ panel->setMinimumSize(QSize((int)panel->minimumSize().width(), newHeight));
+ panel->setMaximumSize(QSize((int)panel->maximumSize().width(), newHeight));
+
+ panel->updateConstraints(Plasma::StartupCompletedConstraint);
+ panel->flushPendingConstraintsEvents();
+
+ // some default applets to get a usable UI
+ Plasma::Applet *applet = loadDefaultApplet("launcher", panel);
+ if (applet) {
+ applet->setGlobalShortcut(KShortcut("Alt+F1"));
+ }
+
+ if (QFile::exists("/usr/share/kde4/services/plasma-applet-showdashboard.desktop"))
+ loadDefaultApplet("showdashboard", panel);
+
+ QVariantList args;
+ if (QFile::exists("/usr/share/applications/MozillaFirefox.desktop")) {
+ args << "/usr/share/applications/MozillaFirefox.desktop";
+ panel->addApplet("icon", args);
+ }
+ else if (QFile::exists("/usr/share/applications/kde4/konqbrowser.desktop")) {
+ args << "/usr/share/applications/kde4/konqbrowser.desktop";
+ panel->addApplet("icon", args);
+ }
+
+ args.clear();
+ if (QFile::exists("/usr/share/applications/kde4/dolphin.desktop")) {
+ args << "/usr/share/applications/kde4/dolphin.desktop";
+ panel->addApplet("icon", args);
+ }
+
+ loadDefaultApplet("notifier", panel);
+ loadDefaultApplet("pager", panel);
+ loadDefaultApplet("tasks", panel);
+ loadDefaultApplet("systemtray", panel);
+
+ Plasma::DataEngineManager *engines = Plasma::DataEngineManager::self();
+ Plasma::DataEngine *power = engines->loadEngine("powermanagement");
+ if (power) {
+ const QStringList &batteries = power->query("Battery")["sources"].toStringList();
+ if (!batteries.isEmpty()) {
+ loadDefaultApplet("battery", panel);
+ }
+ }
+ engines->unloadEngine("powermanagement");
+
+ if (QFile::exists("/usr/share/kde4/services/plasma-applet-networkmanagement.desktop")) {
+ loadDefaultApplet("networkmanagement", panel);
+ }
+
+ loadDefaultApplet("digital-clock", panel);
+ loadDefaultApplet("loc", panel);
+
+ QTimer::singleShot(1000, this, SLOT(saveDefaultSetup()));
+ }
+ }
+}
+
+Plasma::Applet *DefaultDesktop::loadDefaultApplet(const QString &pluginName, Plasma::Containment *c)
+{
+ QVariantList args;
+ Plasma::Applet *applet = Plasma::Applet::load(pluginName, 0, args);
+
+ if (applet) {
+ c->addApplet(applet);
}
+
+ return applet;
+}
+
+void DefaultDesktop::saveDefaultSetup()
+{
+ // a "null" KConfigGroup is used to force a save into the config file
+ KConfigGroup invalidConfig;
+
+ foreach (Plasma::Containment *containment, corona()->containments()) {
+ containment->save(invalidConfig);
+
+ foreach (Plasma::Applet* applet, containment->applets()) {
+ applet->init();
+ applet->updateConstraints(Plasma::AllConstraints | Plasma::StartupCompletedConstraint);
+ applet->flushPendingConstraintsEvents();
+ applet->save(invalidConfig);
+ }
+ }
+
+ corona()->requestConfigSync();
}
void DefaultDesktop::runCommand()
++++++ plasma-obvious-configure.diff ++++++
Index: plasma/shells/desktop/plasmaapp.cpp
===================================================================
--- plasma/shells/desktop/plasmaapp.cpp (revision 1011046)
+++ plasma/shells/desktop/plasmaapp.cpp (working copy)
@@ -558,6 +558,11 @@
activityAction->setShortcut(KShortcut("alt+d, alt+a"));
activityAction->setShortcutContext(Qt::ApplicationShortcut);
+ KAction *configureAction = c->addAction("configure plasma");
+ configureAction->setText(i18n("Configure Plasma..."));
+ configureAction->setIcon(KIcon("configure"));
+ connect(configureAction, SIGNAL(triggered()), this, SLOT(createConfigurationInterface()));
+
KAction *zoomAction = c->addAction("zoom out");
zoomAction->setText(i18n("Zoom Out"));
zoomAction->setIcon(KIcon("zoom-out"));
@@ -755,6 +760,7 @@
if (containment->containmentType() == Plasma::Containment::DesktopContainment
&& m_zoomLevel == Plasma::DesktopZoom) {
foreach (QAction *action, m_corona->actions()) {
+ containment->removeToolBoxAction(action);
containment->addToolBoxAction(action);
}
}
@@ -948,12 +954,6 @@
layout->addWidget(actionButton);
}
- ToolButton *actionButton = new ToolButton(m_controllerDialog);
- actionButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- actionButton->setIcon(KIcon("configure"));
- actionButton->setText(i18n("Configure Plasma..."));
- layout->addWidget(actionButton);
- connect(actionButton, SIGNAL(clicked()), this, SLOT(createConfigurationInterface()));
}
m_controllerDialog->show();
@@ -969,7 +969,7 @@
m_configUi.setupUi(widget);
KConfigSkeleton *nullManager = new KConfigSkeleton(0);
KConfigDialog *dialog = new KConfigDialog(0, "Plasma settings", nullManager);
- dialog ->addPage(widget, i18n("Plasma settings"));
+ dialog ->addPage(widget, i18n("Plasma Settings"));
dialog->setAttribute(Qt::WA_DeleteOnClose, true);
dialog->setFaceType(KPageDialog::Auto);
dialog->showButton(KDialog::Apply, false);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org