[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:15:06 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-send-file.git;a=commitdiff;h=e6a1a8e
The following commit has been merged in the master branch:
commit e6a1a8eb56f3916fed672c75172e3b339ba8956e
Author: Andrea Scarpino <andrea at archlinux.org>
Date: Thu Feb 14 23:30:34 2013 +0059
Support multiple file transfer sending from send-file
FEATURE: 288557
FIXED-IN: 0.6
REVIEW: 108960
---
ktp-send-file.desktop | 2 +-
main.cpp | 12 ++++++-----
mainwindow.cpp | 56 ++++++++++++++++++++++++++++++++++-----------------
mainwindow.h | 4 ++--
mainwindow.ui | 24 +++++++++++++++++++++-
5 files changed, 71 insertions(+), 27 deletions(-)
diff --git a/ktp-send-file.desktop b/ktp-send-file.desktop
index 9032bda..f0b1aa4 100644
--- a/ktp-send-file.desktop
+++ b/ktp-send-file.desktop
@@ -45,4 +45,4 @@ Name[x-test]=xxSend file to IM contactxx
Name[zh_CN]=发送文件给即时通讯联系人
Name[zh_TW]=傳送檔案給即時訊息聯絡人
Icon=telepathy-kde
-Exec=ktp-send-file %u
+Exec=ktp-send-file %U
diff --git a/main.cpp b/main.cpp
index fac970b..a35c4e1 100644
--- a/main.cpp
+++ b/main.cpp
@@ -48,16 +48,18 @@ int main(int argc, char *argv[])
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
KApplication app;
- KUrl fileToSend;
+ KUrl::List filesToSend;
if (args->count() == 0) {
- fileToSend = KFileDialog::getOpenUrl(KUrl("kfiledialog://telepathySendFile"), QString(), 0, i18n("Select File To Send"));
+ filesToSend = KFileDialog::getOpenUrls(KUrl("kfiledialog://telepathySendFile"), QString(), 0, i18n("Select Files To Send"));
} else {
- fileToSend = args->arg(0);
+ Q_FOREACH(QString fileToSend, args->allArguments().mid(1)) {
+ filesToSend.append(KUrl(fileToSend));
+ }
}
- if (! fileToSend.isEmpty()) {
- MainWindow *w = new MainWindow(fileToSend);
+ if (! filesToSend.isEmpty()) {
+ MainWindow *w = new MainWindow(filesToSend);
w->show();
return app.exec();
} else {
diff --git a/mainwindow.cpp b/mainwindow.cpp
index c968cf0..eba45e1 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -45,35 +45,53 @@
-MainWindow::MainWindow(const KUrl &url, QWidget *parent) :
+MainWindow::MainWindow(const KUrl::List &urls, QWidget *parent) :
QWidget(parent),
ui(new Ui::MainWindow),
- m_url(url),
+ m_urls(urls),
m_contactsModel(0)
{
Tp::registerTypes();
ui->setupUi(this);
- setWindowTitle(i18n("Send file - %1", url.fileName()));
+ if (urls.size() == 1) {
+ setWindowTitle(i18n("Send file - %1", urls.first().fileName()));
+
+ ui->filesInfoLabel->hide();
+ ui->fileNameLabel->setText(urls.first().fileName());
+ } else {
+ QString fileNames;
+ Q_FOREACH(const KUrl &file, urls) {
+ fileNames += file.fileName() + " ";
+ }
+ setWindowTitle(i18n("Send files - %1", fileNames.trimmed()));
+
+ ui->messageLabel->setText(i18n("You are about to send these files"));
+ ui->filesInfoLabel->setText(i18n("%1 files selected", QString::number(urls.count())));
+ ui->fileNameLabel->setText(fileNames.replace(" ", "<br />"));
+ }
kDebug() << KApplication::arguments();
- ui->fileNameLabel->setText(url.fileName());
m_busyOverlay = new KPixmapSequenceOverlayPainter(this);
m_busyOverlay->setSequence(KPixmapSequence("process-working", 22));
m_busyOverlay->setWidget(ui->filePreview);
m_busyOverlay->start();
- KFileItem file(KFileItem::Unknown, KFileItem::Unknown, url);
- QStringList availablePlugins = KIO::PreviewJob::availablePlugins();
- KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << file, QSize(280, 280), &availablePlugins);
- job->setOverlayIconAlpha(0);
- job->setScaleType(KIO::PreviewJob::Unscaled);
- connect(job, SIGNAL(gotPreview(KFileItem,QPixmap)),
- this, SLOT(onPreviewLoaded(KFileItem,QPixmap)));
- connect(job, SIGNAL(failed(KFileItem)),
- this, SLOT(onPreviewFailed(KFileItem)));
-
+ if (urls.size() == 1) {
+ KFileItem file(KFileItem::Unknown, KFileItem::Unknown, urls.first());
+ QStringList availablePlugins = KIO::PreviewJob::availablePlugins();
+ KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << file, QSize(280, 280), &availablePlugins);
+ job->setOverlayIconAlpha(0);
+ job->setScaleType(KIO::PreviewJob::Unscaled);
+ connect(job, SIGNAL(gotPreview(KFileItem, QPixmap)),
+ this, SLOT(onPreviewLoaded(KFileItem, QPixmap)));
+ connect(job, SIGNAL(failed(KFileItem)),
+ this, SLOT(onPreviewFailed(KFileItem)));
+ } else {
+ ui->filePreview->setPixmap(QPixmap(DesktopIcon("dialog-information.png", 128)));
+ m_busyOverlay->stop();
+ }
Tp::AccountFactoryPtr accountFactory = Tp::AccountFactory::create(QDBusConnection::sessionBus(),
Tp::Features() << Tp::Account::FeatureCore
@@ -139,11 +157,13 @@ void MainWindow::onDialogAccepted()
}
// start sending file
- Tp::PendingChannelRequest* channelRequest = KTp::Actions::startFileTransfer(m_contactGridWidget->selectedAccount(),
- m_contactGridWidget->selectedContact(),
- m_url.path());
+ Q_FOREACH(const KUrl &url, m_urls) {
+ Tp::PendingChannelRequest* channelRequest = KTp::Actions::startFileTransfer(m_contactGridWidget->selectedAccount(),
+ m_contactGridWidget->selectedContact(),
+ url.path());
- connect(channelRequest, SIGNAL(finished(Tp::PendingOperation*)), SLOT(slotFileTransferFinished(Tp::PendingOperation*)));
+ connect(channelRequest, SIGNAL(finished(Tp::PendingOperation*)), SLOT(slotFileTransferFinished(Tp::PendingOperation*)));
+ }
//disable the buttons
foreach(QAbstractButton* button, ui->buttonBox->buttons()) {
diff --git a/mainwindow.h b/mainwindow.h
index 2c235b7..397f6b9 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -45,7 +45,7 @@ class MainWindow : public QWidget
Q_OBJECT
public:
- explicit MainWindow(const KUrl &url, QWidget *parent = 0);
+ explicit MainWindow(const KUrl::List &urls, QWidget *parent = 0);
~MainWindow();
private Q_SLOTS:
@@ -58,7 +58,7 @@ private Q_SLOTS:
private:
Ui::MainWindow *ui;
- KUrl m_url;
+ KUrl::List m_urls;
Tp::AccountManagerPtr m_accountManager;
KTp::ContactsListModel *m_contactsModel;
KTp::ContactGridWidget *m_contactGridWidget;
diff --git a/mainwindow.ui b/mainwindow.ui
index e2431d2..4a16bd8 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -22,7 +22,7 @@
<item>
<layout class="QVBoxLayout" name="previewVLayout">
<item>
- <widget class="QLabel" name="label_3">
+ <widget class="QLabel" name="messageLabel">
<property name="font">
<font>
<weight>75</weight>
@@ -67,6 +67,28 @@
</widget>
</item>
<item>
+ <widget class="QLabel" name="filesInfoLabel">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="inputMethodHints">
+ <set>Qt::ImhNone</set>
+ </property>
+ <property name="text">
+ <string>Files info</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QLabel" name="fileNameLabel">
<property name="text">
<string notr="true">Filename</string>
--
ktp-send-file packaging
More information about the pkg-kde-commits
mailing list