[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.4/kdebase/workspace/plasma/generic/applets/systemtray/ui
From: Will Stephenson <wstephenson () kde ! org>
Date: 2010-06-17 13:31:16
Message-ID: 20100617133116.822BBAC8D6 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1139154 by wstephens:
Backport r1113069
"Approach adding the default [widgets to the system tray] in a different
way."
This way actually works.
M +13 -5 applet.cpp
M +1 -1 applet.h
--- branches/KDE/4.4/kdebase/workspace/plasma/generic/applets/systemtray/ui/applet.cpp #1139153:1139154
@@ -22,6 +22,8 @@
#include "applet.h"
+#include <QtCore/QProcess>
+#include <QtCore/QTimer>
#include <QtGui/QApplication>
#include <QtGui/QGraphicsLayout>
#include <QtGui/QGraphicsLinearLayout>
@@ -33,7 +35,6 @@
#include <QtGui/QCheckBox>
#include <QtGui/QPainter>
#include <QtGui/QX11Info>
-#include <QtCore/QProcess>
#include <KConfigDialog>
@@ -106,9 +107,6 @@
setAspectRatioMode(Plasma::IgnoreAspectRatio);
setBackgroundHints(NoBackground);
setHasConfigurationInterface(true);
- QAction *addDefaultApplets = new QAction(i18n("add default applets"), this);
- connect(addDefaultApplets, SIGNAL(triggered()), this, SLOT(addDefaultApplets()));
- addAction("add default applets", addDefaultApplets);
}
Applet::~Applet()
@@ -172,6 +170,7 @@
}
}
+ QTimer::singleShot(0, this, SLOT(checkDefaultApplets()));
configChanged();
}
@@ -706,12 +705,18 @@
emit configNeedsSaving();
}
-void Applet::addDefaultApplets()
+void Applet::checkDefaultApplets()
{
+ if (config().readEntry("DefaultAppletsAdded", false)) {
+ return;
+ }
+
+
QStringList applets = s_manager->applets(this);
if (!applets.contains("notifier")) {
s_manager->addApplet("notifier", this);
}
+
if (!applets.contains("battery")) {
Plasma::DataEngineManager *engines = Plasma::DataEngineManager::self();
Plasma::DataEngine *power = engines->loadEngine("powermanagement");
@@ -723,6 +728,9 @@
}
engines->unloadEngine("powermanagement");
}
+
+ config().writeEntry("DefaultAppletsAdded", true);
+ configChanged();
}
NotificationWidget *Applet::addNotification(Notification *notification)
--- branches/KDE/4.4/kdebase/workspace/plasma/generic/applets/systemtray/ui/applet.h #1139153:1139154
@@ -85,7 +85,7 @@
void clearOldNotifications();
void finishJob(SystemTray::Job *job);
void open(const QString &url);
- void addDefaultApplets();
+ void checkDefaultApplets();
void showTaskNotifications(int barIndex);
void syncNotificationBarNeeded();
void notificationDestroyed(SystemTray::Notification *notification);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic