[Pkg-kde-extras] Bug#855015: unblock: krusader/2:2.5.0-2

Maximiliano Curia maxy at debian.org
Mon Feb 13 09:42:53 UTC 2017


Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock

Dear release team,

The current version of krusader in stretch has some user facing issues that 
were fixed (or at least documented) in the version available in sid. These 
are:

 - A missing runtime dependency against kinit.

   This is actually an rc bug, but it was only reported via irc.

 - A change in the configuration paths.

   This issue was reported upstream but  hasn't been attended, so we are
   adding a NEWS entry about this. (#854992)

 - A regression in the system tray functionality.

   The new version adds the corresponding upstream fix. (#848711)

Please consider unblocking the krusader package so we can have this fixes in 
stretch.

Happy hacking,

unblock krusader/2:2.5.0-2

-- System Information:
Debian Release: 9.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'buildd-unstable'), (500, 'testing'), (500, 'stable'), (50, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf

Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
-------------- next part --------------
diff -Nru krusader-2.5.0/debian/changelog krusader-2.5.0/debian/changelog
--- krusader-2.5.0/debian/changelog	2016-11-09 16:18:11.000000000 +0100
+++ krusader-2.5.0/debian/changelog	2017-02-11 10:39:05.000000000 +0100
@@ -1,3 +1,15 @@
+krusader (2:2.5.0-2) unstable; urgency=medium
+
+  * Add missing kinit runtime dependency.
+  * Add NEWS entry for krusader configuration paths change. (Closes: 854992)
+    Thanks Roman Lebedev for reporting.
+  * Add patches to restore minimize tray function. (Closes: 848711)
+     + ADDED-Reimplementation-of-minimize-to-system-tray-feature.patch
+     + FIXED-365105-Workaround-for-bug-in-KF5-QSystemTrayIcon.patch
+    Thanks Andrej Mernik for reporting.
+
+ -- Maximiliano Curia <maxy at debian.org>  Sat, 11 Feb 2017 10:39:05 +0100
+
 krusader (2:2.5.0-1) unstable; urgency=medium
 
   * New upstream release (2.5.0)
diff -Nru krusader-2.5.0/debian/control krusader-2.5.0/debian/control
--- krusader-2.5.0/debian/control	2016-11-09 16:18:11.000000000 +0100
+++ krusader-2.5.0/debian/control	2017-02-11 10:39:05.000000000 +0100
@@ -37,7 +37,7 @@
 
 Package: krusader
 Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}
+Depends: kinit, ${misc:Depends}, ${shlibs:Depends}
 Suggests: arj,
           ark,
           bzip2,
diff -Nru krusader-2.5.0/debian/krusader.install krusader-2.5.0/debian/krusader.install
--- krusader-2.5.0/debian/krusader.install	2016-11-09 16:18:11.000000000 +0100
+++ krusader-2.5.0/debian/krusader.install	2017-02-11 10:39:05.000000000 +0100
@@ -12,5 +12,5 @@
 usr/share/kservices5/krarc.protocol
 usr/share/kxmlgui5/krusader/
 usr/share/locale/*/LC_MESSAGES/krusader.mo
-usr/share/man/man1/krusader.1
 usr/share/man/*/man1/krusader.1
+usr/share/man/man1/krusader.1
diff -Nru krusader-2.5.0/debian/krusader.NEWS krusader-2.5.0/debian/krusader.NEWS
--- krusader-2.5.0/debian/krusader.NEWS	1970-01-01 01:00:00.000000000 +0100
+++ krusader-2.5.0/debian/krusader.NEWS	2017-02-11 10:39:05.000000000 +0100
@@ -0,0 +1,11 @@
+krusader (2:2.5.0-1) unstable; urgency=low
+
+  With the migration to kf5 the default user configuration paths were changed
+  from ~/.kde4/share/apps/krusader/ to ~/.local/share/krusader/ and krusader
+  currently doesn't migrate the old settings.
+
+  Users that care about their old configuration should copy it to the new
+  location.
+
+ -- Maximiliano Curia <maxy at debian.org>  Sat, 11 Feb 2017 10:00:46 +0100
+
diff -Nru krusader-2.5.0/debian/patches/ADDED-Reimplementation-of-minimize-to-system-tray-feature.patch krusader-2.5.0/debian/patches/ADDED-Reimplementation-of-minimize-to-system-tray-feature.patch
--- krusader-2.5.0/debian/patches/ADDED-Reimplementation-of-minimize-to-system-tray-feature.patch	1970-01-01 01:00:00.000000000 +0100
+++ krusader-2.5.0/debian/patches/ADDED-Reimplementation-of-minimize-to-system-tray-feature.patch	2017-02-11 10:39:05.000000000 +0100
@@ -0,0 +1,189 @@
+From: Alexander Bikadorov <bikaejkb at mailbox.tu-berlin.de>
+Date: Mon, 4 Jul 2016 16:28:07 +0200
+Subject: ADDED: Reimplementation of "minimize to system tray" feature.
+
+Partially reverts commit 8a05cacaf58fba11d6d96b934ce2588a43dc3019.
+Using QSystemTrayIcon. Icon is only shown if mainwindow is minimized.
+---
+ krusader/Konfigurator/kggeneral.cpp |  3 ++-
+ krusader/Konfigurator/kgstartup.cpp |  4 +++-
+ krusader/defaults.h                 |  4 ++++
+ krusader/krusader.cpp               | 47 ++++++++++++++++++++++++++++++++++++-
+ krusader/krusader.h                 |  5 ++++
+ 5 files changed, 60 insertions(+), 3 deletions(-)
+
+diff --git a/krusader/Konfigurator/kggeneral.cpp b/krusader/Konfigurator/kggeneral.cpp
+index 3633c93b..07b1780d 100644
+--- a/krusader/Konfigurator/kggeneral.cpp
++++ b/krusader/Konfigurator/kggeneral.cpp
+@@ -230,8 +230,9 @@ void KgGeneral::createGeneralTab()
+ 
+     KONFIGURATOR_CHECKBOX_PARAM settings[] = { //   cfg_class  cfg_name                default             text                              restart tooltip
+         {"Look&Feel", "Warn On Exit",         _WarnOnExit,        i18n("Warn on exit"),           false,  i18n("Display a warning when trying to close the main window.") },    // KDE4: move warn on exit to the other confirmations
++        {"Look&Feel", "Minimize To Tray",     _MinimizeToTray,    i18n("Minimize to tray"),       false,  i18n("The icon will appear in the system tray instead of the taskbar, when Krusader is minimized.") },
+     };
+-    KonfiguratorCheckBoxGroup *cbs = createCheckBoxGroup(2, 0, settings, 1 /*count*/, generalGrp, PAGE_GENERAL);
++    KonfiguratorCheckBoxGroup *cbs = createCheckBoxGroup(2, 0, settings, 2 /*count*/, generalGrp, PAGE_GENERAL);
+     generalGrid->addWidget(cbs, 0, 0);
+ 
+ 
+diff --git a/krusader/Konfigurator/kgstartup.cpp b/krusader/Konfigurator/kgstartup.cpp
+index 4691a4b6..4100bc27 100644
+--- a/krusader/Konfigurator/kgstartup.cpp
++++ b/krusader/Konfigurator/kgstartup.cpp
+@@ -108,9 +108,11 @@ KgStartup::KgStartup(bool first, QWidget* parent) :
+                  "to manually set the main window's size and position at startup.</p>") },
+         {"Startup", "Update Default Panel Settings", _RememberPos, i18n("Update default panel settings"), true,
+             i18n("When settings of a panel are changed, save them as the default for new panels of the same type.") },
++        {"Startup", "Start To Tray", _StartToTray, i18n("Start to tray"), false,
++            i18n("Krusader starts to tray (if minimize to tray is set), without showing the main window") },
+     };
+ 
+-    uiCbGroup = createCheckBoxGroup(2, 0, uiCheckBoxes, 9, uiGrp);
++    uiCbGroup = createCheckBoxGroup(2, 0, uiCheckBoxes, 10, uiGrp);
+     connect(uiCbGroup->find("UI Save Settings"), SIGNAL(stateChanged(int)), this, SLOT(slotDisable()));
+ 
+     uiGrid->addWidget(uiCbGroup, 1, 0);
+diff --git a/krusader/defaults.h b/krusader/defaults.h
+index 8b49ff83..22f94f08 100644
+--- a/krusader/defaults.h
++++ b/krusader/defaults.h
+@@ -52,6 +52,8 @@
+ #define _ShowTerminalEmulator false
+ // Remember Position
+ #define _RememberPos      true
++// Start to tray
++#define _StartToTray      false
+ // Left Tab Bar
+ // Right Tab Bar
+ // Size where lister is the default viewer
+@@ -64,6 +66,8 @@
+ #define _FilelistFont   QFontDatabase::systemFont(QFontDatabase::GeneralFont)
+ // Warn On Exit ////////
+ #define _WarnOnExit     false
++// Minimize To Tray ////
++#define _MinimizeToTray false
+ // Mark Dirs ///////////
+ #define _MarkDirs       false
+ // Show Hidden /////////
+diff --git a/krusader/krusader.cpp b/krusader/krusader.cpp
+index fea64809..01a4533f 100644
+--- a/krusader/krusader.cpp
++++ b/krusader/krusader.cpp
+@@ -218,6 +218,20 @@ Krusader::Krusader(const QCommandLineParser &parser) : KParts::MainWindow(0,
+     status->setWhatsThis(i18n("Statusbar will show basic information "
+                               "about file below mouse pointer."));
+ 
++    // create tray icon (even if not shown)
++    sysTray = new QSystemTrayIcon(this);
++    sysTray->setIcon(krLoader->loadIcon(privIcon(), KIconLoader::Panel, 22));
++    QMenu *trayMenu = new QMenu(this);
++    trayMenu->addSection(QGuiApplication::applicationDisplayName()); // show "title"
++    QAction *restoreAction = new QAction(i18n("Restore"), this);
++    connect(restoreAction, SIGNAL(triggered()), SLOT(showFromTray()));
++    trayMenu->addAction(restoreAction);
++    trayMenu->addSeparator();
++    trayMenu->addAction(actionCollection()->action(KStandardAction::name(KStandardAction::Quit)));
++    sysTray->setContextMenu(trayMenu);
++    // tray is only visible if main window is hidden, so action is always "show"
++    connect(sysTray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(showFromTray()));
++
+     setCentralWidget(MAIN_VIEW);
+ 
+     // manage our keyboard short-cuts
+@@ -249,7 +263,12 @@ Krusader::Krusader(const QCommandLineParser &parser) : KParts::MainWindow(0,
+         }
+     }
+ 
+-    show();
++    // view initialized; show window or tray
++    if (gs.readEntry("Start To Tray", _StartToTray)) {
++        sysTray->show();
++    } else {
++        show();
++    }
+ 
+     KrTrashHandler::startWatcher();
+     isStarting = false;
+@@ -331,6 +350,31 @@ void Krusader::statusBarUpdate(QString& mess)
+         statusBar() ->showMessage(mess, 5000);
+ }
+ 
++void Krusader::showFromTray() {
++    setWindowState((windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
++    show();
++    sysTray->hide();
++}
++
++void Krusader::changeEvent(QEvent *event) {
++    QMainWindow::changeEvent(event);
++    if (isExiting)
++        return;
++
++    // toggle tray when minimizing (if enabled)
++    if(event->type() == QEvent::WindowStateChange) {
++        if(isMinimized()) {
++            KConfigGroup group(krConfig, "Look&Feel");
++            if (group.readEntry("Minimize To Tray", _MinimizeToTray)) {
++                sysTray->show();
++                hide();
++            }
++        } else if(isVisible()) {
++            sysTray->hide();
++        }
++    }
++}
++
+ void Krusader::moveEvent(QMoveEvent *e) {
+     oldPos = e->oldPos();
+     KParts::MainWindow::moveEvent(e);
+@@ -410,6 +454,7 @@ void Krusader::saveSettings() {
+         cfg.writeEntry("Show FN Keys", KrActions::actToggleFnkeys->isChecked());
+         cfg.writeEntry("Show Cmd Line", KrActions::actToggleCmdline->isChecked());
+         cfg.writeEntry("Show Terminal Emulator", KrActions::actToggleTerminal->isChecked());
++        cfg.writeEntry("Start To Tray", isHidden());
+     }
+ 
+     // save popular links
+diff --git a/krusader/krusader.h b/krusader/krusader.h
+index f1750ae9..e6a444b7 100644
+--- a/krusader/krusader.h
++++ b/krusader/krusader.h
+@@ -40,6 +40,7 @@
+ 
+ // QtCore
+ #include <QCommandLineParser>
++#include <QEvent>
+ #include <QStringList>
+ #include <QTimer>
+ // QtGui
+@@ -49,6 +50,7 @@
+ #include <QMoveEvent>
+ // QtWidgets
+ #include <QAction>
++#include <QSystemTrayIcon>
+ 
+ #include <KParts/MainWindow>
+ #include <KConfigWidgets/KStandardAction>
+@@ -135,11 +137,13 @@ protected slots:
+     void doOpenUrl();
+     void slotGotNewStartup(const KStartupInfoId &id, const KStartupInfoData &data);
+     void slotGotRemoveStartup(const KStartupInfoId &id, const KStartupInfoData &data);
++    void showFromTray();
+ 
+ protected:
+     bool queryClose() Q_DECL_OVERRIDE;
+     void setupActions();
+     bool versionControl();  // handle version differences in krusaderrc
++    void changeEvent(QEvent *even) Q_DECL_OVERRIDE;
+     void moveEvent(QMoveEvent *) Q_DECL_OVERRIDE;
+     void resizeEvent(QResizeEvent *) Q_DECL_OVERRIDE;
+     bool event(QEvent *) Q_DECL_OVERRIDE;
+@@ -184,6 +188,7 @@ private:
+     ViewActions *_viewActions;
+     ListPanelActions *_listPanelActions;
+     TabActions *_tabActions;
++    QSystemTrayIcon *sysTray;
+     QPoint       oldPos;
+     QSize        oldSize;
+     bool         isStarting;
diff -Nru krusader-2.5.0/debian/patches/Build-and-install-the-manpages.patch krusader-2.5.0/debian/patches/Build-and-install-the-manpages.patch
--- krusader-2.5.0/debian/patches/Build-and-install-the-manpages.patch	2016-11-09 16:18:11.000000000 +0100
+++ krusader-2.5.0/debian/patches/Build-and-install-the-manpages.patch	2017-02-11 10:39:05.000000000 +0100
@@ -13,7 +13,7 @@
  7 files changed, 14 insertions(+)
 
 diff --git a/doc/de/CMakeLists.txt b/doc/de/CMakeLists.txt
-index fd99785..125e050 100644
+index fd99785f..125e0501 100644
 --- a/doc/de/CMakeLists.txt
 +++ b/doc/de/CMakeLists.txt
 @@ -1,4 +1,6 @@
@@ -24,7 +24,7 @@
 +                         INSTALL_DESTINATION ${MAN_INSTALL_DIR}/de/)
  
 diff --git a/doc/en/CMakeLists.txt b/doc/en/CMakeLists.txt
-index 5b1d4af..c567d68 100644
+index 5b1d4af3..c567d681 100644
 --- a/doc/en/CMakeLists.txt
 +++ b/doc/en/CMakeLists.txt
 @@ -1,4 +1,6 @@
@@ -35,7 +35,7 @@
 +                         INSTALL_DESTINATION ${MAN_INSTALL_DIR})
  
 diff --git a/doc/it/CMakeLists.txt b/doc/it/CMakeLists.txt
-index 6010d62..f92fbc9 100644
+index 6010d622..f92fbc98 100644
 --- a/doc/it/CMakeLists.txt
 +++ b/doc/it/CMakeLists.txt
 @@ -1,4 +1,6 @@
@@ -46,7 +46,7 @@
 +                         INSTALL_DESTINATION ${MAN_INSTALL_DIR}/it/)
  
 diff --git a/doc/nl/CMakeLists.txt b/doc/nl/CMakeLists.txt
-index 4828e1d..8e4f6dc 100644
+index 4828e1dc..8e4f6dc2 100644
 --- a/doc/nl/CMakeLists.txt
 +++ b/doc/nl/CMakeLists.txt
 @@ -1,4 +1,6 @@
@@ -57,7 +57,7 @@
 +                         INSTALL_DESTINATION ${MAN_INSTALL_DIR}/nl/)
  
 diff --git a/doc/pt_BR/CMakeLists.txt b/doc/pt_BR/CMakeLists.txt
-index cbe8614..8e315c3 100644
+index cbe86148..8e315c30 100644
 --- a/doc/pt_BR/CMakeLists.txt
 +++ b/doc/pt_BR/CMakeLists.txt
 @@ -1,4 +1,6 @@
@@ -68,7 +68,7 @@
 +                         INSTALL_DESTINATION ${MAN_INSTALL_DIR}/pt_BR/)
  
 diff --git a/doc/sv/CMakeLists.txt b/doc/sv/CMakeLists.txt
-index 70e8890..1f6df90 100644
+index 70e8890d..1f6df90e 100644
 --- a/doc/sv/CMakeLists.txt
 +++ b/doc/sv/CMakeLists.txt
 @@ -1,4 +1,6 @@
@@ -79,7 +79,7 @@
 +                         INSTALL_DESTINATION ${MAN_INSTALL_DIR}/sv/)
  
 diff --git a/doc/uk/CMakeLists.txt b/doc/uk/CMakeLists.txt
-index 206a088..35f7587 100644
+index 206a0884..35f7587f 100644
 --- a/doc/uk/CMakeLists.txt
 +++ b/doc/uk/CMakeLists.txt
 @@ -1,4 +1,6 @@
diff -Nru krusader-2.5.0/debian/patches/FIXED-365105-Workaround-for-bug-in-KF5-QSystemTrayIcon.patch krusader-2.5.0/debian/patches/FIXED-365105-Workaround-for-bug-in-KF5-QSystemTrayIcon.patch
--- krusader-2.5.0/debian/patches/FIXED-365105-Workaround-for-bug-in-KF5-QSystemTrayIcon.patch	1970-01-01 01:00:00.000000000 +0100
+++ krusader-2.5.0/debian/patches/FIXED-365105-Workaround-for-bug-in-KF5-QSystemTrayIcon.patch	2017-02-11 10:39:05.000000000 +0100
@@ -0,0 +1,35 @@
+From: Alexander Bikadorov <alex.bikadorov at kdemail.net>
+Date: Fri, 28 Oct 2016 19:07:53 +0200
+Subject: FIXED: [ 365105 ] Workaround for bug in KF5+QSystemTrayIcon
+
+BUG: 365105
+---
+ krusader/krusader.cpp | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/krusader/krusader.cpp b/krusader/krusader.cpp
+index 01a4533f..da153f4d 100644
+--- a/krusader/krusader.cpp
++++ b/krusader/krusader.cpp
+@@ -366,6 +366,21 @@ void Krusader::changeEvent(QEvent *event) {
+         if(isMinimized()) {
+             KConfigGroup group(krConfig, "Look&Feel");
+             if (group.readEntry("Minimize To Tray", _MinimizeToTray)) {
++                // TODO tray created again to prevent bug in kf5,
++                // remove this if bug 365105 is resolved
++                sysTray->deleteLater();
++                sysTray = new QSystemTrayIcon(this);
++                sysTray->setIcon(krLoader->loadIcon(privIcon(), KIconLoader::Panel, 22));
++                QMenu *trayMenu = new QMenu(this);
++                trayMenu->addSection(QGuiApplication::applicationDisplayName()); // show "title"
++                QAction *restoreAction = new QAction(i18n("Restore"), this);
++                connect(restoreAction, SIGNAL(triggered()), SLOT(showFromTray()));
++                trayMenu->addAction(restoreAction);
++                trayMenu->addSeparator();
++                trayMenu->addAction(actionCollection()->action(KStandardAction::name(KStandardAction::Quit)));
++                sysTray->setContextMenu(trayMenu);
++                connect(sysTray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(showFromTray()));
++
+                 sysTray->show();
+                 hide();
+             }
diff -Nru krusader-2.5.0/debian/patches/series krusader-2.5.0/debian/patches/series
--- krusader-2.5.0/debian/patches/series	2016-11-09 16:18:11.000000000 +0100
+++ krusader-2.5.0/debian/patches/series	2017-02-11 10:39:05.000000000 +0100
@@ -1 +1,3 @@
 Build-and-install-the-manpages.patch
+ADDED-Reimplementation-of-minimize-to-system-tray-feature.patch
+FIXED-365105-Workaround-for-bug-in-KF5-QSystemTrayIcon.patch


More information about the pkg-kde-extras mailing list