Compare commits

..

38 Commits

Author SHA1 Message Date
Simon Quigley da7f4bf63a Upload to Plucky
1 month ago
Simon Quigley 4a9ba26b37 Make Lintian happy
2 months ago
Simon Quigley 2fa547d112 Bump build dependencies.
2 months ago
Simon Quigley 5ca00c8af6 New upstream release.
2 months ago
Aaron Rainbolt 9808f555be Release to Oracular
4 months ago
Aaron Rainbolt 5c0d50d7ca PPA build
6 months ago
Aaron Rainbolt 0834913de6 Adjust deps
6 months ago
Aaron Rainbolt 3d775bbe88 Bump Standards-Version
6 months ago
Aaron Rainbolt 4f3ccc3d00 Bump version for new upstream release
6 months ago
Aaron Rainbolt 5569f0226e Remove obsolete patch
10 months ago
Aaron Rainbolt e3acc2ae3d Update copyright file
10 months ago
Aaron Rainbolt 2b6e0abfd6 Bump version for new upstream release
10 months ago
Aaron Rainbolt 4d3e26a522 Sync with archive.
10 months ago
Simon Quigley 1e8c02423c Upload to Noble.
1 year ago
Simon Quigley e00de47d55 Bump Standards-version to 4.6.2, no changes needed.
1 year ago
Simon Quigley e22e0503ab Bump build dependencies.
1 year ago
Simon Quigley 8fbd663f1a New upstream release.
1 year ago
Simon Quigley 4f4540e8f9 Upload to Mantic.
1 year ago
Simon Quigley 02043095dd Update copyright years.
1 year ago
Simon Quigley ab11e247d5 Bump Standards-version to 4.6.2, no changes needed.
1 year ago
Simon Quigley 018dbb0a3d Bump build dependencies.
1 year ago
Simon Quigley f4f07c6b57 New upstream release.
1 year ago
Aaron Rainbolt d17dcaf289 NCR for libfm-qt 1.2.1
2 years ago
Simon Quigley cced6a1ef0 Upload to Lunar.
2 years ago
Simon Quigley e9da05c1f0 Bump build dependencies in debian/control.
2 years ago
Simon Quigley 3d12238662 Lubuntuify the package slightly, to make debhelper happy.
2 years ago
Simon Quigley d8ad831b2f Fix the watch file, for real this time.
2 years ago
Simon Quigley a6c5ee8620 New upstream version.
2 years ago
Simon Quigley f252e301b8 Sync with Debian version 0.6.0-1.
2 years ago
Simon Quigley 2babdd5e76 Upload to Kinetic.
3 years ago
Simon Quigley 332d50fad1 Bump build dependencies.
3 years ago
Simon Quigley 4ba0622aea New upstream release.
3 years ago
apt-ghetto 5106535c2d New upstream release of lxqt-archiver
3 years ago
Dan Simmons 353ce826ee Sync from archive.
4 years ago
Simon Quigley 4b03e2b421 Remove reverse-applicable patches.
5 years ago
Simon Quigley 0cd960f6e2 Loosen up the install file a bit.
5 years ago
Simon Quigley 71d19fa01b Modernize package and make the watch file work.
5 years ago
Simon Quigley 9fdc336c4a Update changelog for new upstream version.
5 years ago

99
debian/changelog vendored

@ -1,5 +1,98 @@
lxqt-archiver (0.0.96-0ubuntu1) cosmic; urgency=medium lxqt-archiver (1.1.0-0ubuntu1) plucky; urgency=medium
* Initial release. * New upstream release.
- Bump build dependencies.
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 09 Jul 2018 19:16:31 -0500 -- Simon Quigley <tsimonq2@ubuntu.com> Fri, 15 Nov 2024 15:32:25 -0600
lxqt-archiver (1.0.0-0ubuntu1) oracular; urgency=medium
* New upstream release.
* Bump Standards-Version to 4.7.0, no changes necessary.
* Adjust dependencies.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 15 Aug 2024 16:49:03 -0500
lxqt-archiver (0.9.1-0ubuntu1) noble; urgency=medium
* New upstream release.
* Update copyright file.
* Remove 0001-Support-use-of-7zip.patch, now included in upstream code
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 23 Feb 2024 14:34:49 -0600
lxqt-archiver (0.9.0-0ubuntu2) noble; urgency=medium
* Fix invalid argument use of 7z. (LP: #2052880)
-- Sudip Mukherjee <sudipm.mukherjee@gmail.com> Sun, 11 Feb 2024 21:59:12 +0000
lxqt-archiver (0.9.0-0ubuntu1) noble; urgency=medium
* New upstream release.
* Bump build dependencies.
* Bump Standards-version to 4.6.2, no changes needed.
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 12 Nov 2023 18:08:55 -0600
lxqt-archiver (0.8.0-0ubuntu1) mantic; urgency=medium
* New upstream release.
* Bump build dependencies.
* Bump Standards-version to 4.6.2, no changes needed.
* Update copyright years.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 11 Aug 2023 09:49:36 -0500
lxqt-archiver (0.7.0-0ubuntu2) lunar; urgency=medium
* No-change rebuild against libfm-qt 1.2.1.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 27 Jan 2023 15:49:34 -0600
lxqt-archiver (0.7.0-0ubuntu1) lunar; urgency=medium
* New upstream version.
* Fix the watch file, for real this time.
* Lubuntuify the package slightly, to make debhelper happy.
* Bump build dependencies in debian/control.
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 17 Nov 2022 22:12:24 -0600
lxqt-archiver (0.6.0-1) experimental; urgency=medium
* New upstream release.
* Upstreamed compatible changes from Ubuntu, modifying the following files:
- control
- copyright
- lintian-overrides
- rules
- upstream/*
- lxqt-archiver.install
-- Aaron Rainbolt <arraybolt3@gmail.com> Tue, 12 Jul 2022 17:15:16 -0500
lxqt-archiver (0.3.0-2) unstable; urgency=medium
* Source only upload for migration to testing
-- Yao Wei (魏銘廷) <mwei@debian.org> Mon, 01 Feb 2021 19:36:32 +0800
lxqt-archiver (0.3.0-1) unstable; urgency=medium
[ Andrew Lee (李健秋) ]
* Add myself as uploaders
* Correct source/format file
* debian/lxqt-archiver.install: ship correct files
[ Yao Wei (魏銘廷) ]
* debian/copyright: Update copyright file
* debian/control: Add mwei@debian.org as Uploader
-- Yao Wei (魏銘廷) <mwei@debian.org> Thu, 07 Jan 2021 21:41:59 +0800
lxqt-archiver (0.0.0.96-1) experimental; urgency=medium
* Initial release (Closes: #902808)
-- Alf Gaida <agaida@siduction.org> Mon, 25 Jun 2018 22:15:30 +0200

1
debian/compat vendored

@ -1 +0,0 @@
11

110
debian/control vendored

@ -1,29 +1,74 @@
Source: lxqt-archiver Source: lxqt-archiver
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
Original-Maintainer: LXQt Packaging Team <pkg-lxqt-devel@lists.alioth.debian.org>
Uploaders: Alf Gaida <agaida@siduction.org>,
Andrew Lee (李健秋) <ajqlee@debian.org>,
Yao Wei (魏銘廷) <mwei@debian.org>,
Simon Quigley <tsimonq2@debian.org>,
Aaron Rainbolt <arraybolt3@gmail.com>
Section: x11 Section: x11
Priority: optional Priority: optional
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com> Build-Depends: cmake (>= 3.18),
Uploaders: Simon Quigley <tsimonq2@ubuntu.com> debhelper-compat (= 13),
Build-Depends: cmake, libfm-qt6-dev (>= 2.1.0),
debhelper (>= 11),
libjson-glib-dev, libjson-glib-dev,
libmagic-dev, libmagic-dev,
lxqt-build-tools libxcb-composite0-dev,
Standards-Version: 4.1.5 libxcb-cursor-dev,
libxcb-damage0-dev,
libxcb-dpms0-dev,
libxcb-dri2-0-dev,
libxcb-dri3-dev,
libxcb-ewmh-dev,
libxcb-glx0-dev,
libxcb-icccm4-dev,
libxcb-keysyms1-dev,
libxcb-present-dev,
libxcb-record0-dev,
libxcb-render0-dev,
libxcb-res0-dev,
libxcb-screensaver0-dev,
libxcb-shape0-dev,
libxcb-shm0-dev,
libxcb-util-dev,
libxcb-xf86dri0-dev,
libxcb-xfixes0-dev,
libxcb-xinerama0-dev,
libxcb-xinput-dev,
libxcb-xkb-dev,
libxcb-xtest0-dev,
libxcb-xv0-dev,
libxcb-xvmc0-dev,
libxkbcommon-dev (>= 0.5.0),
lxqt-build-tools (>= 2.1.0)
Standards-Version: 4.7.0
Vcs-Browser: https://git.lubuntu.me/Lubuntu/lxqt-archiver-packaging
Vcs-Git: https://git.lubuntu.me/Lubuntu/lxqt-archiver-packaging.git
Debian-Vcs-Browser: https://salsa.debian.org/lxqt-team/lxqt-archiver
Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/lxqt-archiver.git
Homepage: https://github.com/lxqt/lxqt-archiver Homepage: https://github.com/lxqt/lxqt-archiver
Vcs-Browser: https://phab.lubuntu.me/source/lxqt-archiver/ Rules-Requires-Root: no
Vcs-Git: https://phab.lubuntu.me/source/lxqt-archiver.git
Package: lxqt-archiver Package: lxqt-archiver
Architecture: any Architecture: any
Depends: bzip2, Depends: bzip2, p7zip-full, ${misc:Depends}, ${shlibs:Depends}
p7zip-full, Recommends: gvfs, lxqt-archiver-l10n, unzip, xz-utils, zip
unzip, Suggests: arj,
xz-utils, binutils,
zip, cpio,
${misc:Depends}, lha,
${shlibs:Depends} lzip,
Recommends: lxqt-archiver-l10n lzma,
Suggests: gvfs lzop,
ncompress,
rar,
rpm2cpio,
rzip,
sharutils,
unace,
unalz,
unrar-free | unar | unrar | p7zip-rar,
zoo
Description: Archive Manager for LXQt Description: Archive Manager for LXQt
LXQt Archiver is an archive manager for the LXQt environment. LXQt Archiver is an archive manager for the LXQt environment.
It allows you to: It allows you to:
@ -46,14 +91,37 @@ Description: Archive Manager for LXQt
compress (.Z), lzip (.lz), lzop (.lzo), lzma (.lzma) and xz (.xz) compress (.Z), lzip (.lz), lzop (.lzo), lzma (.lzma) and xz (.xz)
. .
LXQt Archiver doesn't perform archive operations by itself, but relies on LXQt Archiver doesn't perform archive operations by itself, but relies on
standard backend tools to accomplish this. standard tools for this.
. .
This package contains LXQt Archiver. This package contain the LXQt archiver.
Package: lxqt-archiver-l10n Package: lxqt-archiver-l10n
Architecture: all Architecture: all
Multi-Arch: foreign Multi-Arch: foreign
Section: localization Section: localization
Depends: qttranslations5-l10n, ${misc:Depends} Depends: qt6-translations-l10n, ${misc:Depends}
Description: Language package for lxqt-archiver Description: Language package for lxqt-archiver
This package contains the l10n files needed by LXQt Archiver. LXQt Archiver is an archive manager for the LXQt environment.
It allows you to:
* Create and modify archives.
* View the content of an archive.
* View a file contained in an archive.
* Extract files from the archive.
.
LXQt Archiver supports the following formats:
* Tar (.tar) archives, including those compressed with
gzip (.tar.gz, .tgz), bzip (.tar.bz, .tbz), bzip2 (.tar.bz2, .tbz2),
compress (.tar.Z, .taz), lzip (.tar.lz, .tlz), lzop (.tar.lzo, .tzo),
lzma (.tar.lzma) and xz (.tar.xz)
* Zip archives (.zip)
* Jar archives (.jar, .ear, .war)
* 7z archives (.7z)
* iso9660 CD images (.iso)
* Lha archives (.lzh)
* Single files compressed with gzip (.gz), bzip (.bz), bzip2 (.bz2),
compress (.Z), lzip (.lz), lzop (.lzo), lzma (.lzma) and xz (.xz)
.
LXQt Archiver doesn't perform archive operations by itself, but relies on
standard tools for this.
.
This package contains the l10n files needed by lxqt-archiver.

76
debian/copyright vendored

@ -3,27 +3,73 @@ Upstream-Name: lxqt-archiver
Source: https://github.com/lxqt/lxqt-archiver Source: https://github.com/lxqt/lxqt-archiver
Files: * Files: *
Copyright: 2001-2012 The Free Software Foundation, Inc. Copyright: 2018-2024 LXQt team
2018 The LXQt team
License: GPL-2+ License: GPL-2+
Comment: Some of the source code is derived from Engrampa and File
Roller
Files: debian/* Files: src/passworddialog.cpp
Copyright: 2018 Lubuntu Developers <lubuntu-devel@lists.ubuntu.com> src/passworddialog.h
Copyright: Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
License: GPL-2+
Files: src/main.cpp
src/core/*
Copyright: 2018-2022 LXQt team
2001-2012 Free Software Foundation, Inc.
License: GPL-2+
Files: src/core/CMakeLists.txt
src/core/config.h
src/core/tr-wrapper.c
src/core/tr-wrapper.h
src/core/sh/isoinfo.sh
Copyright: 2018-2022 LXQt team
License: GPL-2+
Files: src/core/fr-command-lrzip.c
src/core/fr-command-lrzip.h
Copyright: 2010 Alexander Saprykin
License: GPL-2+ License: GPL-2+
Files: src/core/fr-enum-types.c
src/core/fr-enum-types.h
src/core/fr-marshal.c
src/core/fr-marshal.h
Copyright: Unknown, possibly Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
License: GPL-2+ License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by Files: debian/*
the Free Software Foundation; either version 2 of the License, or Copyright: 2021-2024, Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
(at your option) any later version. 2018, Alf Gaida <agaida@siduction.org>
License: LGPL-2.1+
License: GPL-2+
This program or library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
. .
This package is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
GNU General Public License for more details. General Public License for more details.
. .
You should have received a copy of the GNU General Public License On Debian systems, the complete text of the GNU General Public
along with this program. If not, see <https://www.gnu.org/licenses/> License version 2 can be found in
"/usr/share/common-licenses/GPL-2".
License: LGPL-2.1+
This program or library is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
. .
On Debian systems, the complete text of the GNU General On Debian systems, the complete text of the GNU Lesser General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Public License version 2.1 can be found in
"/usr/share/common-licenses/LGPL-2.1".

1
debian/docs/docs vendored

@ -0,0 +1 @@
README.md

6
debian/gbp.conf vendored

@ -0,0 +1,6 @@
[DEFAULT]
debian-branch = debian/sid
upstream-branch = upstream/latest
pristine-tar = True
compression = xz

@ -0,0 +1 @@
lxqt-archiver: no-manual-page [usr/bin/lxqt-archiver]

@ -1,4 +1,3 @@
usr/bin/lxqt-archiver usr/bin/lxqt-archiver
usr/libexec/lxqt-archiver/isoinfo.sh
usr/libexec/lxqt-archiver/rpm2cpio
usr/share/applications/lxqt-archiver.desktop usr/share/applications/lxqt-archiver.desktop
usr/share/icons/hicolor/scalable/apps/lxqt-archiver.svg

@ -1 +0,0 @@
support-viewing-current-item.patch

@ -1,480 +0,0 @@
Description: Support viewing (launching) current item
By double-clicking it or through its context menu item if it's a file.
.
Also, remember the last dir on opening files in each session.
.
Also, set `Qt::AA_UseHighDpiPixmaps`.
.
Also, commented out `QDebug` messages to be able to see temporary ones ;)
Author: Tsu Jan <tsujan2000@gmail.com>
Origin: upstream
Bug: https://github.com/lxqt/lxqt-archiver/pull/10
Last-Update: 2018-07-09
--- a/src/archiver.cpp
+++ b/src/archiver.cpp
@@ -338,7 +338,7 @@ void Archiver::rebuildDirTree() {
std::string dirName = stripTrailingSlash(item->fullPath());
dirMap_[dirName] = item;
}
-
+
if(fileData->encrypted) {
isEncrypted_ = true;
}
@@ -385,8 +385,8 @@ void Archiver::rebuildDirTree() {
g_free(tmp);
}
- qDebug("op: %s, %s", fileData->original_path, item->originalPath());
- qDebug("fp: %s, %s", fileData->full_path, item->fullPath());
+ //qDebug("op: %s, %s", fileData->original_path, item->originalPath());
+ //qDebug("fp: %s, %s", fileData->full_path, item->fullPath());
fileData->name = g_path_get_basename(dirName.c_str());
fileData->dir = 1;
file_data_update_content_type(fileData);
@@ -419,9 +419,9 @@ void Archiver::rebuildDirTree() {
}
rootItem_ = dirMap_["/"];
- for(auto& kv: dirMap_) {
+ /*for(auto& kv: dirMap_) {
qDebug("dir: %s: %d", kv.first.c_str(), kv.second->children().size());
- }
+ }*/
}
void Archiver::stopCurrentAction() {
@@ -519,14 +519,14 @@ const FileData* Archiver::fileDataByOrig
// We use the workaround provided here: https://bugreports.qt.io/browse/QTBUG-18434
void Archiver::onStart(FrArchive*, FrAction action, Archiver* _this) {
- qDebug("start");
+ //qDebug("start");
_this->busy_ = true;
QMetaObject::invokeMethod(_this, "start", Qt::QueuedConnection, QGenericReturnArgument(), Q_ARG(FrAction, action));
}
void Archiver::onDone(FrArchive*, FrAction action, FrProcError* error, Archiver* _this) {
- qDebug("done: %s", error && error->gerror ? error->gerror->message : "");
+ //qDebug("done: %s", error && error->gerror ? error->gerror->message : "");
// FIXME: error might become dangling pointer for queued connections. :-(
switch(action) {
@@ -546,11 +546,11 @@ void Archiver::onDone(FrArchive*, FrActi
void Archiver::onProgress(FrArchive*, double fraction, Archiver* _this) {
QMetaObject::invokeMethod(_this, "progress", Qt::QueuedConnection, QGenericReturnArgument(), Q_ARG(double, fraction));
- qDebug("progress: %lf", fraction);
+ //qDebug("progress: %lf", fraction);
}
void Archiver::onMessage(FrArchive*, const char* msg, Archiver* _this) {
- qDebug("message: %s", msg);
+ //qDebug("message: %s", msg);
QMetaObject::invokeMethod(_this, "message", Qt::QueuedConnection, QGenericReturnArgument(), Q_ARG(QString, QString::fromUtf8(msg)));
}
@@ -560,6 +560,6 @@ void Archiver::onStoppable(FrArchive*, g
void Archiver::onWorkingArchive(FrCommand* comm, const char* filename, Archiver* _this) {
// FIXME: why the first param is comm?
- qDebug("working: %s", filename);
+ //qDebug("working: %s", filename);
Q_EMIT _this->workingArchive(filename);
}
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -334,6 +334,7 @@ int main(int argc, char** argv) {
QApplication app(argc, argv);
app.setApplicationVersion(LXQT_ARCHIVER_VERSION);
app.setQuitOnLastWindowClosed(true);
+ app.setAttribute(Qt::AA_UseHighDpiPixmaps);
// load translations
// install the translations built-into Qt itself
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -31,6 +31,7 @@
#include <QBoxLayout>
#include <QCheckBox>
#include <QSpinBox>
+#include <QStandardPaths>
#include <QDebug>
@@ -41,6 +42,7 @@
#include <libfm-qt/utilities.h>
#include <libfm-qt/filepropsdialog.h>
#include <libfm-qt/filedialog.h>
+#include <libfm-qt/filelauncher.h>
// #include <libfm-qt/pathbar.h>
#include <map>
@@ -82,6 +84,8 @@ MainWindow::MainWindow(QWidget* parent):
popupMenu_ = new QMenu{this};
popupMenu_->addAction(ui_->actionExtract);
popupMenu_->addAction(ui_->actionDelete);
+ popupMenu_->addSeparator();
+ popupMenu_->addAction(ui_->actionView);
// proxy model used to filter and sort the items
proxyModel_ = new ArchiverProxyModel{this};
@@ -98,6 +102,7 @@ MainWindow::MainWindow(QWidget* parent):
// show context menu
ui_->fileListView->setContextMenuPolicy(Qt::CustomContextMenu);
connect(ui_->fileListView, &QAbstractItemView::customContextMenuRequested, this, &MainWindow::onFileListContextMenu);
+ connect(ui_->fileListView, &QAbstractItemView::doubleClicked, this, &MainWindow::onFileListDoubleClicked);
connect(archiver_.get(), &Archiver::invalidateContent, this, &MainWindow::onInvalidateContent);
connect(archiver_.get(), &Archiver::start, this, &MainWindow::onActionStarted);
@@ -115,9 +120,16 @@ MainWindow::MainWindow(QWidget* parent):
ui_->actionPaste->deleteLater();
ui_->actionRename->deleteLater();
ui_->actionFind->deleteLater();
+
+ lasrDir_ = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
+
+ setAttribute(Qt::WA_DeleteOnClose, true);
}
MainWindow::~MainWindow() {
+ if(!tempDir_.isEmpty()) { // remove the temp dir if any
+ QDir(tempDir_).removeRecursively();
+ }
}
void MainWindow::loadFile(const Fm::FilePath &file) {
@@ -127,6 +139,18 @@ void MainWindow::loadFile(const Fm::File
splitVolumes_ = false;
volumeSize_ = 0;
+ // find the name of temporary extraction directory (used for viewing files)
+ if(!tempDir_.isEmpty()) { // remove the last temp dir
+ QDir(tempDir_).removeRecursively();
+ }
+ QString tmp = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
+ if(!tmp.isEmpty()) {
+ if(QDir(tmp).exists()) {
+ tempDir_ = tmp + "/" + "lxqt-archiver-"
+ + QDateTime::currentDateTime().toString("yyyyMMddhhmmss");
+ }
+ }
+
archiver_->openArchive(file.uri().get(), nullptr);
}
@@ -155,15 +179,17 @@ void MainWindow::on_actionCreateNew_trig
}
void MainWindow::on_actionOpen_triggered(bool /*checked*/) {
- qDebug("open");
+ //qDebug("open");
Fm::FileDialog dlg{this};
dlg.setFileMode(QFileDialog::ExistingFile);
dlg.setNameFilters(Archiver::supportedOpenNameFilters() << tr("All files (*)"));
- qDebug() << Archiver::supportedOpenMimeTypes();
+ //qDebug() << Archiver::supportedOpenMimeTypes();
dlg.setAcceptMode(QFileDialog::AcceptOpen);
+ dlg.setDirectory(lasrDir_);
if(dlg.exec() == QDialog::Accepted) {
auto url = dlg.selectedFiles()[0];
if(!url.isEmpty()) {
+ lasrDir_ = dlg.directory();
loadFile(Fm::FilePath::fromUri(url.toEncoded()));
}
}
@@ -187,6 +213,7 @@ void MainWindow::on_actionAddFiles_trigg
dlg.setFileMode(QFileDialog::ExistingFiles);
dlg.setNameFilters(QStringList{} << tr("All files (*)"));
dlg.setAcceptMode(QFileDialog::AcceptOpen);
+ dlg.setDirectory(lasrDir_);
// only add the files if they are newer
auto onlyIfNewerCheckbox = new QCheckBox{tr("Add only if &newer"), &dlg};
@@ -199,8 +226,9 @@ void MainWindow::on_actionAddFiles_trigg
return;
auto fileUrls = dlg.selectedFiles();
- qDebug() << "selected:" << fileUrls;
+ //qDebug() << "selected:" << fileUrls;
if(!fileUrls.isEmpty()) {
+ lasrDir_ = dlg.directory();
auto srcPaths = Fm::pathListFromQUrls(fileUrls);
archiver_->addFiles(srcPaths,
currentDirPath_.c_str(),
@@ -218,6 +246,7 @@ void MainWindow::on_actionAddFolder_trig
dlg.setFileMode(QFileDialog::Directory);
dlg.setNameFilters(QStringList{} << tr("All files (*)"));
dlg.setAcceptMode(QFileDialog::AcceptOpen);
+ dlg.setDirectory(lasrDir_);
// only add the files if they are newer
auto onlyIfNewerCheckbox = new QCheckBox{tr("Add only if &newer"), &dlg};
@@ -232,6 +261,7 @@ void MainWindow::on_actionAddFolder_trig
QUrl dirUrl = dlg.selectedFiles()[0];
if(!dirUrl.isEmpty()) {
+ lasrDir_ = dlg.directory();
auto path = Fm::FilePath::fromUri(dirUrl.toEncoded().constData());
archiver_->addDirectory(path,
currentDirPath_.c_str(),
@@ -247,7 +277,7 @@ void MainWindow::on_actionDelete_trigger
if(QMessageBox::question(this, tr("Confirm"), tr("Are you sure you want to delete selected files?"), QMessageBox::Yes|QMessageBox::No) != QMessageBox::Yes) {
return;
}
- qDebug("delete");
+ //qDebug("delete");
auto files = selectedFiles(true);
if(!files.empty()) {
archiver_->removeFiles(files, FR_COMPRESSION_NORMAL);
@@ -259,7 +289,7 @@ void MainWindow::on_actionSelectAll_trig
}
void MainWindow::on_actionExtract_triggered(bool /*checked*/) {
- qDebug("extract");
+ //qDebug("extract");
ExtractFileDialog dlg{this};
auto files = selectedFiles(true);
@@ -312,6 +342,62 @@ void MainWindow::on_actionExtract_trigge
}
}
+void MainWindow::tempExtractCurFile(bool launch) {
+ launchPath_.clear();
+ if(tempDir_.isEmpty()) {
+ return;
+ }
+ if(auto selModel = ui_->fileListView->selectionModel()) {
+ QModelIndex idx = selModel->currentIndex();
+ auto item = itemFromIndex(idx);
+ if(item && !item->isDir()) {
+ const QString fileName = tempDir_ + item->fullPath();
+ if(QFile::exists(fileName)) { // already extracted under tmp
+ if(launch) {
+ Fm::FilePathList paths;
+ paths.push_back(Fm::FilePath::fromLocalPath(fileName.toLocal8Bit().constData()));
+ Fm::FileLauncher().launchPaths(nullptr, std::move(paths));
+ }
+ return;
+ }
+
+ if (launch) {
+ launchPath_ = fileName;
+ }
+
+ QString dest = tempDir_;
+ QDir dir(tempDir_);
+ const QString curDirPath = QString::fromStdString(currentDirPath_);
+ if(curDirPath.contains("/")) {
+ dest = tempDir_ + "/" + curDirPath.section("/", 0, -2);
+ dir.mkpath(dest); // also creates "dir" if needed
+ }
+ else if(!dir.exists()) {
+ dir.mkpath(tempDir_);
+ }
+
+ if(archiver_->isEncrypted() && password_.empty()) {
+ password_ = PasswordDialog::askPassword(this).toStdString();
+ }
+ auto destDir = Fm::FilePath::fromLocalPath(dest.toLocal8Bit().constData());
+ std::vector<const FileData*> files;
+ files.emplace_back(item->data());
+ archiver_->extractFiles(files,
+ destDir,
+ currentDirPath_.c_str(),
+ false,
+ false,
+ false,
+ password_.empty() ? nullptr : password_.c_str()
+ );
+ }
+ }
+}
+
+void MainWindow::on_actionView_triggered(bool /*checked*/) {
+ tempExtractCurFile(true);
+}
+
void MainWindow::on_actionTest_triggered(bool /*checked*/) {
if(archiver_->isLoaded()) {
archiver_->testArchiveIntegrity(nullptr);
@@ -379,11 +465,20 @@ void MainWindow::onFileListSelectionChan
}
void MainWindow::onFileListContextMenu(const QPoint &pos) {
+ if(auto selModel = ui_->fileListView->selectionModel()) {
+ QModelIndex idx = selModel->currentIndex();
+ auto item = itemFromIndex(idx);
+ ui_->actionView->setVisible(item && !item->isDir());
+ }
// QAbstractScrollArea and its subclasses map the context menu event to coordinates of the viewport().
auto globalPos = ui_->fileListView->viewport()->mapToGlobal(pos);
popupMenu_->popup(globalPos);
}
+void MainWindow::onFileListDoubleClicked(const QModelIndex & /*index*/) {
+ tempExtractCurFile(true);
+}
+
void MainWindow::onFileListActivated(const QModelIndex &index) {
auto item = itemFromIndex(index);
if(item && item->isDir()) {
@@ -408,11 +503,11 @@ void MainWindow::onActionStarted(FrActio
progressBar_->show();
progressBar_->setFormat(tr("%p %"));
- qDebug("action start: %d", action);
+ //qDebug("action start: %d", action);
switch(action) {
case FR_ACTION_CREATING_NEW_ARCHIVE:
- qDebug("new archive");
+ //qDebug("new archive");
setFileName(archiver_->archiveDisplayName());
break;
case FR_ACTION_LOADING_ARCHIVE: /* loading the archive from a remote location */
@@ -463,16 +558,16 @@ void MainWindow::onActionFinished(FrActi
setBusyState(false);
progressBar_->hide();
- qDebug("action finished: %d", action);
+ //qDebug("action finished: %d", action);
switch(action) {
case FR_ACTION_LOADING_ARCHIVE: /* loading the archive from a remote location */
- qDebug("finish! %d", action);
+ //qDebug("finish! %d", action);
break;
case FR_ACTION_CREATING_NEW_ARCHIVE: // same as listing empty content
case FR_ACTION_CREATING_ARCHIVE: /* creating a local archive */
case FR_ACTION_LISTING_CONTENT: /* listing the content of the archive */
- qDebug("content listed");
+ //qDebug("content listed");
// content dir list of the archive is fully loaded
updateDirTree();
@@ -504,6 +599,14 @@ void MainWindow::onActionFinished(FrActi
archiver_->reloadArchive(nullptr);
break;
case FR_ACTION_EXTRACTING_FILES: /* extracting files */
+ if(!launchPath_.isEmpty()) {
+ if(!err.hasError() && QFile::exists(launchPath_)) {
+ Fm::FilePathList paths;
+ paths.push_back(Fm::FilePath::fromLocalPath(launchPath_.toLocal8Bit().constData()));
+ Fm::FileLauncher().launchPaths(this, std::move(paths));
+ }
+ launchPath_.clear();
+ }
break;
case FR_ACTION_COPYING_FILES_TO_REMOTE: /* copying extracted files to a remote location */
break;
@@ -613,7 +716,7 @@ void MainWindow::showFileList(const std:
if(currentDirItem_) {
auto parent = archiver_->parentDir(currentDirItem_);
if(parent) {
- qDebug("parent: %s", parent ? parent->fullPath() : "null");
+ //qDebug("parent: %s", parent ? parent->fullPath() : "null");
auto parentRow = createFileListRow(parent);
parentRow[0]->setText("..");
model->appendRow(parentRow);
@@ -711,7 +814,7 @@ std::vector<const FileData*> MainWindow:
// FIXME: the old code uses FileData here. Later we should all use ArchiveItem instead.
for(auto& item: items) {
if(item->data()) {
- qDebug("SEL: %s", item->fullPath());
+ //qDebug("SEL: %s", item->fullPath());
results.emplace_back(item->data());
}
}
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -72,10 +72,12 @@ private Q_SLOTS:
void on_actionExtract_triggered(bool checked);
+ void on_actionView_triggered(bool checked);
+
void on_actionTest_triggered(bool checked);
void on_actionPassword_triggered(bool checked);
-
+
void on_actionDirTree_toggled(bool checked);
void on_actionDirTreeMode_toggled(bool checked);
@@ -94,6 +96,8 @@ private Q_SLOTS:
void onFileListContextMenu(const QPoint &pos);
+ void onFileListDoubleClicked(const QModelIndex &index);
+
void onFileListActivated(const QModelIndex &index);
private Q_SLOTS:
@@ -137,7 +141,9 @@ private:
const ArchiverItem* itemFromIndex(const QModelIndex& index);
QModelIndex indexFromItem(const QModelIndex& parent, const ArchiverItem* item);
-
+
+ void tempExtractCurFile(bool launch);
+
private:
std::unique_ptr<Ui::MainWindow> ui_;
std::shared_ptr<Archiver> archiver_;
@@ -153,6 +159,10 @@ private:
bool encryptHeader_;
bool splitVolumes_;
unsigned int volumeSize_;
+
+ QString tempDir_;
+ QString launchPath_;
+ QUrl lasrDir_;
};
#endif // MAINWINDOW_H
--- a/src/mainwindow.ui
+++ b/src/mainwindow.ui
@@ -410,6 +410,11 @@
<string>Filename &amp;Encoding</string>
</property>
</action>
+ <action name="actionView">
+ <property name="text">
+ <string>&amp;View Current Item</string>
+ </property>
+ </action>
</widget>
<resources/>
<connections>
--- a/src/progressdialog.cpp
+++ b/src/progressdialog.cpp
@@ -45,7 +45,7 @@ void ProgressDialog::reject() {
}
void ProgressDialog::onProgress(double fraction) {
- qDebug("progress: %lf", fraction);
+ //qDebug("progress: %lf", fraction);
if(fraction < 0.0) {
// negative progress indicates that progress is unknown
ui_->progressBar->setRange(0, 0); // set it to undertermined state
@@ -60,7 +60,7 @@ void ProgressDialog::onFinished(FrAction
}
void ProgressDialog::onMessage(QString msg) {
- qDebug("progress: %s", msg.toUtf8().constData());
+ //qDebug("progress: %s", msg.toUtf8().constData());
ui_->message->setText(msg);
}
@@ -69,7 +69,7 @@ void ProgressDialog::onStoppableChanged(
}
void ProgressDialog::onWorkingArchive(QString filename) {
- qDebug("progress: %s", filename.toUtf8().constData());
+ //qDebug("progress: %s", filename.toUtf8().constData());
ui_->currentFile->setText(filename);
}

10
debian/rules vendored

@ -1,12 +1,11 @@
#!/usr/bin/make -f #!/usr/bin/make -f
# export DH_VERBOSE=1
export DH_VERBOSE = 1 export LC_ALL=C.UTF-8
export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-format export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-format
export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%: %:
dh $@ dh ${@} --buildsystem cmake
override_dh_missing: override_dh_missing:
dh_missing --fail-missing dh_missing --fail-missing
@ -14,4 +13,5 @@ override_dh_missing:
override_dh_auto_configure: override_dh_auto_configure:
dh_auto_configure -- \ dh_auto_configure -- \
-DUPDATE_TRANSLATIONS=OFF \ -DUPDATE_TRANSLATIONS=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_7Z=ON

@ -0,0 +1,12 @@
# For more information on what jobs are run see:
# https://salsa.debian.org/salsa-ci-team/pipeline
#
# To enable the jobs, go to your repository (at salsa.debian.org)
# and click over Settings > CI/CD > Expand (in General pipelines).
# In "Custom CI config path" write debian/salsa-ci.yml and click
# in "Save Changes". The CI tests will run after the next commit.
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml

@ -0,0 +1,2 @@
# This is expected
lxqt-archiver source: very-long-line-length-in-source-file * > 512 [src/lxqt-archiver.desktop.in:*]

@ -0,0 +1 @@
tar-ignore=.gitignore

@ -0,0 +1,5 @@
Name: lxqt-archiver
Bug-Database: https://github.com/lxqt/lxqt-archiver/issues
Bug-Submit: https://github.com/lxqt/lxqt-archiver/issues/new
Changelog: https://github.com/lxqt/lxqt-archiver/blob/master/CHANGELOG
Repository: https://github.com/lxqt/lxqt-archiver

@ -1,50 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
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
=h7ww NLJtd3SsRjc7ICtGdCvej59IvCDTjxtkhx5okF03APi1aXpHQrE18/arFD7BpoGO
sw==
=gSIv
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----

6
debian/watch vendored

@ -1,3 +1,5 @@
version=4 version=4
opts="pgpsigurlmangle=s/$/.asc/" \ opts="searchmode=plain, \
https://github.com/lxqt/lxqt-archiver/releases .*/lxqt-archiver-([\d\.]+).tar.xz pgpsigurlmangle=s/$/.asc/, \
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
https://api.github.com/repos/lxqt/@PACKAGE@/releases https:\/\/github.com\/lxqt\/@PACKAGE@\/releases\/download\/@ANY_VERSION@\/@PACKAGE@-@ANY_VERSION@.tar.xz

Loading…
Cancel
Save