SVN commit 1098103 by mzanetti:
added icons to modelist in tray app context menu
M +10 -0 kded/kremotecontroldaemon.cpp
M +1 -0 kded/kremotecontroldaemon.h
M +6 -1 kded/org.kde.krcd.xml
M +1 -0 krcdnotifieritem/krcdnotifieritem.cpp
M +17 -2 libkremotecontrol/dbusinterface.cpp
M +1 -0 libkremotecontrol/dbusinterface.h
M +9 -0 libkremotecontrol/remote.cpp
M +1 -0 libkremotecontrol/remote.h
--- branches/work/kdelirc/kded/kremotecontroldaemon.cpp #1098102:1098103
@@ -295,6 +295,16 @@
return "modeNotFound";
}
+QString KRemoteControlDaemon::getModeIcon(const QString &remoteName, const QString& modeName) {
+ Remote *remote = d_ptr->remoteList().getRemote(remoteName);
+ if(remote){
+ Mode *mode = remote->modeByName(modeName);
+ if(mode){
+ return mode->iconName();
+ }
+ }
+ return "";
+}
void KRemoteControlDaemon::notifyEvent(const QString& message, const QString& iconName, const QString& event) {
KNotification::event(event, message, DesktopIcon(iconName), 0, KNotification::CloseOnTimeout, d_ptr->applicationData);
--- branches/work/kdelirc/kded/kremotecontroldaemon.h #1098102:1098103
@@ -60,6 +60,7 @@
QStringList getConfiguredRemotes();
QStringList getModesForRemote(const QString &remoteName);
QString getCurrentMode(const QString& remoteName);
+ QString getModeIcon(const QString &remoteName, const QString &modeName);
bool eventsIgnored(const QString& remoteName);
--- branches/work/kdelirc/kded/org.kde.krcd.xml #1098102:1098103
@@ -29,7 +29,12 @@
-
+
+
+
+
+
+
--- branches/work/kdelirc/krcdnotifieritem/krcdnotifieritem.cpp #1098102:1098103
@@ -77,6 +77,7 @@
QAction *entry = modeMenu->addAction(mode);
entry->setActionGroup(actionGroup);
entry->setCheckable(true);
+ entry->setIcon(KIcon(DBusInterface::getInstance()->getModeIcon(remote, mode)));
if(DBusInterface::getInstance()->getCurrentMode(remote) == mode){
entry->setChecked(true);
}
--- branches/work/kdelirc/libkremotecontrol/dbusinterface.cpp #1098102:1098103
@@ -445,11 +445,26 @@
if (reply.isValid()) {
return reply;
} else {
- kDebug() << reply.error().message();
- return QStringList();
+ kDebug() << reply.error().message();
+ return QStringList();
}
}
+QString DBusInterface::getModeIcon(const QString& remoteName, const QString& modeName) {
+ QDBusMessage m = QDBusMessage::createMethodCall("org.kde.kded", "/modules/kremotecontrol",
+ "org.kde.krcd", "getModeIcon");
+ m << remoteName;
+ m << modeName;
+ QDBusReply reply = QDBusConnection::sessionBus().call(m);
+ if (reply.isValid()) {
+ return reply;
+ } else {
+ kDebug() << reply.error().message();
+ return "";
+ }
+
+}
+
bool DBusInterface::eventsIgnored(const QString& remoteName) {
QDBusMessage m = QDBusMessage::createMethodCall("org.kde.kded", "/modules/kremotecontrol",
"org.kde.krcd", "eventsIgnored");
--- branches/work/kdelirc/libkremotecontrol/dbusinterface.h #1098102:1098103
@@ -60,6 +60,7 @@
QStringList getModesForRemote(const QString &remoteName);
void changeMode(const QString &remoteName, const QString &modeName);
QString getCurrentMode(const QString &remoteName);
+ QString getModeIcon(const QString &remoteName, const QString &modeName);
bool eventsIgnored(const QString &remoteName);
bool isKdedModuleRunning();
--- branches/work/kdelirc/libkremotecontrol/remote.cpp #1098102:1098103
@@ -327,6 +327,15 @@
}
}
+Mode* Remote::modeByName(const QString& modeName) const {
+ foreach(Mode *mode, m_modeList) {
+ if (mode->name() == modeName) {
+ return mode;
+ }
+ }
+ return 0;
+}
+
Mode* Remote::currentMode() const {
if (m_currentMode != 0) {
return m_currentMode;
--- branches/work/kdelirc/libkremotecontrol/remote.h #1098102:1098103
@@ -66,6 +66,7 @@
Mode *defaultMode() const;
void setDefaultMode(Mode *mode);
void setDefaultMode(const QString &name);
+ Mode *modeByName(const QString &name) const;
Mode *currentMode() const;
void setCurrentMode(Mode *mode);