forked from pool/krusader
Update to 2.8.0
OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/krusader?expand=0&rev=43
This commit is contained in:
parent
bdcff03144
commit
39dfcbb33e
@ -1,116 +0,0 @@
|
||||
From 3d7ae219e8df07861d9a68d6f25a8f861f48ea9b Mon Sep 17 00:00:00 2001
|
||||
From: Yaroslav Sidlovsky <zawertun@gmail.com>
|
||||
Date: Sat, 20 Nov 2021 19:16:02 +0300
|
||||
Subject: [PATCH] Fixed non working actions for create / extract archives
|
||||
|
||||
PanelContextMenu instance created in PanelContextMenu::run now lives long
|
||||
enough so that create / extract archive actions won't be deleted right after
|
||||
PanelContextMenu::run call.
|
||||
|
||||
Important note: after this patch I've spotted crash, same as in the bug
|
||||
https://bugs.kde.org/show_bug.cgi?id=443540.
|
||||
|
||||
Looks like this crash has been fixed in the KF5 5.89(git).
|
||||
|
||||
BUG: 441376
|
||||
---
|
||||
krusader/Panel/listpanel.cpp | 7 ++++---
|
||||
krusader/Panel/listpanel.h | 2 ++
|
||||
krusader/Panel/panelcontextmenu.cpp | 9 +++++----
|
||||
krusader/Panel/panelcontextmenu.h | 5 +++--
|
||||
4 files changed, 14 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/krusader/Panel/listpanel.cpp b/krusader/Panel/listpanel.cpp
|
||||
index 5789d22..4278eb7 100644
|
||||
--- a/krusader/Panel/listpanel.cpp
|
||||
+++ b/krusader/Panel/listpanel.cpp
|
||||
@@ -60,7 +60,6 @@
|
||||
#include "krpreviewpopup.h"
|
||||
#include "krsearchbar.h"
|
||||
#include "listpanelactions.h"
|
||||
-#include "panelcontextmenu.h"
|
||||
#include "panelfunc.h"
|
||||
#include "sidebar.h"
|
||||
#include "viewactions.h"
|
||||
@@ -873,12 +872,14 @@ void ListPanel::popRightClickMenu(const QPoint &loc)
|
||||
{
|
||||
// run it, on the mouse location
|
||||
int j = QFontMetrics(font()).height() * 2;
|
||||
- PanelContextMenu::run(QPoint(loc.x() + 5, loc.y() + j), this);
|
||||
+ auto menu = PanelContextMenu::run(QPoint(loc.x() + 5, loc.y() + j), this);
|
||||
+ _contextMenu.reset(menu);
|
||||
}
|
||||
|
||||
void ListPanel::popEmptyRightClickMenu(const QPoint &loc)
|
||||
{
|
||||
- PanelContextMenu::run(loc, this);
|
||||
+ auto menu = PanelContextMenu::run(loc, this);
|
||||
+ _contextMenu.reset(menu);
|
||||
}
|
||||
|
||||
QString ListPanel::getCurrentName() const
|
||||
diff --git a/krusader/Panel/listpanel.h b/krusader/Panel/listpanel.h
|
||||
index b1633dc..5180e8a 100644
|
||||
--- a/krusader/Panel/listpanel.h
|
||||
+++ b/krusader/Panel/listpanel.h
|
||||
@@ -54,6 +54,7 @@
|
||||
#include <KIOFileWidgets/KUrlNavigator>
|
||||
|
||||
#include "krpanel.h"
|
||||
+#include "panelcontextmenu.h"
|
||||
|
||||
#define PROP_SYNC_BUTTON_ON 1
|
||||
#define PROP_LOCKED 2
|
||||
@@ -253,6 +254,7 @@ private:
|
||||
QUrl _pinnedUrl; // only for TabState::PINNED
|
||||
TabState _tabState;
|
||||
QList<int> sidebarSplitterSizes;
|
||||
+ QScopedPointer<PanelContextMenu> _contextMenu;
|
||||
};
|
||||
|
||||
#endif
|
||||
diff --git a/krusader/Panel/panelcontextmenu.cpp b/krusader/Panel/panelcontextmenu.cpp
|
||||
index ec7b172..8b0239e 100644
|
||||
--- a/krusader/Panel/panelcontextmenu.cpp
|
||||
+++ b/krusader/Panel/panelcontextmenu.cpp
|
||||
@@ -55,14 +55,15 @@
|
||||
#include "../MountMan/kmountman.h"
|
||||
#include "../UserAction/useractionpopupmenu.h"
|
||||
|
||||
-void PanelContextMenu::run(const QPoint &pos, KrPanel *panel)
|
||||
+PanelContextMenu* PanelContextMenu::run(const QPoint &pos, KrPanel *panel)
|
||||
{
|
||||
- PanelContextMenu menu(panel);
|
||||
- QAction * res = menu.exec(pos);
|
||||
+ auto menu = new PanelContextMenu(panel);
|
||||
+ QAction * res = menu->exec(pos);
|
||||
int result = res && res->data().canConvert<int>() ?
|
||||
res->data().toInt() :
|
||||
-1;
|
||||
- menu.performAction(result);
|
||||
+ menu->performAction(result);
|
||||
+ return menu;
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/krusader/Panel/panelcontextmenu.h b/krusader/Panel/panelcontextmenu.h
|
||||
index cd37a00..7199af4 100644
|
||||
--- a/krusader/Panel/panelcontextmenu.h
|
||||
+++ b/krusader/Panel/panelcontextmenu.h
|
||||
@@ -40,10 +40,11 @@ class PanelContextMenu : public QMenu
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
- static void run(const QPoint &pos, KrPanel *panel);
|
||||
+ static PanelContextMenu* run(const QPoint &pos, KrPanel *panel);
|
||||
|
||||
private:
|
||||
- explicit PanelContextMenu(KrPanel *thePanel, QWidget *parent = 0);
|
||||
+ explicit PanelContextMenu(KrPanel *thePanel, QWidget *parent = nullptr);
|
||||
+
|
||||
void performAction(int id);
|
||||
void addEmptyMenuEntries(); // adds the choices for a menu without selected items
|
||||
void addCreateNewMenu(); // adds a "create new" submenu
|
||||
--
|
||||
2.36.1
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:41a39a43b3c42dd1d1ecaea86df30caff6a061fecc1d66f60859b2a3ca976109
|
||||
size 2912396
|
3
krusader-2.8.0.tar.xz
Normal file
3
krusader-2.8.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8e4cf05a9318b0bc1b0941811b988b2f2bb0c04a0d1e37998212a9190cf2c29a
|
||||
size 3029352
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 20 08:23:21 UTC 2022 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 2.8.0.
|
||||
* Too many changes. Check the ChangeLog file for the full list
|
||||
- Drop patch, merged upstream:
|
||||
* 0001-Fixed-non-working-actions-for-create-extract-archive.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 29 14:04:17 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||
|
||||
|
@ -17,18 +17,15 @@
|
||||
|
||||
|
||||
Name: krusader
|
||||
Version: 2.7.2
|
||||
Version: 2.8.0
|
||||
Release: 0
|
||||
Summary: A File Manager
|
||||
Summary: Twin panel file manager for KDE Plasma and other desktops
|
||||
License: GPL-2.0-or-later
|
||||
Group: Productivity/File utilities
|
||||
URL: https://krusader.org/
|
||||
Source: https://download.kde.org/stable/krusader/%{version}/%{name}-%{version}.tar.xz
|
||||
Source1: krusader_browse_iso.desktop
|
||||
Source2: org.kde.krusader.root-mode.desktop
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch0: 0001-Fixed-non-working-actions-for-create-extract-archive.patch
|
||||
BuildRequires: extra-cmake-modules >= 1.7.0
|
||||
BuildRequires: extra-cmake-modules >= 5.68.0
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libacl-devel
|
||||
BuildRequires: libattr-devel
|
||||
@ -53,22 +50,22 @@ BuildRequires: cmake(KF5Wallet)
|
||||
BuildRequires: cmake(KF5WidgetsAddons)
|
||||
BuildRequires: cmake(KF5WindowSystem)
|
||||
BuildRequires: cmake(KF5XmlGui)
|
||||
BuildRequires: cmake(Qt5Concurrent) >= 5.5.0
|
||||
BuildRequires: cmake(Qt5Core) >= 5.5.0
|
||||
BuildRequires: cmake(Qt5DBus) >= 5.5.0
|
||||
BuildRequires: cmake(Qt5Gui) >= 5.5.0
|
||||
BuildRequires: cmake(Qt5PrintSupport) >= 5.5.0
|
||||
BuildRequires: cmake(Qt5Widgets) >= 5.5.0
|
||||
BuildRequires: cmake(Qt5Xml) >= 5.5.0
|
||||
BuildRequires: cmake(Qt5Concurrent) >= 5.12.0
|
||||
BuildRequires: cmake(Qt5Core) >= 5.12.0
|
||||
BuildRequires: cmake(Qt5DBus) >= 5.12.0
|
||||
BuildRequires: cmake(Qt5Gui) >= 5.12.0
|
||||
BuildRequires: cmake(Qt5PrintSupport) >= 5.12.0
|
||||
BuildRequires: cmake(Qt5Widgets) >= 5.12.0
|
||||
BuildRequires: cmake(Qt5Xml) >= 5.12.0
|
||||
Requires: kio_iso = %{version}
|
||||
Suggests: %{name}-doc
|
||||
|
||||
%description
|
||||
An advanced twin panel (commander style) file manager for KDE.
|
||||
Krusader is an advanced twin panel (commander style) file manager for KDE Plasma
|
||||
and other desktops in the *nix world.
|
||||
|
||||
%package -n kio_iso
|
||||
Summary: KIO slave to access ISO images
|
||||
Group: System/GUI/KDE
|
||||
Provides: kde4-kio_iso = 1.80.99
|
||||
Obsoletes: kde4-kio_iso < 1.80.99
|
||||
|
||||
@ -77,11 +74,13 @@ KIO slave to access ISO images like zip- or tar.gz-archives in your
|
||||
file-browser.
|
||||
|
||||
%package doc
|
||||
Summary: A File Manager
|
||||
Group: Productivity/File utilities
|
||||
Summary: Krusader documentation
|
||||
|
||||
%description doc
|
||||
An advanced twin panel (commander style) file manager for KDE.
|
||||
Krusader is an advanced twin panel (commander style) file manager for KDE Plasma
|
||||
and other desktops in the *nix world.
|
||||
|
||||
This package contains the krusader documentation.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
@ -93,25 +92,19 @@ An advanced twin panel (commander style) file manager for KDE.
|
||||
%install
|
||||
%kf5_makeinstall -C build
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
mkdir -p %{buildroot}%{_kf5_servicesdir}/ServiceMenus/
|
||||
cp %{SOURCE1} %{buildroot}%{_kf5_servicesdir}/ServiceMenus/
|
||||
cp %{SOURCE2} %{buildroot}%{_kf5_applicationsdir}/
|
||||
|
||||
%suse_update_desktop_file org.kde.krusader.root-mode FileManager Utility
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
%fdupes %{buildroot}
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files -f %{name}.lang
|
||||
%license COPYING
|
||||
%doc README AUTHORS ChangeLog TODO
|
||||
%dir %{_kf5_appstreamdir}
|
||||
%dir %{_kf5_mandir}/uk
|
||||
%dir %{_kf5_mandir}/uk/man1
|
||||
%files
|
||||
%license LICENSES/*
|
||||
%doc README AUTHORS ChangeLog
|
||||
%exclude %{_kf5_htmldir}/*/krusader
|
||||
%{_kf5_applicationsdir}/org.kde.krusader*.desktop
|
||||
%{_kf5_appsdir}/krusader
|
||||
@ -119,21 +112,20 @@ cp %{SOURCE2} %{buildroot}%{_kf5_applicationsdir}/
|
||||
%{_kf5_bindir}/krusader
|
||||
%{_kf5_iconsdir}/??color/*/apps/krusader*.png
|
||||
%{_kf5_kxmlguidir}/
|
||||
%{_kf5_mandir}/*/man1/krusader.1.gz
|
||||
%{_kf5_mandir}/man1/krusader.1.gz
|
||||
%{_kf5_plugindir}/kio_krarc.so
|
||||
%{_kf5_servicesdir}/krarc.protocol
|
||||
%doc %lang(en) %{_kf5_mandir}/man1/krusader.1%{?ext_man}
|
||||
%{_kf5_plugindir}/kf5/kio/kio_krarc.so
|
||||
|
||||
%files -n kio_iso
|
||||
%license LICENSES/*
|
||||
%config %{_kf5_configdir}/kio_isorc
|
||||
%dir %{_kf5_servicesdir}/ServiceMenus
|
||||
%{_kf5_plugindir}/kio_iso.so*
|
||||
%{_kf5_plugindir}/kf5/kio/kio_iso.so*
|
||||
%{_kf5_servicesdir}/ServiceMenus/krusader_browse_iso.desktop
|
||||
%{_kf5_servicesdir}/iso.protocol
|
||||
|
||||
%files doc
|
||||
%doc %lang(en) %{_kf5_htmldir}/en/krusader
|
||||
%doc %lang(uk) %{_kf5_htmldir}/uk/krusader
|
||||
%doc %lang(sv) %{_kf5_htmldir}/sv/krusader
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
%{_kf5_mandir}/*/man1/krusader.1%{?ext_man}
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user