[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