Hello community, here is the log from the commit of package qtfm for openSUSE:Factory checked in at 2018-12-11 15:48:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qtfm (Old) and /work/SRC/openSUSE:Factory/.qtfm.new.19453 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qtfm" Tue Dec 11 15:48:12 2018 rev:2 rq:656806 version:6.1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/qtfm/qtfm.changes 2018-12-04 20:53:50.900885019 +0100 +++ /work/SRC/openSUSE:Factory/.qtfm.new.19453/qtfm.changes 2018-12-11 15:48:14.710179102 +0100 @@ -1,0 +2,7 @@ +Mon Dec 10 11:35:02 UTC 2018 - Alexei Podvalsky <avvi...@yandex.by> + +- Update to 6.1.5: + * fix build if CONFIG+=no_dbus enabled + * fixed broken multiple file copy/move instances + +------------------------------------------------------------------- Old: ---- qtfm-6.1.4.tar.gz New: ---- qtfm-6.1.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qtfm.spec ++++++ --- /var/tmp/diff_new_pack.FTBGUi/_old 2018-12-11 15:48:15.230178529 +0100 +++ /var/tmp/diff_new_pack.FTBGUi/_new 2018-12-11 15:48:15.230178529 +0100 @@ -17,7 +17,7 @@ Name: qtfm -Version: 6.1.4 +Version: 6.1.5 Release: 0 Summary: Qt File Manager License: GPL-2.0-or-later AND BSD-3-Clause ++++++ qtfm-6.1.4.tar.gz -> qtfm-6.1.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/CNAME new/qtfm-6.1.5/CNAME --- old/qtfm-6.1.4/CNAME 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/CNAME 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -qtfm.dracolinux.org \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/ChangeLog new/qtfm-6.1.5/ChangeLog --- old/qtfm-6.1.4/ChangeLog 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/ChangeLog 2018-12-09 22:30:17.000000000 +0100 @@ -1,3 +1,7 @@ +6.1.5 09-December 2018 +- fix build if CONFIG+=no_dbus enabled +- fixed broken multiple file copy/move instances + 6.1.4 26-November 2018 - fix potential config corruption. Thanks to @slackuser0xae34 for the patch - fix segfault on thumbnail update (view may have changed since loading thumbnails) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/_config.yml new/qtfm-6.1.5/_config.yml --- old/qtfm-6.1.4/_config.yml 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/_config.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -theme: jekyll-theme-slate -title: QtFM -show_downloads: true -github: - zip_url: https://github.com/rodlie/qtfm/archive/6.1.0-rc1.zip - tar_url: https://github.com/rodlie/qtfm/archive/6.1.0-rc1.tar.gz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/docs/CNAME new/qtfm-6.1.5/docs/CNAME --- old/qtfm-6.1.4/docs/CNAME 1970-01-01 01:00:00.000000000 +0100 +++ new/qtfm-6.1.5/docs/CNAME 2018-12-09 22:30:17.000000000 +0100 @@ -0,0 +1 @@ +qtfm.eu \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/docs/README.md new/qtfm-6.1.5/docs/README.md --- old/qtfm-6.1.4/docs/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/qtfm-6.1.5/docs/README.md 2018-12-09 22:30:17.000000000 +0100 @@ -0,0 +1,16 @@ +![screenshot1](screenshot.png) + +[![GitHub release](https://img.shields.io/github/release/rodlie/qtfm.svg)](https://github.com/rodlie/qtfm/releases) +[![Github commits (since latest release)](https://img.shields.io/github/commits-since/rodlie/qtfm/latest.svg)](https://github.com/rodlie/qtfm) +[![Build Status](https://travis-ci.org/rodlie/qtfm.svg?branch=master)](https://travis-ci.org/rodlie/qtfm) + +Lightweight file manager using Qt. + + * Desktop (theme/applications/mime) integration + * Customizable interface + * Powerful custom command system + * Customizable key bindings + * Drag & drop functionality + * Tabs + * Udisks support + * System tray daemon diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/docs/_config.yml new/qtfm-6.1.5/docs/_config.yml --- old/qtfm-6.1.4/docs/_config.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/qtfm-6.1.5/docs/_config.yml 2018-12-09 22:30:17.000000000 +0100 @@ -0,0 +1,8 @@ +theme: jekyll-theme-minimal +title: QtFM +description: Lightweight Linux/BSD File Manager +logo: https://github.com/rodlie/qtfm/raw/master/fm/hicolor/256x256/apps/qtfm.png +show_downloads: true +github: + zip_url: https://github.com/rodlie/qtfm/archive/6.1.4.zip + tar_url: https://github.com/rodlie/qtfm/archive/6.1.4.tar.gz Binary files old/qtfm-6.1.4/docs/screenshot.png and new/qtfm-6.1.5/docs/screenshot.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/fm/fm.pro new/qtfm-6.1.5/fm/fm.pro --- old/qtfm-6.1.4/fm/fm.pro 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/fm/fm.pro 2018-12-09 22:30:17.000000000 +0100 @@ -1,4 +1,4 @@ -QT+= core gui dbus +QT+= core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets include(../qtfm.pri) @@ -101,7 +101,7 @@ icon24 icon256 icon32 icon36 icon48 icon512 icon64 \ icon72 icon96 iconSVG -!CONFIG(no_udisks) { +!CONFIG(no_udisks|no_dbus) { exists(../libdisks/libdisks.pro) { INCLUDEPATH += ../libdisks LIBS += -L../libdisks -lDisks @@ -115,4 +115,8 @@ CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT CONFIG(deploy) : DEFINES += DEPLOY CONFIG(no_udisks): DEFINES += NO_UDISKS -CONFIG(no_dbus) : DEFINES += NO_DBUS +CONFIG(no_dbus) { + DEFINES += NO_DBUS + DEFINES += NO_UDISKS +} +!CONFIG(no_dbus) : QT += dbus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/fm/src/actiontriggers.cpp new/qtfm-6.1.5/fm/src/actiontriggers.cpp --- old/qtfm-6.1.4/fm/src/actiontriggers.cpp 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/fm/src/actiontriggers.cpp 2018-12-09 22:30:17.000000000 +0100 @@ -473,6 +473,7 @@ bool MainWindow::pasteFiles(const QList<QUrl> &files, const QString &newPath, const QStringList &cutList) { + qDebug() << "pasteFiles" << files << newPath << cutList; // Temporary variables bool ok = true; QStringList newFiles; @@ -512,9 +513,12 @@ for (int i = 0; i < files.count(); ++i) { // Canceled ? - if (progress->result() == 1) { - emit copyProgressFinished(0, newFiles); - return 1; + if (progress) { + qDebug() << "check for cancel!" << newFiles << progress->getFilename(); + if (progress->result() == 1 && newFiles.contains(progress->getFilename())) { + emit copyProgressFinished(0, newFiles); + return 1; + } } // Destination file name and url @@ -612,6 +616,7 @@ bool MainWindow::copyFolder(const QString &srcFolder, const QString &dstFolder, qint64 total, bool cut) { + qDebug() << "copyFolder" << srcFolder << dstFolder << total << cut; // Temporary variables QDir srcDir(srcFolder); QDir dstDir(QFileInfo(dstFolder).path()); @@ -639,7 +644,10 @@ if (!cutCopyFile(srcName, dstName, total, cut)) ok = false; // Cancelled - if (progress->result() == 1) return 0; + if (progress) { + qDebug() << "check for cancel!" << dstName << progress->getFilename(); + if (progress->result() == 1 && dstName == progress->getFilename()) { return 0; } + } } // Get directories in source directory @@ -648,11 +656,12 @@ // Copy each directory for (int i = 0; i < files.count(); i++) { - if (progress->result() == 1) { - return 0; - } QString srcName = srcDir.path() + QDir::separator() + files[i]; QString dstName = dstDir.path() + QDir::separator() + files[i]; + if (progress) { + qDebug() << "check for cancel!" << dstName << progress->getFilename(); + if (progress->result() == 1 && dstName == progress->getFilename()) { return 0; } + } copyFolder(srcName, dstName, total, cut); } @@ -675,6 +684,7 @@ bool MainWindow::cutCopyFile(const QString &src, QString dst, qint64 totalSize, bool cut) { + qDebug() << "cutCopyFile" << src << dst << totalSize << cut; // Create files with given locations QFile srcFile(src); QFile dstFile(dst); @@ -683,7 +693,7 @@ if (dstFile.exists()) return 1; // If destination location is too long make it shorter - if (dst.length() > 50) dst = "/.../" + dst.split(QDir::separator()).last(); + //if (dst.length() > 50) dst = "/.../" + dst.split(QDir::separator()).last(); // Open source and destination files srcFile.open(QFile::ReadOnly); @@ -697,7 +707,10 @@ // Copy blocks while (!srcFile.atEnd()) { - if (progress->result() == 1) break; // cancelled + if (progress) { + qDebug() << "check for cancel!" << dst << progress->getFilename(); + if (progress->result() == 1 && dst == progress->getFilename()) { break; /* cancelled */ } + } qint64 inBytes = srcFile.read(block, sizeof(block)); dstFile.write(block, inBytes); interTotal += inBytes; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/fm/src/mainwindow.cpp new/qtfm-6.1.5/fm/src/mainwindow.cpp --- old/qtfm-6.1.4/fm/src/mainwindow.cpp 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/fm/src/mainwindow.cpp 2018-12-09 22:30:17.000000000 +0100 @@ -28,8 +28,10 @@ #include <QApplication> #include <QStatusBar> #include <QMenu> +#ifndef NO_DBUS #include <QDBusConnection> #include <QDBusError> +#endif #include <fcntl.h> #if QT_VERSION >= 0x050000 @@ -1059,6 +1061,7 @@ void MainWindow::pasteLauncher(const QList<QUrl> &files, const QString &newPath, const QStringList &cutList, bool link) { + qDebug() << "pasteLauncher" << files << newPath << cutList << link; // File no longer exists? if (!QFile(files.at(0).path()).exists()) { QString msg = tr("File '%1' no longer exists!").arg(files.at(0).path()); @@ -1123,9 +1126,24 @@ } // Copy/move files + for (int i=0;i<files.size();++i) { +#if QT_VERSION >= 0x050000 + QString queueFile = files.at(i).fileName(); +#else + QString queueFile = files.at(i).toLocalFile().split("/").takeLast(); +#endif + queueFile.prepend(QString("%1/").arg(newPath)); + if (!progressQueue.contains(queueFile)) { + qDebug() << "add to queue" << queueFile; + progressQueue.append(queueFile); + } + } QString title = cutList.count() == 0 ? tr("Copying...") : tr("Moving..."); - progress = new myProgressDialog(title); - connect(this, SIGNAL(updateCopyProgress(qint64, qint64, QString)), progress, SLOT(update(qint64, qint64, QString))); + if (!progress) { + progress = new myProgressDialog(title); + connect(this, SIGNAL(updateCopyProgress(qint64, qint64, QString)), progress, SLOT(update(qint64, qint64, QString))); + } + listSelectionModel->clear(); QtConcurrent::run(this, &MainWindow::pasteFiles, files, newPath, cutList); } @@ -1157,10 +1175,24 @@ void MainWindow::progressFinished(int ret,QStringList newFiles) { + qDebug() << "progressFinished" << ret << newFiles; + qDebug() << "progressQueue" << progressQueue; + for (int i=0;i<newFiles.size();++i) { + if (progressQueue.contains(newFiles.at(i))) { + qDebug() << "remove from queue" << newFiles.at(i); + progressQueue.remove(progressQueue.indexOf(newFiles.at(i))); + } + } + qDebug() << "progressQueue" << progressQueue; if (progress != 0) { - progress->close(); - delete progress; - progress = 0; + progress->setResult(0); + qDebug() << "progressDialog filename" << progress->getFilename(); + if (newFiles.contains(progress->getFilename()) && progressQueue.isEmpty()) { + qDebug() << "progress should be closed"; + progress->close(); + delete progress; + progress = 0; + } } if (newFiles.count()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/fm/src/mainwindow.h new/qtfm-6.1.5/fm/src/mainwindow.h --- old/qtfm-6.1.4/fm/src/mainwindow.h 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/fm/src/mainwindow.h 2018-12-09 22:30:17.000000000 +0100 @@ -36,6 +36,7 @@ #include <QToolBar> #include <QItemDelegate> #include <QStyledItemDelegate> +#include <QVector> #include "mymodel.h" #include "bookmarkmodel.h" @@ -456,6 +457,8 @@ QString copyXofTS; bool ignoreReload; + + QVector<QString> progressQueue; }; //--------------------------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/libfm/libfm.pro new/qtfm-6.1.5/libfm/libfm.pro --- old/qtfm-6.1.4/libfm/libfm.pro 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/libfm/libfm.pro 2018-12-09 22:30:17.000000000 +0100 @@ -1,4 +1,4 @@ -QT += core dbus gui +QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = QtFM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/libfm/progressdlg.cpp new/qtfm-6.1.5/libfm/progressdlg.cpp --- old/qtfm-6.1.4/libfm/progressdlg.cpp 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/libfm/progressdlg.cpp 2018-12-09 22:30:17.000000000 +0100 @@ -59,6 +59,8 @@ //start the timer remainingTimer->start(); + connect(button, SIGNAL(released()), this, SLOT(clearFilename())); + QTimer::singleShot(1000,this,SLOT(setShowing())); } @@ -73,7 +75,9 @@ void myProgressDialog::update(qint64 bytes, qint64 total, QString name) { //set file name - filename->setText(name); + realFilename = name; + filename->setText(name.split("/").takeLast()); + filename->setToolTip(realFilename); //refresh the bar runningTotal += bytes; @@ -102,4 +106,15 @@ return; } +QString myProgressDialog::getFilename() +{ + return realFilename; +} + +void myProgressDialog::clearFilename() +{ + realFilename.clear(); + setResult(0); +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/libfm/progressdlg.h new/qtfm-6.1.5/libfm/progressdlg.h --- old/qtfm-6.1.4/libfm/progressdlg.h 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/libfm/progressdlg.h 2018-12-09 22:30:17.000000000 +0100 @@ -26,6 +26,7 @@ #include <QtGui> #include <QDialog> #include <QLabel> +#include <QString> #include <QProgressBar> class myProgressDialog : public QDialog @@ -38,8 +39,10 @@ public slots: void setShowing(); void update(qint64 bytes, qint64 total, QString name); + QString getFilename(); private: + QString realFilename; QLabel *filename; QLabel *transferInfo; QProgressBar *bar; @@ -49,6 +52,9 @@ qint64 runningTotal; int oldSeconds; + +private slots: + void clearFilename(); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtfm-6.1.4/qtfm.pri new/qtfm-6.1.5/qtfm.pri --- old/qtfm-6.1.4/qtfm.pri 2018-11-25 21:39:09.000000000 +0100 +++ new/qtfm-6.1.5/qtfm.pri 2018-12-09 22:30:17.000000000 +0100 @@ -2,7 +2,7 @@ QTFM_TARGET_NAME = "QtFM" QTFM_MAJOR = 6 QTFM_MINOR = 1 -QTFM_PATCH = 4 +QTFM_PATCH = 5 isEmpty(PREFIX) { PREFIX = /usr/local