- 17 Jul, 2016 1 commit
-
-
Ragnar Thomsen authored
-
- 16 Jul, 2016 1 commit
-
-
Ragnar Thomsen authored
Two variables were added to ReadOnlyArchiveInterface: A boolean describing whether the archive is multi-volume and an int used for storing number of volumes. Two corresponding Q_PROPERTY's were added to Archive which fetch the info from ReadOnlyArchiveInterface. The detection of multi-volume archives was fixed in cli7z. The information is displayed in PropertiesDialog and will be used when implementing support for creating multi-volume archives. GUI:
-
- 01 Jun, 2016 2 commits
-
-
Elvis Angelaccio authored
This should have been part of commit 27e5167b.
-
Elvis Angelaccio authored
We never set this option and because of this there is a lot of unused code (e.g. all the `RootNodeSwitch` stuff). Digging in the history, the last time that this option was set was in commit 10bc72f4. This means that this option is fully superseded by `fileNodeRootPair` and we can safely discard all this unused code. Closes T1942 Differential Revision: D1704
-
- 03 May, 2016 3 commits
-
-
Elvis Angelaccio authored
Forward-port of cdcd6c13.
-
Elvis Angelaccio authored
Ark was ignoring the password prompt, resulting in an endless DeleteJob. This is simply fixed by using the PasswordSwitch, like in other jobs.
-
Ragnar Thomsen authored
Add a TestJob and associated action in Part. Test functionality is enabled in plugin json files, currently for clizip, clirar and cli7z. Test results are displayed simply as success/failure in a KMessageBox. Testing password-protected archives will currently result in an errorbox, due to these archives potentially having different passwords for each file and hence multiple password prompts might pop up. Libarchive does not support testing archives. FEATURE: 140492 FIXED-IN: 16.08.0 Differential Revision: D1516
-
- 30 Apr, 2016 1 commit
-
-
Ragnar Thomsen authored
Support was added for editing comments in supported archive types (currently only RAR). A new bool was added to plugin json files ("SupportsWriteComment") to indicate support. A new action was added and is found in Archive menu. The editing of comment is done in the same QPlainTextEdit used to display comments before. When user modifies comment, a KMessageWidget pops up with a "Save" button. Actual saving of comment to archive is achieved by a new job type: CommentJob. FEATURE: 357594 FIXED-IN: 16.08.0 GUI: Differential Revision: D1493
-
- 07 Apr, 2016 1 commit
-
-
Ragnar Thomsen authored
Support for passing compression level was implemented for the cli-based plugins. The user-interface elements to actually set the level are not yet in place. Differential Revision: D1268
-
- 20 Mar, 2016 1 commit
-
-
Ragnar Thomsen authored
Previously, Ark didn't handle "no space left" error messages from the cliplugins. This resulted in either the gui being "busy" continously (clizip), or that the user didn't get any indication that there was a problem extracting the archive (cli7z and clirar). This commit adds a pattern (DiskFullPatterns) for catching these errors. An errorbox is then displayed to the user. Some of the programs used in the cliplugins, such as 7z v9.38, doesn't output a specific message, but then a generic "Extraction failed" message is displayed instead. BUG: 206383, 206385 FIXED-IN: 16.04.0 Differential Revision: D455
-
- 08 Mar, 2016 1 commit
-
-
Elvis Angelaccio authored
The ark plugins are now ported to the new KPluingLoader loading mechanism. The main advantage is that we now save a call to the Syscoca service trader, since the plugins are installed in a private 'kerfuffle' subdirectory of the system plugins folder. In order to be found by KPluginLoader, a plugin has to embed its metadata defined in a .json file. We convert the existing .desktop files to .json at build time, when possible. Otherwise we use directly .json metadata files (e.g. for clirar or cliunarchiver). The libarchive plugin had to be split in two different plugins, one for the read-only mimetypes and another one for the read-write ones. This is because the old plugin was using two .desktop files, but the new plugins can only embed a single .json file. For more details, see task T923 on phabricator.
-
- 17 Dec, 2015 1 commit
-
-
Xuetian Weng authored
REVIEW: 126360
-
- 27 Oct, 2015 1 commit
-
-
Laurent Montel authored
-
- 26 Oct, 2015 1 commit
-
-
Ragnar Thomsen authored
The overwrite prompt changed from p7zip version 9.38.1 to 15.09. Add support for the new prompt. FileExistsExpression had to be changed from QString to QStringList. Also, got rid of unneeded CliInterface::checkForFileExistsMessage(). Just use CliInterface::checkForErrorMessage() instead.
-
- 15 Oct, 2015 1 commit
-
-
Ragnar Thomsen authored
This macro was introduced in ECM 5.14.0 and generates logging category declarations. This removes the necessity of Q_LOGGING_CATEGORY calls in cpp files. A header with Q_DECLARE_LOGGING_CATEGORY is automatically generated, so the old logging.h file can be removed. Also the identifier is now ARK everywhere, so all qCDebug() should be qCDebug(ARK). This bumps the required dep version for ECM to 5.14.0.
-
- 04 Oct, 2015 1 commit
-
-
Ragnar Thomsen authored
A new parameter was added to the Kerfuffle::CliInterfaceParameters enum (called CorruptArchivePatterns), containing a list of regexps matching output from CliPlugins when a corrupt archive is listed. Due to the CliInterface not being able to launch a KMessageBox itself, a query (LoadCorruptQuery) was added which launches a KMessageBox::warningYesNo asking the user if he wants to try to load the corrupt archive. This is useful because some files might still be recoverable. If the user answers no, loading of the archive is cancelled. If the user answers yes the archive is loaded as usual, but to prevent the user from trying to add/delete files from the corrupt archive (which is likely to fail), the archive is set to readonly. This necessitated a new private member in ReadOnlyArchiveInterface (m_isCorrupt) and getter/setter functions. The setter function is used in CliInterface::HandleLine, while the getter function is used in ReadWriteArchiveInterface::isReadOnly(). BUG: 261073 BUG: 352949 FIXED-IN: 15.12.0 REVIEW: 125363
-
- 23 Sep, 2015 2 commits
-
-
Ragnar Thomsen authored
Detect solid and multi-volume archives. For now, just store this info in member variables and output to debug. Remove some superfluous m_isUnrar5 checks. For unrar 5, go back to ParseStateHeader when finding a line that starts with "Archive: ". This is needed for multi-volume archives.
-
Ragnar Thomsen authored
This function is overridden in the individual CliPlugins and resets parsing variables, such as ParseState, m_comment, etc. This is needed because an archive can be listed several times without the plugin being reloaded, e.g. after adding files. This can result in e.g. comments being appended to themselves or parsing being started in the wrong ParseState. resetParsing() is called in CliInterface::list(), before running the list process.
-
- 22 Sep, 2015 1 commit
-
-
Ragnar Thomsen authored
Unrar 4 prints "Solid archive" instead of just "Archive" for solid archives, i.e. archives compressed as a single continous data block (compressing with the -s switch).
-
- 13 Sep, 2015 1 commit
-
-
Ragnar Thomsen authored
readListLine() is now very short. It simply checks the version of unrar and calls line-handling functions specific for unrar 3/4 and 5 termed handleUnrar4Line() and handleUnrar5Line(), respectively. When the line-handling functions have completed parsing all the details of an archive entry, they call an entry-handling function, either handleUnrar4Entry() or handleUnrar5Entry(). BUG: 331065 FIXED-IN: 15.12.0 REVIEW: 124503
-
- 08 Sep, 2015 1 commit
-
-
Ragnar Thomsen authored
The overwrite prompt changed in unrar 5 compared to unrar 3 and 4. This commit adds support for the unrar 5 prompt. Unrar 5 has a multi-line overwrite prompt, i.e. the last line of the overwrite prompt does not contain the name of the existing file, which is needed by the OverwriteQuery to display the filename to the user. This was solved by storing the filename in a member variable m_storedFileName, so it is available when the last line of the overwrite prompt is reached. To capture the filename, a new parameter, FileExistsFileName, was added to the CliInterfaceParameters enum. 7z also has a multi-line overwrite prompt, so previously the filename was not displayed in the OverwriteQuery dialog. This is now fixed. BUG: 349131 FIXED-IN: 15.08.1 REVIEW: 124111
-
- 22 Aug, 2015 1 commit
-
-
Ragnar Thomsen authored
This is recommended by krazy2.
-
- 27 Jul, 2015 1 commit
-
-
Ragnar Thomsen authored
unrar-free is unmaintained and is far from feature-parity with "non-free" unrar. Additionally, Ark's support for unrar-free has been broken for a while. Official website for unrar-free: https://gna.org/projects/unrar/
-
- 26 Jul, 2015 1 commit
-
-
Ragnar Thomsen authored
Remove noisy debug output, e.g. from clirar that gets emitted for each entry in an archive. This clutters the console output with alot of not-so-useful info.
-
- 22 Jul, 2015 1 commit
-
-
Elvis Angelaccio authored
This feature allows Ark to create a password-protected archive from scratch. The 7z and rar plugins support both header encryption and entries-only encryption, while the zip one supports only the latter. An encrypted archive can be created through the CreateDialog (within Ark) or through the AddDialog (from e.g. Dolphin). REVIEW: 120204 FEATURE: 253694 FIXED-IN: 15.08 GUI:
-
- 18 May, 2015 1 commit
-
-
Ragnar Thomsen authored
Use QLoggingCategory for output/logging. Four categories are defined: main, kerfuffle, kerfuffle_plugins and part. By default only qWarning and higher are output to terminal. To enable qDebug output, set the environment variable QT_LOGGING_RULES=ark.*.debug=true
-
- 13 Nov, 2014 1 commit
-
-
Bhushan Shah authored
bug: 340924
-
- 10 Nov, 2014 2 commits
-
-
Andrius Štikonas authored
-
Andrius Štikonas authored
-
- 08 Nov, 2014 1 commit
-
-
Laurent Montel authored
-
- 12 Feb, 2014 1 commit
-
-
Raphael Kubo da Costa authored
RAR v3 and v4 output an extra line when an entry is a symlink. This line contains the symlink target. Since we were not accounting for this extra line before, our parser crashed. Work around the issue by checking if we're listing a symlink and skipping an extra line if so. BUG: 331065 FIXED-IN: 4.12.3
-
- 19 Sep, 2013 1 commit
-
-
Christoph Feck authored
BUG: 319303 FIXED-IN: 4.11.2 REVIEW: 111625 (cherry picked from commit 6d8bd57b)
-
- 30 Jun, 2013 1 commit
-
-
Raphael Kubo da Costa authored
It turns out there is some documentation on the RAR file format in http://www.rarlab.com/technote.htm, so it is not true that the format is undocumented. While here, use the term "service header" instead of "subheader" as in the file format documentation. It would make sense to rename the enum we use as well, but it would clobber the history and git blame without much benefit.
-
- 09 May, 2012 1 commit
-
-
Michal Sciubidlo authored
-
- 19 Apr, 2012 1 commit
-
-
Raphael Kubo da Costa authored
I have never understood why this class was added in the first place, and digging through the old commit history does not help much in this regard. It was mostly used as another way of doing signals and slots. * The calls in ArchiveInterface that called each observer method now just emit the signals declared in ReadOnlyArchiveInterface, and the observer methods in the Job classes are now slots. * ReadOnlyArchiveInterface::removeObserver() has been replaced with QObject::disconnect(). All the (few) unit tests we have still pass.
-
- 26 Dec, 2011 1 commit
-
-
Raphael Kubo da Costa authored
GIT_SILENT
-
- 26 May, 2011 1 commit
-
-
Raphael Kubo da Costa authored
The proprietary unrar program does not accept directories with a trailing slash when they are passed to it when extracting some files (think drag'n'drop). Forwardport of r1233573. CCBUG: 272281 svn path=/trunk/KDE/kdeutils/ark/; revision=1233577
-
- 24 Jan, 2011 2 commits
-
-
Raphael Kubo da Costa authored
SVN_SILENT svn path=/trunk/KDE/kdeutils/ark/; revision=1216562
-
Raphael Kubo da Costa authored
Plugins can now specify a regular expression that matches password prompts, which are now detected by CliInterface. Header-protected rar and 7z files should be working now. svn path=/trunk/KDE/kdeutils/ark/; revision=1216559
-
- 23 Jan, 2011 1 commit
-
-
Raphael Kubo da Costa authored
The pattern introduced in r1216497 is used by the RAR 4.00 betas (and will possibly be the default in the stable 4.x releases). The previous one is still valid for RAR 3.93 or earlier. Backport of r1216502. svn path=/branches/KDE/4.6/kdeutils/ark/; revision=1216503
-