[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:11:26 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-desktop-applets.git;a=commitdiff;h=c7d2368

The following commit has been merged in the master branch:
commit c7d2368f5c4d9cb5839037710a457aa43df17413
Author: Francesco Nwokeka <francesco.nwokeka at gmail.com>
Date:   Fri Aug 19 01:56:46 2011 +0200

    ADD item delegate for the tree view (taken from contactlist)
---
 CMakeLists.txt                  |   4 +-
 src/abstractContactDelegate.cpp | 220 ++++++++++++++++++++++++++++++++++++++++
 src/abstractContactDelegate.h   |  55 ++++++++++
 src/config.cpp                  |   5 +
 src/contactDelegate.cpp         | 169 ++++++++++++++++++++++++++++++
 src/contactDelegate.h           |  39 +++++++
 src/telepathyContact.cpp        |   2 +-
 7 files changed, 492 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 85e4e4e..db35edb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,8 +26,10 @@ include_directories(${CMAKE_SOURCE_DIR}
 )
 
 set(telepathy_contact_applet_SRCS
-    src/telepathyContact.cpp
+    src/abstractContactDelegate.cpp
     src/config.cpp
+    src/contactDelegate.cpp
+    src/telepathyContact.cpp
     src/models/accounts-filter-model.cpp
     src/models/accounts-model-item.cpp
     src/models/accounts-model.cpp
diff --git a/src/abstractContactDelegate.cpp b/src/abstractContactDelegate.cpp
new file mode 100644
index 0000000..690a123
--- /dev/null
+++ b/src/abstractContactDelegate.cpp
@@ -0,0 +1,220 @@
+/*
+ * Abstract Contact Delegate - base class for other delegates
+ *
+ * Copyright (C) 2011 Martin Klapetek <martin.klapetek at gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include "abstractContactDelegate.h"
+
+#include <QApplication>
+#include <QtGui/QStyle>
+#include <QtGui/QPainter>
+#include <QtGui/QToolTip>
+#include <QtGui/QHelpEvent>
+#include <QAbstractItemView>
+
+#include <KDE/KGlobalSettings>
+#include <KDE/KLocale>
+#include <KDE/KIconLoader>
+#include <KDE/KIcon>
+
+#include "models/accounts-model.h"
+#include "models/groups-model.h"
+#include "models/contact-model-item.h"
+
+const int SPACING = 2;
+const int ACCOUNT_ICON_SIZE = 13;
+
+AbstractContactDelegate::AbstractContactDelegate(QObject* parent)
+    : QStyledItemDelegate(parent), m_palette(0)
+{
+    m_palette = new QPalette(QApplication::palette());
+}
+
+AbstractContactDelegate::~AbstractContactDelegate()
+{
+    delete m_palette;
+}
+
+void AbstractContactDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const
+{
+    QStyleOptionViewItemV4 optV4 = option;
+    initStyleOption(&optV4, index);
+
+    painter->save();
+
+    painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
+    painter->setClipRect(optV4.rect);
+
+    QStyle *style = QApplication::style();
+    style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter);
+
+    QRect groupRect = optV4.rect;
+
+    QRect accountGroupRect = groupRect;
+    accountGroupRect.setSize(QSize(ACCOUNT_ICON_SIZE, ACCOUNT_ICON_SIZE));
+    accountGroupRect.moveTo(QPoint(groupRect.left() + 2, groupRect.top() + 2));
+
+    QRect groupLabelRect = groupRect;
+    groupLabelRect.setRight(groupLabelRect.right() - SPACING);
+
+    QRect expandSignRect = groupLabelRect;
+    expandSignRect.setLeft(ACCOUNT_ICON_SIZE + SPACING + SPACING);
+    expandSignRect.setRight(groupLabelRect.left() + 20); //keep it by the left side
+
+    QFont groupFont = KGlobalSettings::smallestReadableFont();
+
+    QString counts = QString(" (%1/%2)").arg(index.data(AccountsModel::OnlineUsersCountRole).toString(),
+                   index.data(AccountsModel::TotalUsersCountRole).toString());
+
+    if (index.data(AccountsModel::ItemRole).userType() == qMetaTypeId<AccountsModelItem*>()) {
+        painter->drawPixmap(accountGroupRect, KIcon(index.data(AccountsModel::IconRole).toString())
+        .pixmap(ACCOUNT_ICON_SIZE, ACCOUNT_ICON_SIZE));
+    } else {
+        painter->drawPixmap(accountGroupRect, KIconLoader::global()->loadIcon(QString("system-users"),
+                                                                                      KIconLoader::Desktop));
+    }
+
+    painter->setPen(m_palette->color(QPalette::WindowText));
+    painter->setFont(groupFont);
+    painter->drawText(groupLabelRect, Qt::AlignVCenter | Qt::AlignRight,
+                      index.data(GroupsModel::GroupNameRole).toString().append(counts));
+
+    QPen thinLinePen;
+    thinLinePen.setWidth(0);
+    thinLinePen.setColor(m_palette->color(QPalette::Disabled, QPalette::Button));
+
+    painter->setPen(thinLinePen);
+    painter->setRenderHint(QPainter::Antialiasing, false);
+
+    QFontMetrics fm = painter->fontMetrics();
+    int groupNameWidth = fm.width(index.data(GroupsModel::GroupNameRole).toString().append(counts));
+
+    painter->drawLine(expandSignRect.right() + SPACING * 2,
+                      groupRect.y() + groupRect.height() / 2,
+                      groupRect.width() - groupNameWidth - SPACING * 2,
+                      groupRect.y() + groupRect.height() / 2);
+
+    painter->setRenderHint(QPainter::Antialiasing, true);
+
+    QStyleOption expandSignOption = option;
+    expandSignOption.rect = expandSignRect;
+
+    if (option.state & QStyle::State_Open) {
+        style->drawPrimitive(QStyle::PE_IndicatorArrowDown, &expandSignOption, painter);
+    } else {
+        style->drawPrimitive(QStyle::PE_IndicatorArrowRight, &expandSignOption, painter);
+    }
+
+    painter->restore();
+}
+
+QSize AbstractContactDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
+{
+    return QSize(0, 20);
+}
+
+
+bool AbstractContactDelegate::helpEvent(QHelpEvent *event, QAbstractItemView *view, const QStyleOptionViewItem &option, const QModelIndex &index)
+{
+    Q_UNUSED(option);
+
+    // Check and make sure that we only want it to work on contacts and nothing else.
+    if (index.data(AccountsModel::ItemRole).userType() != qMetaTypeId<ContactModelItem*>()) {
+        return false;
+    }
+
+    if (event->type() != QEvent::ToolTip) {
+        return false;
+    }
+
+    const QString contactAvatar = index.data(AccountsModel::AvatarRole).toString();
+    const QString displayName = index.parent().data(AccountsModel::DisplayNameRole).toString();
+    const QString cmIconPath = KIconLoader::global()->iconPath(index.parent().data(AccountsModel::IconRole).toString(), 1);
+    const QString alias = index.data(AccountsModel::AliasRole).toString();
+    const QString id = index.data(AccountsModel::IdRole).toString();
+    const QString presenceStatus = index.data(AccountsModel::PresenceMessageRole).toString();
+    QString presenceIconPath;
+    QString presenceText;
+
+    switch (index.data(AccountsModel::PresenceTypeRole).toUInt()) {
+        case Tp::ConnectionPresenceTypeAvailable:
+            presenceIconPath = KIconLoader::global()->iconPath("user-online", 1);
+            presenceText = i18nc("This is an IM user status", "Online");
+            break;
+        case Tp::ConnectionPresenceTypeAway:
+            presenceIconPath = KIconLoader::global()->iconPath("user-away", 1);
+            presenceText = i18nc("This is an IM user status", "Away");
+            break;
+        case Tp::ConnectionPresenceTypeExtendedAway:
+            presenceIconPath = KIconLoader::global()->iconPath("user-away-extended", 1);
+            presenceText = i18nc("This is an IM user status", "Away");
+            break;
+        case Tp::ConnectionPresenceTypeBusy:
+            presenceIconPath = KIconLoader::global()->iconPath("user-busy", 1);
+            presenceText = i18nc("This is an IM user status", "Busy");
+            break;
+        case Tp::ConnectionPresenceTypeHidden:
+            presenceIconPath = KIconLoader::global()->iconPath("user-invisible", 1);
+            presenceText = i18nc("This is an IM user status", "Invisible");
+            break;
+        case Tp::ConnectionPresenceTypeOffline:
+            presenceIconPath = KIconLoader::global()->iconPath("user-offline", 1);
+            presenceText = i18nc("This is an IM user status", "Offline");
+            break;
+        default:
+            presenceIconPath = KIconLoader::global()->iconPath("task-attention", 1);
+            // What presence Text should be here??
+            break;
+    }
+
+    /* The tooltip is composed of a HTML table to display the items in it of the contact.
+     * ---------------------------
+     * |          | Con's Alias  |
+     * |  Avatar  | (Con's Id)   |
+     * |          ----------------
+     * |          | Con's Status*|
+     * ---------------------------
+     * |  Contact is blocked*    |
+     * ---------------------------
+     * * Display actual status name if contact has no custom status message.
+     * * Contact is blocked will only show if the contact is blocked, else no display.
+     */
+
+    QString table;
+    table += QString("<table><tr><td rowspan='2' width='96'>");
+    if (contactAvatar.isEmpty() || QPixmap(contactAvatar).isNull()) {
+        table += QString("<img src='%1' width='96' />").arg(KIconLoader::global()->iconPath("im-user", -1));
+    } else {
+        table += QString("<img src='%1' width='96' />").arg(contactAvatar);
+    }
+
+    table += QString("</td>");
+    table += QString("<td rowspan='2'><img src='%1' height='16' width='16' /> </td>").arg(presenceIconPath);
+    table += QString("<td><b>%1</b><br>(%2)</td></tr>").arg(alias).arg(id);
+    table += QString("<tr><td>");
+    table += QString("%2").arg(presenceStatus.isEmpty() ? presenceText : presenceStatus);
+    table += QString("</td></tr>");
+    if (index.data(AccountsModel::BlockedRole).toBool()) {
+        table += QString("<tr><td colspan='2'>%1</td></tr>").arg(i18n("User is blocked"));
+    }
+    table += QString("</table>");
+
+    QToolTip::showText(QCursor::pos(), table, view);
+
+    return true;
+}
\ No newline at end of file
diff --git a/src/abstractContactDelegate.h b/src/abstractContactDelegate.h
new file mode 100644
index 0000000..b6dcfc8
--- /dev/null
+++ b/src/abstractContactDelegate.h
@@ -0,0 +1,55 @@
+/*
+ * Abstract Contact Delegate - base class for other delegates
+ *
+ * Copyright (C) 2011 Martin Klapetek <martin.klapetek at gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+
+#ifndef ABSTRACT_CONTACT_DELEGATE_H
+#define ABSTRACT_CONTACT_DELEGATE_H
+
+#include <QStyledItemDelegate>
+
+
+class AbstractContactDelegate : public QStyledItemDelegate
+{
+    Q_OBJECT
+
+public:
+    AbstractContactDelegate(QObject* parent = 0);
+    virtual ~AbstractContactDelegate();
+
+    virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
+    virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
+
+public Q_SLOTS:
+    /**
+     * Reimplements the help tooltip for the contact delegate.
+     *
+     * When the user hovers over a contact it will display their information like Alias, which contact belongs to what account,
+     * is this contact blocked, their status message if their is one, etc.
+     */
+    bool helpEvent(QHelpEvent *event, QAbstractItemView *view, const QStyleOptionViewItem &option, const QModelIndex &index);
+
+Q_SIGNALS:
+    void repaintItem(QModelIndex);
+
+protected:
+    QPalette   *m_palette;
+};
+
+#endif // ABSTRACT_CONTACT_DELEGATE_H
diff --git a/src/config.cpp b/src/config.cpp
index 24a7ae1..c68af9d 100644
--- a/src/config.cpp
+++ b/src/config.cpp
@@ -18,6 +18,7 @@
  ***************************************************************************/
 
 #include "config.h"
+#include "contactDelegate.h"
 #include "models/accounts-model.h"
 #include "models/groups-model.h"
 #include "models/accounts-filter-model.h"
@@ -136,9 +137,13 @@ void Config::setupContactsList()
     // disable ok button until a list item is selected
     button(Ok)->setEnabled(false);
 
+    ui.contactsList->setItemDelegate(new ContactDelegate());
+    ui.contactsList->header()->hide();
     ui.contactsList->setExpandsOnDoubleClick(false);
     ui.contactsList->setSortingEnabled(true);
     ui.contactsList->sortByColumn(0, Qt::AscendingOrder);
+//     ui.contactsList->setSelectionMode(QAbstractItemView::SingleSelection);
+//     ui.contactsList->setSelectionBehavior(QAbstractItemView::SelectRows);
 
     connect(ui.contactsList, SIGNAL(clicked(QModelIndex)), this, SLOT(activateOkButton()));
     connect(ui.showOfflineContacts, SIGNAL(toggled(bool)), this, SLOT(enableOfflineContacts(bool)));
diff --git a/src/contactDelegate.cpp b/src/contactDelegate.cpp
new file mode 100644
index 0000000..51d8041
--- /dev/null
+++ b/src/contactDelegate.cpp
@@ -0,0 +1,169 @@
+/*
+ * Contact Delegate - compact version
+ *
+ * Copyright (C) 2011 Martin Klapetek <martin.klapetek at gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include "contactDelegate.h"
+
+#include <QtGui/QPainter>
+#include <QtGui/QPainterPath>
+#include <QtGui/QToolTip>
+#include <QApplication>
+#include <QStyle>
+#include <QHelpEvent>
+
+#include <KIconLoader>
+#include <KIcon>
+#include <KDebug>
+#include <KGlobalSettings>
+#include <KDE/KLocale>
+
+#include "models/accounts-model.h"
+#include "models/contact-model-item.h"
+#include "models/proxy-tree-node.h"
+#include "models/groups-model-item.h"
+#include "models/groups-model.h"
+
+const int SPACING = 4;
+const int AVATAR_SIZE = 22;
+const int PRESENCE_ICON_SIZE = 16;
+const int ACCOUNT_ICON_SIZE = 13;
+
+ContactDelegate::ContactDelegate(QObject * parent)
+    : AbstractContactDelegate(parent)
+{
+}
+
+ContactDelegate::~ContactDelegate()
+{
+
+}
+
+void ContactDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const
+{
+    QStyleOptionViewItemV4 optV4 = option;
+    initStyleOption(&optV4, index);
+
+    painter->save();
+
+    painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
+    painter->setClipRect(optV4.rect);
+
+    QStyle *style = QApplication::style();
+    style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter);
+
+    bool isContact = index.data(AccountsModel::ItemRole).userType() == qMetaTypeId<ContactModelItem*>();
+
+    if (isContact) {
+        QRect iconRect = optV4.rect;
+        iconRect.setSize(QSize(AVATAR_SIZE, AVATAR_SIZE));
+        iconRect.moveTo(QPoint(iconRect.x() + SPACING, iconRect.y() + SPACING));
+
+        QPixmap avatar;
+        avatar.load(index.data(AccountsModel::AvatarRole).toString());
+
+        bool noContactAvatar = avatar.isNull();
+
+        if (noContactAvatar) {
+            avatar = SmallIcon("im-user", KIconLoader::SizeMedium);
+        }
+
+        painter->drawPixmap(iconRect, avatar);
+
+        QPixmap icon;
+
+        switch (index.data(AccountsModel::PresenceTypeRole).toInt()) {
+        case Tp::ConnectionPresenceTypeAvailable:
+            icon = SmallIcon("user-online", KIconLoader::SizeSmallMedium);
+            break;
+        case Tp::ConnectionPresenceTypeAway:
+            icon = SmallIcon("user-away", KIconLoader::SizeSmallMedium);
+            break;
+        case Tp::ConnectionPresenceTypeExtendedAway:
+            icon = SmallIcon("user-away-extended", KIconLoader::SizeSmallMedium);
+            break;
+        case Tp::ConnectionPresenceTypeBusy:
+            icon = SmallIcon("user-busy", KIconLoader::SizeSmallMedium);
+            break;
+        case Tp::ConnectionPresenceTypeHidden:
+            icon = SmallIcon("user-invisible", KIconLoader::SizeSmallMedium);
+            break;
+        case Tp::ConnectionPresenceTypeOffline:
+            icon = SmallIcon("user-offline", KIconLoader::SizeSmallMedium);
+            break;
+        default:
+            icon = SmallIcon("task-attention", KIconLoader::SizeSmallMedium);
+            break;
+        }
+
+        QRect statusIconRect = optV4.rect;
+        statusIconRect.setSize(QSize(PRESENCE_ICON_SIZE, PRESENCE_ICON_SIZE));
+        statusIconRect.moveTo(QPoint(optV4.rect.right() - PRESENCE_ICON_SIZE - SPACING,
+                                     optV4.rect.top() + (optV4.rect.height() - PRESENCE_ICON_SIZE) / 2));
+
+        painter->drawPixmap(statusIconRect, icon);
+
+        QFont nameFont = KGlobalSettings::smallestReadableFont();
+        nameFont.setPointSize(nameFont.pointSize() + 1);
+
+        const QFontMetrics nameFontMetrics(nameFont);
+
+        painter->setFont(nameFont);
+
+        QRect userNameRect = optV4.rect;
+        userNameRect.setX(iconRect.x() + iconRect.width() + SPACING * 2);
+        userNameRect.setY(userNameRect.y() + (userNameRect.height()/2 - nameFontMetrics.height()/2));
+        userNameRect.setWidth(userNameRect.width() - PRESENCE_ICON_SIZE - SPACING);
+
+        painter->drawText(userNameRect,
+                          nameFontMetrics.elidedText(optV4.text, Qt::ElideRight, userNameRect.width()));
+
+        QRect presenceMessageRect = optV4.rect;
+        presenceMessageRect.setX(userNameRect.x() + nameFontMetrics.boundingRect(optV4.text).width() + SPACING * 2);
+        presenceMessageRect.setWidth(optV4.rect.width() - presenceMessageRect.x() - PRESENCE_ICON_SIZE - SPACING);
+        presenceMessageRect.setY(presenceMessageRect.y() + (presenceMessageRect.height()/2 - nameFontMetrics.height()/2));
+
+        QPen presenceMessagePen = painter->pen();
+        presenceMessagePen.setColor(m_palette->color(QPalette::Disabled, QPalette::Text));
+
+        painter->setPen(presenceMessagePen);
+
+        painter->drawText(presenceMessageRect,
+                          nameFontMetrics.elidedText(index.data(AccountsModel::PresenceMessageRole).toString(),
+                                                     Qt::ElideRight, presenceMessageRect.width()));
+    } else {
+        AbstractContactDelegate::paint(painter, option, index);
+    }
+
+    painter->restore();
+}
+
+QSize ContactDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
+{
+    Q_UNUSED(option);
+    bool isContact = index.data(AccountsModel::ItemRole).userType() == qMetaTypeId<ContactModelItem*>();
+
+    if (isContact) {
+        return QSize(0, 28);
+    } else {
+        return AbstractContactDelegate::sizeHint(option, index);
+    }
+}
+
+
+#include "contactDelegate.moc"
diff --git a/src/contactDelegate.h b/src/contactDelegate.h
new file mode 100644
index 0000000..d9afb92
--- /dev/null
+++ b/src/contactDelegate.h
@@ -0,0 +1,39 @@
+/*
+ * Contact Delegate - compact version
+ *
+ * Copyright (C) 2011 Martin Klapetek <martin.klapetek at gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef CONTACTDELEGATECOMPACT_H
+#define CONTACTDELEGATECOMPACT_H
+
+#include "abstractContactDelegate.h"
+
+class ContactDelegate : public AbstractContactDelegate
+{
+    Q_OBJECT
+//     Q_PROPERTY(int m_fadingValue READ fadingValue WRITE setFadingValue);
+
+public:
+    ContactDelegate(QObject *parent = 0);
+    ~ContactDelegate();
+
+    void paint(QPainter *painter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
+    QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
+};
+
+#endif // CONTACTDELEGATECOMPACT_H
diff --git a/src/telepathyContact.cpp b/src/telepathyContact.cpp
index ae87456..ec9d5ac 100644
--- a/src/telepathyContact.cpp
+++ b/src/telepathyContact.cpp
@@ -32,7 +32,7 @@ TelepathyContact::TelepathyContact(QObject* parent, const QVariantList& args)
     , m_config(new Config())
     , m_declarative(new Plasma::DeclarativeWidget(this))
 {
-    setBackgroundHints(DefaultBackground);
+    setBackgroundHints(NoBackground);
     m_declarative->setGeometry(geometry());
 
     // user shouldn't be able to resize the plasmoid

-- 
ktp-contact-applet packaging



More information about the pkg-kde-commits mailing list