Hello community, here is the log from the commit of package qimgv for openSUSE:Factory checked in at 2020-05-05 18:57:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qimgv (Old) and /work/SRC/openSUSE:Factory/.qimgv.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qimgv" Tue May 5 18:57:54 2020 rev:17 rq:800265 version:0.9.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qimgv/qimgv.changes 2020-05-02 22:17:19.524534539 +0200 +++ /work/SRC/openSUSE:Factory/.qimgv.new.2738/qimgv.changes 2020-05-05 19:00:29.606072028 +0200 @@ -1,0 +2,12 @@ +Tue May 5 07:40:11 UTC 2020 - Luigi Baldoni <aloi...@gmx.com> + +- Update to version 0.9.1 + * Fixed incorrect window position on launch (it occasionally + shifted upwards by the height of titlebar) + * Exif orientation not being applied (regression) + * Expand images option not working correctly when expand limit + is unset + * Building with qt <5.14 now works again +- Drop qimgv-Qt512.patch (merged upstream) + +------------------------------------------------------------------- Old: ---- qimgv-0.9.tar.gz qimgv-Qt512.patch New: ---- qimgv-0.9.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qimgv.spec ++++++ --- /var/tmp/diff_new_pack.hZRejg/_old 2020-05-05 19:01:13.226165958 +0200 +++ /var/tmp/diff_new_pack.hZRejg/_new 2020-05-05 19:01:13.226165958 +0200 @@ -17,7 +17,7 @@ Name: qimgv -Version: 0.9 +Version: 0.9.1 Release: 0 Summary: Qt5 image viewer License: GPL-3.0-only @@ -29,8 +29,6 @@ Patch1: qimgv-PIE.patch # PATCH-FIX-OPENSUSE qimgv-includepath.patch # aloi...@gmx.com use correct path for opencv includes Patch2: qimgv-includepath.patch -# PATCH-FIX-UPSTREAM qimgv-Qt512.patch -Patch3: qimgv-Qt512.patch BuildRequires: cmake >= 3.13 %if 0%{?suse_version} > 1500 BuildRequires: gcc-c++ ++++++ qimgv-0.9.tar.gz -> qimgv-0.9.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/README.md new/qimgv-0.9.1/README.md --- old/qimgv-0.9/README.md 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/README.md 2020-05-05 00:41:24.000000000 +0200 @@ -1,4 +1,4 @@ -qimgv | Current version: 0.9.0 +qimgv | Current version: 0.9.1 ===== Qt5 image viewer. Fast, configurable, easy to use. Optional video support. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/appversion.cpp new/qimgv-0.9.1/qimgv/appversion.cpp --- old/qimgv-0.9/qimgv/appversion.cpp 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/appversion.cpp 2020-05-05 00:41:24.000000000 +0200 @@ -1,3 +1,3 @@ #include "appversion.h" -QVersionNumber appVersion(0,9,0); +QVersionNumber appVersion(0,9,1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/components/directorymanager/directorymanager.cpp new/qimgv-0.9.1/qimgv/components/directorymanager/directorymanager.cpp --- old/qimgv-0.9/qimgv/components/directorymanager/directorymanager.cpp 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/components/directorymanager/directorymanager.cpp 2020-05-05 00:41:24.000000000 +0200 @@ -186,10 +186,11 @@ QFile file(path); int index = indexOf(fileName); if(trash) { - entryVec.erase(entryVec.begin() + index); - moveToTrash(path); - emit fileRemoved(fileName, index); - return true; + if(moveToTrash(path)) { + entryVec.erase(entryVec.begin() + index); + emit fileRemoved(fileName, index); + return true; + } } else if(file.remove()) { entryVec.erase(entryVec.begin() + index); emit fileRemoved(fileName, index); @@ -199,10 +200,10 @@ } #ifdef Q_OS_WIN32 -void DirectoryManager::moveToTrash(QString file) { +bool DirectoryManager::moveToTrash(QString file) { QFileInfo fileinfo( file ); if( !fileinfo.exists() ) - return; + return false; WCHAR from[ MAX_PATH ]; memset( from, 0, sizeof( from )); int l = fileinfo.absoluteFilePath().toWCharArray( from ); @@ -217,12 +218,14 @@ if( 0 != rv ){ qDebug() << rv << QString::number( rv ).toInt( nullptr, 8 ); qDebug() << "move to trash failed"; + return false; } + return true; } #endif #ifdef Q_OS_LINUX -void DirectoryManager::moveToTrash(QString file) { +bool DirectoryManager::moveToTrash(QString file) { #ifdef QT_GUI_LIB bool TrashInitialized = false; QString TrashPath; @@ -292,6 +295,7 @@ Q_UNUSED( file ); qDebug() << "Trash in server-mode not supported"; #endif + return true; } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/components/directorymanager/directorymanager.h new/qimgv-0.9.1/qimgv/components/directorymanager/directorymanager.h --- old/qimgv-0.9/qimgv/components/directorymanager/directorymanager.h 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/components/directorymanager/directorymanager.h 2020-05-05 00:41:24.000000000 +0200 @@ -106,7 +106,7 @@ void onFileRemovedExternal(QString); void onFileModifiedExternal(QString fileName); void onFileRenamedExternal(QString oldFile, QString newFile); - void moveToTrash(QString file); + bool moveToTrash(QString file); bool name_entry_compare(const Entry &e1, const Entry &e2) const; bool name_entry_compare_reverse(const Entry &e1, const Entry &e2) const; bool date_entry_compare(const Entry &e1, const Entry &e2) const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp new/qimgv-0.9.1/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp --- old/qimgv-0.9/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp 2020-05-05 00:41:24.000000000 +0200 @@ -21,7 +21,11 @@ void LinuxWorker::run() { emit started(); +#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) + isRunning.store(true); +#else isRunning.storeRelaxed(true); +#endif if (fd == -1) { qDebug() << TAG << "File descriptor isn't set! Stopping"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/core.cpp new/qimgv-0.9.1/qimgv/core.cpp --- old/qimgv-0.9/qimgv/core.cpp 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/core.cpp 2020-05-05 00:41:24.000000000 +0200 @@ -444,12 +444,23 @@ if(model->isEmpty()) return; + bool reopen = false; + std::shared_ptr<Image> img; + if(state.currentFileName == fileName) { + img = model->getItem(fileName); + if(img->type() == ANIMATED || img->type() == VIDEO) { + mw->closeImage(); + reopen = true; + } + } FileOpResult result; model->removeFile(fileName, trash, result); if(result == FileOpResult::SUCCESS) { QString msg = trash ? "Moved to trash: " : "File removed: "; mw->showMessage(msg + fileName); } else { + if(reopen) + guiSetImage(img); outputError(result); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/gui/mainwindow.cpp new/qimgv-0.9.1/qimgv/gui/mainwindow.cpp --- old/qimgv-0.9/qimgv/gui/mainwindow.cpp 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/gui/mainwindow.cpp 2020-05-05 00:41:24.000000000 +0200 @@ -7,6 +7,7 @@ currentDisplay(0), desktopWidget(nullptr), bgOpacity(1.0), + maximized(false), activeSidePanel(SIDEPANEL_NONE), copyOverlay(nullptr), saveOverlay(nullptr), @@ -46,6 +47,7 @@ readSettings(); currentDisplay = settings->lastDisplay(); + maximized = settings->maximizedWindow(); restoreWindowGeometry(); } @@ -172,7 +174,6 @@ void MW::fitWindow() { if(viewerWidget->interactionEnabled()) { viewerWidget->fitWindow(); - //showMessageFitWindow(); } else { showMessage("Zoom temporary disabled"); } @@ -181,7 +182,6 @@ void MW::fitWidth() { if(viewerWidget->interactionEnabled()) { viewerWidget->fitWidth(); - //showMessageFitWidth(); } else { showMessage("Zoom temporary disabled"); } @@ -190,7 +190,6 @@ void MW::fitOriginal() { if(viewerWidget->interactionEnabled()) { viewerWidget->fitOriginal(); - //showMessageFitOriginal(); } else { showMessage("Zoom temporary disabled"); } @@ -297,19 +296,16 @@ void MW::saveWindowGeometry() { if(this->windowState() == Qt::WindowNoState) { #ifdef __linux__ - if(this->isHidden()) - windowedGeometry = QRect(pos(), size()); - else - windowedGeometry = geometry(); + windowedGeometry = geometry(); #else windowedGeometry = QRect(pos(), size()); #endif } settings->setWindowGeometry(windowedGeometry); - if(!isFullScreen()) - settings->setMaximizedWindow(this->isMaximized()); + settings->setMaximizedWindow(maximized); } +// does not apply fullscreen; window size / maximized state only void MW::restoreWindowGeometry() { windowedGeometry = settings->windowGeometry(); this->resize(windowedGeometry.size()); @@ -341,6 +337,10 @@ } bool MW::event(QEvent *event) { + // only save maximized state if we are already visible + // this filter out out events while the window is still being set up + if(event->type() == QEvent::WindowStateChange && this->isVisible() && !this->isFullScreen()) + maximized = isMaximized(); if(event->type() == QEvent::Move || event->type() == QEvent::Resize) windowGeometryChangeTimer.start(); return QWidget::event(event); @@ -375,11 +375,9 @@ } void MW::close() { - this->hide(); - //if(!isFullScreen()) { - saveWindowGeometry(); - //} + saveWindowGeometry(); saveCurrentDisplay(); + this->hide(); if(copyOverlay) copyOverlay->saveSettings(); QWidget::close(); @@ -481,11 +479,10 @@ } void MW::showWindowed() { - QWidget::showNormal(); + if(isFullScreen()) + QWidget::showNormal(); restoreWindowGeometry(); QWidget::show(); - //QWidget::activateWindow(); - //QWidget::raise(); emit fullscreenStateChanged(false); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/gui/mainwindow.h new/qimgv-0.9.1/qimgv/gui/mainwindow.h --- old/qimgv-0.9/qimgv/gui/mainwindow.h 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/gui/mainwindow.h 2020-05-05 00:41:24.000000000 +0200 @@ -76,7 +76,7 @@ QColor bgColor; qreal bgOpacity; - bool cropPanelActive, showInfoBarFullscreen, showInfoBarWindowed; + bool cropPanelActive, showInfoBarFullscreen, showInfoBarWindowed, maximized; std::shared_ptr<DocumentWidget> docWidget; std::shared_ptr<FolderViewProxy> folderView; std::shared_ptr<CentralWidget> centralWidget; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/gui/viewers/imageviewerv2.cpp new/qimgv-0.9.1/qimgv/gui/viewers/imageviewerv2.cpp --- old/qimgv-0.9/qimgv/gui/viewers/imageviewerv2.cpp 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/gui/viewers/imageviewerv2.cpp 2020-05-05 00:41:24.000000000 +0200 @@ -88,6 +88,8 @@ smoothUpscaling = settings->smoothUpscaling(); expandImage = settings->expandImage(); expandLimit = static_cast<float>(settings->expandLimit()); + if(expandLimit < 1.0f) + expandLimit = maxScale; keepFitMode = settings->keepFitMode(); imageFitModeDefault = settings->imageFitMode(); zoomStep = settings->zoomStep(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/sourcecontainers/documentinfo.cpp new/qimgv-0.9.1/qimgv/sourcecontainers/documentinfo.cpp --- old/qimgv-0.9/qimgv/sourcecontainers/documentinfo.cpp 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/sourcecontainers/documentinfo.cpp 2020-05-05 00:41:24.000000000 +0200 @@ -116,6 +116,7 @@ mDocumentType = STATIC; } //qDebug() << mFormat << mDocumentType << mimeName; + loadExifOrientation(); } inline @@ -152,12 +153,11 @@ return result; } -void DocumentInfo::loadExifInfo() { +void DocumentInfo::loadExifTags() { if(exifLoaded) return; exifLoaded = true; exifTags.clear(); - loadExifOrientation(); #ifdef USE_EXIV2 try { std::unique_ptr<Exiv2::Image> image; @@ -242,7 +242,7 @@ QMap<QString, QString> DocumentInfo::getExifTags() { if(!exifLoaded) - loadExifInfo(); + loadExifTags(); return exifTags; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qimgv-0.9/qimgv/sourcecontainers/documentinfo.h new/qimgv-0.9.1/qimgv/sourcecontainers/documentinfo.h --- old/qimgv-0.9/qimgv/sourcecontainers/documentinfo.h 2020-05-01 00:58:58.000000000 +0200 +++ new/qimgv-0.9.1/qimgv/sourcecontainers/documentinfo.h 2020-05-05 00:41:24.000000000 +0200 @@ -43,7 +43,7 @@ QDateTime lastModified() const; void refresh(); - void loadExifInfo(); + void loadExifTags(); QMap<QString, QString> getExifTags(); private: