[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