[SCM] ktp-send-file packaging branch, master, updated. debian/15.12.1-2-216-g8f07cdf
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:14:32 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-send-file.git;a=commitdiff;h=3b25c07
The following commit has been merged in the master branch:
commit 3b25c07b98b605efc83aba8d9e2449a5b0b836bc
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date: Thu Feb 9 18:09:58 2012 +0100
Port to use KTp::ContactGridWidget
---
CMakeLists.txt | 2 +-
mainwindow.cpp | 78 +++++++++-------------------------------------------------
mainwindow.h | 11 ++++++---
mainwindow.ui | 61 ++-------------------------------------------
4 files changed, 22 insertions(+), 130 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2f24fb..fe0b380 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -43,9 +43,9 @@ target_link_libraries(ktp-send-file
${TELEPATHY_QT4_LIBRARIES}
${KTP_LIBRARIES}
${KTP_MODELS_LIBRARIES}
+ ${KTP_WIDGETS_LIBRARIES}
${KDE4_KDEUI_LIBS}
${KDE4_KIO_LIBS}
-
)
install(TARGETS ktp-send-file ${INSTALL_TARGETS_DEFAULT_ARGS})
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 3af5748..19e2926 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -30,6 +30,7 @@
#include <KMessageBox>
#include <KPixmapSequence>
#include <KPixmapSequenceOverlayPainter>
+#include <KLineEdit>
#include <KDE/KIO/PreviewJob>
#include <QAbstractItemDelegate>
@@ -46,62 +47,12 @@
#include <KTp/Models/accounts-filter-model.h>
#include <KTp/Models/contact-model-item.h>
#include <KTp/Models/flat-model-proxy.h>
+#include <KTp/Widgets/contact-grid-widget.h>
//FIXME, copy and paste the approver code for loading this from a config file into this, the contact list and the chat handler.
#define PREFERRED_FILETRANSFER_HANDLER "org.freedesktop.Telepathy.Client.KTp.FileTransfer"
-class ContactGridDelegate : public QAbstractItemDelegate {
-public:
- ContactGridDelegate(QObject *parent);
- void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
- QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
-};
-
-ContactGridDelegate::ContactGridDelegate(QObject *parent)
- : QAbstractItemDelegate(parent)
-{
-
-}
-
-void ContactGridDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
-{
- QStyle *style = QApplication::style();
- int textHeight = option.fontMetrics.height()*2;
-
- style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter);
-
- QRect avatarRect = option.rect.adjusted(0,0,0,-textHeight);
- QRect textRect = option.rect.adjusted(0,option.rect.height()-textHeight,0,-3);
-
- QPixmap avatar = index.data(Qt::DecorationRole).value<QPixmap>();
- if (avatar.isNull()) {
- avatar = KIcon("im-user-online").pixmap(QSize(70,70));
- }
-
- //resize larger avatars
- if (avatar.width() > 80 || avatar.height()> 80) {
- avatar = avatar.scaled(QSize(80,80), Qt::KeepAspectRatio);
- //draw leaving paddings on smaller (or non square) avatars
- }
- style->drawItemPixmap(painter, avatarRect, Qt::AlignCenter, avatar);
-
-
- QTextOption textOption;
- textOption.setAlignment(Qt::AlignCenter);
- textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
- painter->drawText(textRect, index.data().toString(), textOption);
-
-}
-
-QSize ContactGridDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
-{
- Q_UNUSED(index);
- int textHeight = option.fontMetrics.height()*2;
- return QSize(84, 80 + textHeight + 3);
-}
-
-
MainWindow::MainWindow(const KUrl &url, QWidget *parent) :
QWidget(parent),
ui(new Ui::MainWindow),
@@ -158,20 +109,14 @@ MainWindow::MainWindow(const KUrl &url, QWidget *parent) :
contactFactory);
m_accountsModel = new AccountsModel(this);
- AccountsFilterModel *filterModel = new AccountsFilterModel(this);
- filterModel->setSourceModel(m_accountsModel);
- filterModel->setPresenceTypeFilterFlags(AccountsFilterModel::ShowOnlyConnected);
- filterModel->setCapabilityFilterFlags(AccountsFilterModel::FilterByFileTransferCapability);
-
- connect(ui->filterBar, SIGNAL(textChanged(QString)),
- filterModel, SLOT(setFilterString(QString)));
-
- FlatModelProxy *flatProxyModel = new FlatModelProxy(filterModel);
+ connect(m_accountManager->becomeReady(), SIGNAL(finished(Tp::PendingOperation*)), SLOT(onAccountManagerReady()));
- ui->listView->setModel(flatProxyModel);
- ui->listView->setItemDelegate(new ContactGridDelegate(this));
- connect(m_accountManager->becomeReady(), SIGNAL(finished(Tp::PendingOperation*)), SLOT(onAccountManagerReady()));
+ m_contactGridWidget = new KTp::ContactGridWidget(m_accountsModel, this);
+ m_contactGridWidget->contactFilterLineEdit()->setClickMessage(i18n("Search in Contacts..."));
+ m_contactGridWidget->filter()->setPresenceTypeFilterFlags(AccountsFilterModel::ShowOnlyConnected);
+ m_contactGridWidget->filter()->setCapabilityFilterFlags(AccountsFilterModel::FilterByFileTransferCapability);
+ ui->recipientVLayout->addWidget(m_contactGridWidget);
connect(ui->buttonBox, SIGNAL(accepted()), SLOT(onDialogAccepted()));
connect(ui->buttonBox, SIGNAL(rejected()), SLOT(close()));
@@ -190,14 +135,13 @@ void MainWindow::onAccountManagerReady()
void MainWindow::onDialogAccepted()
{
// don't do anytghing if no contact has been selected
- if (!ui->listView->currentIndex().isValid()) {
+ if (!m_contactGridWidget->hasSelection()) {
// show message box?
return;
}
- ContactModelItem *contactModelItem = ui->listView->currentIndex().data(AccountsModel::ItemRole).value<ContactModelItem*>();
- Tp::ContactPtr contact = contactModelItem->contact();
- Tp::AccountPtr sendingAccount = m_accountsModel->accountForContactItem(contactModelItem);
+ Tp::ContactPtr contact = m_contactGridWidget->selectedContact();
+ Tp::AccountPtr sendingAccount = m_contactGridWidget->selectedAccount();
if (sendingAccount.isNull()) {
kDebug() << "sending account: NULL";
diff --git a/mainwindow.h b/mainwindow.h
index 7bb60df..569d9c1 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -27,13 +27,18 @@
#include <TelepathyQt/AccountManager>
-class KPixmapSequenceOverlayPainter;
+
namespace Ui {
class MainWindow;
}
+namespace KTp {
+class ContactGridWidget;
+}
+
class AccountsModel;
class KFileItem;
+class KPixmapSequenceOverlayPainter;
class MainWindow : public QWidget
{
@@ -53,9 +58,9 @@ private slots:
private:
Ui::MainWindow *ui;
KUrl m_url;
- AccountsModel *m_accountsModel;
Tp::AccountManagerPtr m_accountManager;
-
+ AccountsModel *m_accountsModel;
+ KTp::ContactGridWidget *m_contactGridWidget;
KPixmapSequenceOverlayPainter *m_busyOverlay;
};
diff --git a/mainwindow.ui b/mainwindow.ui
index dc3b36a..e2431d2 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -20,7 +20,7 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
- <layout class="QVBoxLayout" name="verticalLayout">
+ <layout class="QVBoxLayout" name="previewVLayout">
<item>
<widget class="QLabel" name="label_3">
<property name="font">
@@ -99,7 +99,7 @@
</widget>
</item>
<item>
- <layout class="QVBoxLayout" name="verticalLayout2">
+ <layout class="QVBoxLayout" name="recipientVLayout">
<item>
<widget class="QLabel" name="label">
<property name="font">
@@ -113,56 +113,6 @@
</property>
</widget>
</item>
- <item>
- <widget class="QListView" name="listView">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="sizeIncrement">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="baseSize">
- <size>
- <width>260</width>
- <height>0</height>
- </size>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>256</width>
- <height>192</height>
- </size>
- </property>
- <property name="movement">
- <enum>QListView::Static</enum>
- </property>
- <property name="resizeMode">
- <enum>QListView::Adjust</enum>
- </property>
- <property name="spacing">
- <number>5</number>
- </property>
- <property name="viewMode">
- <enum>QListView::IconMode</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="KLineEdit" name="filterBar">
- <property name="clickMessage">
- <string>Search in Contacts...</string>
- </property>
- <property name="showClearButton" stdset="0">
- <bool>true</bool>
- </property>
- </widget>
- </item>
</layout>
</item>
</layout>
@@ -176,13 +126,6 @@
</item>
</layout>
</widget>
- <customwidgets>
- <customwidget>
- <class>KLineEdit</class>
- <extends>QLineEdit</extends>
- <header>klineedit.h</header>
- </customwidget>
- </customwidgets>
<resources/>
<connections/>
</ui>
--
ktp-send-file packaging
More information about the pkg-kde-commits
mailing list