[SCM] ktp-contact-list packaging branch, master, updated. debian/15.12.1-2-1070-g6c56f91
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:07:08 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=8234943
The following commit has been merged in the master branch:
commit 82349433678257bae5391f0f80c6b095e26d2309
Author: Maxime Corteel <mcorteel at gmail.com>
Date: Wed Jul 20 23:10:04 2011 +0200
Add a header to the account presence menu
Adds a header containing the displayName to the account presence menu.
BUG: 271611
REVIEW: 102023
---
account-button.cpp | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/account-button.cpp b/account-button.cpp
index 5c9e135..d0623a4 100644
--- a/account-button.cpp
+++ b/account-button.cpp
@@ -26,6 +26,7 @@
#include <KAction>
#include <KIcon>
#include <KLocale>
+#include <KMenu>
#include <KPixmapSequenceOverlayPainter>
#include <KPixmapSequence>
#include <KIconLoader>
@@ -114,7 +115,17 @@ AccountButton::AccountButton(const Tp::AccountPtr &account, QWidget* parent)
presenceActions->addAction(m_offlineAction);
presenceActions->addAction(presenceMessageAction);
- addActions(presenceActions->actions());
+ KMenu *presenceMenu = new KMenu(this);
+ presenceMenu->setMinimumWidth(180);
+ presenceMenu->addActions(presenceActions->actions());
+
+ QFont titleFont = KGlobalSettings::menuFont();
+ QFontMetrics *titleFontMetrics = new QFontMetrics(titleFont);
+ QString accountName = titleFontMetrics->elidedText(m_account->displayName(), Qt::ElideMiddle, presenceMenu->width());
+
+ presenceMenu->addTitle(KIcon(), accountName, presenceMenu->actions().first());
+
+ setMenu(presenceMenu);
//make all the actions checkable
foreach (QAction *a, actions()) {
@@ -219,7 +230,7 @@ QAction *AccountButton::actionForPresence(const Tp::Presence &presence) const
{
QAction *match = 0;
- foreach (QAction *a, actions()) {
+ foreach (QAction *a, menu()->actions()) {
Tp::Presence actionPresence = qVariantValue<Tp::Presence>(a->data());
if (presence.status() == actionPresence.status()) {
// if a matching status is found, return it immediately
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list