[SCM] ktp-contact-applet packaging branch, master, updated. debian/15.12.1-1-966-gde83ac5
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:12:05 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-desktop-applets.git;a=commitdiff;h=65e05bd
The following commit has been merged in the master branch:
commit 65e05bd092013aabcb2db21f6922fd11961d7fe8
Author: Francesco Nwokeka <francesco.nwokeka at gmail.com>
Date: Sun Dec 11 23:58:46 2011 +0100
add context menu for presence changing
---
presence/src/presence-applet.cpp | 37 ++++++++++++++++++++++++++++++++++++-
presence/src/presence-applet.h | 2 ++
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/presence/src/presence-applet.cpp b/presence/src/presence-applet.cpp
index 9e6075c..68ba824 100644
--- a/presence/src/presence-applet.cpp
+++ b/presence/src/presence-applet.cpp
@@ -20,6 +20,8 @@
#include "globalpresencewrapper.h"
#include "presenceapplet.h"
+#include <KAction>
+#include <KActionMenu>
#include <KStandardDirs>
#include <KTelepathy/global-presence.h>
@@ -55,6 +57,40 @@ int TelepathyPresenceApplet::appletWidth() const
return geometry().width();
}
+QList< QAction* > TelepathyPresenceApplet::contextualActions()
+{
+ QList<QAction*>contextActions;
+
+ KActionMenu *presenceMenu = new KActionMenu(i18n("Set presence"), this);
+ KAction *goOnlineAction = new KAction(KIcon("user-online"), i18n("Online"), this);
+ KAction *goBusyAction = new KAction(KIcon("user-busy"), i18n("Busy"), this);
+ KAction *goAwayAction = new KAction(KIcon("user-away"), i18n("Away"), this);
+ KAction *goExtendedAwayAction = new KAction(KIcon("user-away-extended"), i18n("Not Available"), this);
+ KAction *goHiddenAction = new KAction(KIcon("user-invisible"), i18n("Invisible"), this);
+ KAction *goOfflineAction = new KAction(KIcon("user-offline"), i18n("Offline"), this);
+
+ // connect actions
+ connect(goOnlineAction, SIGNAL(triggered()), m_globalPresenceWrapper, SLOT(setPresenceOnline()));
+ connect(goBusyAction, SIGNAL(triggered()), m_globalPresenceWrapper, SLOT(setPresenceBusy()));
+ connect(goAwayAction, SIGNAL(triggered()), m_globalPresenceWrapper, SLOT(setPresenceAway()));
+ connect(goExtendedAwayAction, SIGNAL(triggered()), m_globalPresenceWrapper, SLOT(setPresenceXa()));
+ connect(goHiddenAction, SIGNAL(triggered()), m_globalPresenceWrapper, SLOT(setPresenceHidden()));
+ connect(goOfflineAction, SIGNAL(triggered()), m_globalPresenceWrapper, SLOT(setPresenceOffline()));
+
+ presenceMenu->addAction(goOnlineAction);
+ presenceMenu->addAction(goBusyAction);
+ presenceMenu->addAction(goAwayAction);
+ presenceMenu->addAction(goExtendedAwayAction);
+ presenceMenu->addAction(goHiddenAction);
+ presenceMenu->addAction(goOfflineAction);
+ presenceMenu->addSeparator();
+
+ contextActions.append(presenceMenu);
+ contextActions.append(presenceMenu->addSeparator());
+
+ return contextActions;
+}
+
void TelepathyPresenceApplet::init()
{
Plasma::Applet::init();
@@ -84,7 +120,6 @@ void TelepathyPresenceApplet::paintInterface(QPainter* p, const QStyleOptionGrap
}
-
// This is the command that links your applet to the .desktop file
K_EXPORT_PLASMA_APPLET(telepathy-kde-presence-applet, TelepathyPresenceApplet)
diff --git a/presence/src/presence-applet.h b/presence/src/presence-applet.h
index 7d29586..8a7ac10 100644
--- a/presence/src/presence-applet.h
+++ b/presence/src/presence-applet.h
@@ -24,6 +24,7 @@
#include <Plasma/DeclarativeWidget>
class GlobalPresenceWrapper;
+class QAction;
class TelepathyPresenceApplet: public Plasma::Applet
{
@@ -39,6 +40,7 @@ public:
int appletHeight() const;
int appletWidth() const;
+ QList<QAction*>contextualActions();
void init();
void paintInterface(QPainter *p, const QStyleOptionGraphicsItem *option, const QRect& contentsRect);
--
ktp-contact-applet packaging
More information about the pkg-kde-commits
mailing list