[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:05:40 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=25fec70

The following commit has been merged in the master branch:
commit 25fec702aaefbbb79e8690b5dfa0dc0b6ff63ca0
Author: Martin Klapetek <martin.klapetek at gmail.com>
Date:   Sun Mar 20 20:52:04 2011 +0100

    Custom presence message support plus switching to the KMainWindow (from QWidget). Also some additional cleanups and ui changes.
---
 account-button.cpp   |  26 ++++++++++-
 account-button.h     |   6 +++
 contact-delegate.cpp |   6 +--
 main-widget.cpp      |  23 +++++++++-
 main-widget.h        |   5 ++-
 main-widget.ui       | 121 +++++++++++++++++++++++++++++++++++++++------------
 6 files changed, 151 insertions(+), 36 deletions(-)

diff --git a/account-button.cpp b/account-button.cpp
index 08059d7..962835c 100644
--- a/account-button.cpp
+++ b/account-button.cpp
@@ -123,6 +123,7 @@ void AccountButton::setAccountStatus(QAction *action)
     Tp::SimplePresence presence;
     presence.type = qVariantValue<Tp::Presence>(action->data()).type();
     presence.status = qVariantValue<Tp::Presence>(action->data()).status();
+    presence.statusMessage = m_customPresenceMessage;
 
     Q_ASSERT(!m_account.isNull());
 
@@ -130,6 +131,12 @@ void AccountButton::setAccountStatus(QAction *action)
 
     connect(presenceRequest, SIGNAL(finished(Tp::PendingOperation*)),
             this, SLOT(updateToolTip()));
+
+    QPixmap pixmap = icon().pixmap(32, 32);
+    QPainter painter(&pixmap);
+    KIcon(action->icon()).paint(&painter, 15, 15, 16, 16);
+
+    setIcon(KIcon(pixmap));
 }
 
 void AccountButton::updateToolTip()
@@ -193,4 +200,21 @@ QString AccountButton::presenceDisplayString(const Tp::Presence)
     }
 
     return QString();
-}
\ No newline at end of file
+}
+
+void AccountButton::setCustomPresenceMessage(const QString& message)
+{
+    m_customPresenceMessage = message;
+
+    Tp::SimplePresence presence;
+    presence.type = m_account->currentPresence().type();
+    presence.status = m_account->currentPresence().status();
+    presence.statusMessage = m_customPresenceMessage;
+
+    Q_ASSERT(!m_account.isNull());
+
+    Tp::PendingOperation* presenceRequest = m_account->setRequestedPresence(presence);
+
+    connect(presenceRequest, SIGNAL(finished(Tp::PendingOperation*)),
+            this, SLOT(updateToolTip()));
+}
diff --git a/account-button.h b/account-button.h
index 2f748fb..296b38f 100644
--- a/account-button.h
+++ b/account-button.h
@@ -61,10 +61,16 @@ public Q_SLOTS:
     ///Called when the account presence changes
     void presenceChanged(Tp::Presence presence);
 
+    ///Sets the custom presence message
+    void setCustomPresenceMessage(const QString &message);
+
 private:
     ///Holds the account it controls
     Tp::AccountPtr                  m_account;
 
+    ///Contains the custom presence string
+    QString                         m_customPresenceMessage;
+
     ///The busy icon which is painted when connecting
     KPixmapSequenceOverlayPainter  *m_busyOverlay;
 };
diff --git a/contact-delegate.cpp b/contact-delegate.cpp
index d2ca11d..73f37e4 100644
--- a/contact-delegate.cpp
+++ b/contact-delegate.cpp
@@ -89,8 +89,8 @@ void ContactDelegate::paint(QPainter * painter, const QStyleOptionViewItem & opt
         userNameRect.setY(userNameRect.y() + 3);
         userNameRect.setWidth(userNameRect.width() - PRESENCE_ICON_SIZE - SPACING);
 
-        QFont nameFont = painter->font();// KGlobalSettings::smallestReadableFont();
-        nameFont.setPixelSize(12);
+        QFont nameFont = KGlobalSettings::smallestReadableFont();
+        nameFont.setPointSize(nameFont.pointSize() + 1);
         nameFont.setWeight(QFont::Bold);
 
         const QFontMetrics nameFontMetrics(nameFont);
@@ -131,7 +131,7 @@ void ContactDelegate::paint(QPainter * painter, const QStyleOptionViewItem & opt
         groupLabelRect.setRight(groupLabelRect.right() - SPACING);
 
         QRect expandSignRect = groupLabelRect;
-        expandSignRect.setLeft(ACCOUNT_ICON_SIZE + SPACING);
+        expandSignRect.setLeft(ACCOUNT_ICON_SIZE + SPACING + SPACING);
         expandSignRect.setRight(groupLabelRect.left() + 20); //keep it by the left side
 
         QFont groupFont = KGlobalSettings::smallestReadableFont();
diff --git a/main-widget.cpp b/main-widget.cpp
index b78b4bc..0f5c374 100644
--- a/main-widget.cpp
+++ b/main-widget.cpp
@@ -36,6 +36,7 @@
 #include <TelepathyQt4/Constants>
 
 #include <KDebug>
+#include <KUser>
 
 #include "main-widget.h"
 #include "ui_main-widget.h"
@@ -49,16 +50,21 @@
 #define PREFERRED_TEXTCHAT_HANDLER "org.freedesktop.Telepathy.Client.KDE.TextUi"
 
 MainWidget::MainWidget(QWidget *parent)
- : QWidget(parent),
+    : KMainWindow(parent),
    m_model(0),
    m_modelFilter(0)
 {
     Tp::registerTypes();
+    KUser user;
 
     setupUi(this);
     m_filterBar->hide();
     setWindowIcon(KIcon("telepathy"));
 
+    m_userAccountIconButton->setIcon(QIcon(QPixmap::fromImage(QImage(user.faceIconPath()))));
+    m_userAccountNameLabel->setText(user.property(KUser::FullName).toString());
+//     m_toolBar->hide();
+
     m_actionAdd_contact->setIcon(KIcon("list-add-user"));
     m_actionAdd_contact->setText(QString());
     m_actionAdd_contact->setToolTip(i18n("Add new contacts.."));
@@ -139,6 +145,9 @@ MainWidget::MainWidget(QWidget *parent)
 
     connect(m_actionSearch_contact, SIGNAL(triggered(bool)),
             this, SLOT(toggleSearchWidget(bool)));
+
+    connect(m_presenceMessageEdit, SIGNAL(returnPressed(QString)),
+            this, SLOT(setCustomPresenceMessage(QString)));
 }
 
 MainWidget::~MainWidget()
@@ -240,7 +249,7 @@ void MainWidget::onNewAccountAdded(const Tp::AccountPtr& account)
     bt->setObjectName(account->uniqueIdentifier());
     bt->hide();
 
-    m_accountButtonsLayout->insertWidget(m_accountButtonsLayout->count() - 1, bt);         
+    m_accountButtonsLayout->insertWidget(m_accountButtonsLayout->count() - 1, bt);
 
     if(account->isEnabled()) {
         bt->show();
@@ -425,4 +434,14 @@ void MainWidget::toggleSearchWidget(bool show)
 void MainWidget::onCustomContextMenuRequested(const QPoint& point)
 {
     Q_UNUSED(point);
+}
+
+void MainWidget::setCustomPresenceMessage(const QString& message)
+{
+    for (int i = 0; i < m_accountButtonsLayout->count() - 1; i++) {
+        qobject_cast<AccountButton*>(m_accountButtonsLayout->itemAt(i)->widget())->setCustomPresenceMessage(message);
+
+    }
+
+    m_presenceMessageEdit->clearFocus();
 }
\ No newline at end of file
diff --git a/main-widget.h b/main-widget.h
index 48c4400..bedc340 100644
--- a/main-widget.h
+++ b/main-widget.h
@@ -28,6 +28,8 @@
 
 #include <TelepathyQt4/AccountManager>
 
+#include <KXmlGuiWindow>
+
 #include "ui_main-widget.h"
 
 class KMenu;
@@ -37,7 +39,7 @@ class AccountFilterModel;
 class ContactDelegate;
 class FilterBar;
 
-class MainWidget : public QWidget, Ui::MainWidget
+class MainWidget : public KMainWindow, Ui::MainWindow
 {
     Q_OBJECT
 public:
@@ -74,6 +76,7 @@ public Q_SLOTS:
     void onAccountStateChanged(bool enabled);
     void onAccountRemoved();
     void toggleSearchWidget(bool show);
+    void setCustomPresenceMessage(const QString &message);
     //    void startAudioChannel();
     //    void startVideoChannel();
 
diff --git a/main-widget.ui b/main-widget.ui
index de1dc96..2c8eca7 100644
--- a/main-widget.ui
+++ b/main-widget.ui
@@ -1,43 +1,101 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
- <class>MainWidget</class>
- <widget class="QWidget" name="MainWidget">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>324</width>
-    <height>618</height>
+    <width>300</width>
+    <height>600</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Telepathy KDE Contact List</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="margin">
-    <number>0</number>
-   </property>
-   <item>
-    <widget class="QToolBar" name="m_toolBar">
-     <property name="toolButtonStyle">
-      <enum>Qt::ToolButtonTextBesideIcon</enum>
-     </property>
-     <addaction name="m_actionAdd_contact"/>
-     <addaction name="m_actionGroup_contacts"/>
-     <addaction name="m_actionHide_offline"/>
-     <addaction name="m_actionSearch_contact"/>
-    </widget>
-   </item>
-   <item>
-    <widget class="QTreeView" name="m_contactsListView"/>
-   </item>
-   <item>
-    <widget class="FilterBar" name="m_filterBar" native="true"/>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="m_accountButtonsLayout"/>
-   </item>
-  </layout>
+  <widget class="QWidget" name="centralwidget">
+   <layout class="QVBoxLayout" name="verticalLayout">
+    <property name="leftMargin">
+     <number>1</number>
+    </property>
+    <property name="rightMargin">
+     <number>1</number>
+    </property>
+    <item>
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="2" column="1">
+       <layout class="QHBoxLayout" name="m_accountButtonsLayout"/>
+      </item>
+      <item row="0" column="0" rowspan="3">
+       <widget class="QPushButton" name="m_userAccountIconButton">
+        <property name="minimumSize">
+         <size>
+          <width>64</width>
+          <height>64</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>64</width>
+          <height>64</height>
+         </size>
+        </property>
+        <property name="text">
+         <string/>
+        </property>
+        <property name="iconSize">
+         <size>
+          <width>64</width>
+          <height>64</height>
+         </size>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="KLineEdit" name="m_presenceMessageEdit">
+        <property name="placeholderText">
+         <string>Set your status message here...</string>
+        </property>
+        <property name="showClearButton" stdset="0">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QLabel" name="m_userAccountNameLabel">
+        <property name="text">
+         <string>TextLabel</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+    <item>
+     <widget class="Line" name="line">
+      <property name="orientation">
+       <enum>Qt::Horizontal</enum>
+      </property>
+     </widget>
+    </item>
+    <item>
+     <widget class="QToolBar" name="m_toolBar">
+      <property name="toolButtonStyle">
+       <enum>Qt::ToolButtonIconOnly</enum>
+      </property>
+      <addaction name="m_actionAdd_contact"/>
+      <addaction name="m_actionGroup_contacts"/>
+      <addaction name="m_actionHide_offline"/>
+      <addaction name="m_actionSearch_contact"/>
+     </widget>
+    </item>
+    <item>
+     <widget class="QTreeView" name="m_contactsListView"/>
+    </item>
+    <item>
+     <widget class="FilterBar" name="m_filterBar" native="true"/>
+    </item>
+   </layout>
+  </widget>
   <action name="m_actionAdd_contact">
    <property name="text">
     <string>Add contact</string>
@@ -82,6 +140,11 @@
  </widget>
  <customwidgets>
   <customwidget>
+   <class>KLineEdit</class>
+   <extends>QLineEdit</extends>
+   <header>klineedit.h</header>
+  </customwidget>
+  <customwidget>
    <class>FilterBar</class>
    <extends>QWidget</extends>
    <header>filter-bar.h</header>

-- 
ktp-contact-list packaging



More information about the pkg-kde-commits mailing list