1. 20 Dec, 2016 3 commits
  2. 19 Dec, 2016 2 commits
    • Ragnar Thomsen's avatar
      Fix sorting in QTreeView · 206a5eee
      Ragnar Thomsen authored
      Commit 7781d6ef broke sorting in the sense that folders are no
      longer sorted before files. This is due to KRecursiveFilterProxyModel's
      implementation of sort() being used instead of ArchiveModel's.
      
      We now subclass KRecursiveFilterProxyModel into ArchiveFilterSortModel
      so we can re-implement lessThan() and move the relevant code from
      ArchiveModel::sort().
      
      Differential Revision: D3742
      206a5eee
    • Elvis Angelaccio's avatar
      Introduce settings page to configure plugins · cdaebc21
      Elvis Angelaccio authored
      This commit adds a page in the settings dialog where the user can enable/disable
      plugins. The page contains a QTreeWidget which is not supported by
      KConfigDialog out of the box, so some glue-code is necessary to
      properly handle the Apply/Default buttons. ArkSettings stores a list of
      disabled plugins (by default, all plugins are enabled).
      If a plugin is not valid because of missing executables, the respective
      item in the view is disabled and a warning is displayed in a tooltip.
      
      Differential Revision: D3716
      Task: T1984
      GUI:
      cdaebc21
  3. 18 Dec, 2016 1 commit
  4. 17 Dec, 2016 1 commit
    • Elvis Angelaccio's avatar
      SettingsPage: add virtual slots for custom pages · 7e6080f9
      Elvis Angelaccio authored
      Two new virtual slots were added to allow custom pages to properly use a
      custom widget together with the KConfigXT framework. This also adds a
      custom KConfigDialog the emits a signal when the default button is emitted.
      
      Differential Revision: D3715
      7e6080f9
  5. 16 Dec, 2016 1 commit
    • Ragnar Thomsen's avatar
      Implement search function · 7781d6ef
      Ragnar Thomsen authored
      An action was added to Archive menu and is also shown in the default
      toolbar. The search is mediated through KRecursiveFilterProxyModel
      instead of QSortFilterProxyModel because the latter does not recurse
      nested models. This adds a new dependency on the KItemModels framework.
      
      The search is always case-insensitive.
      
      The search bar is displayed above the QTreeView and contains a close
      button. An eventfilter was installed on Part to catch the escape
      keypress to close the search bar.
      
      FEATURE: 188197
      FIXED-IN: 17.04.0
      Differential Revision: D3573
      GUI:
      7781d6ef
  6. 13 Dec, 2016 1 commit
  7. 06 Dec, 2016 2 commits
  8. 02 Dec, 2016 3 commits
  9. 01 Dec, 2016 1 commit
  10. 30 Nov, 2016 1 commit
  11. 29 Nov, 2016 10 commits
  12. 28 Nov, 2016 2 commits
  13. 27 Nov, 2016 4 commits
    • Elvis Angelaccio's avatar
      Properly kill BatchExtract jobs · 864d77f1
      Elvis Angelaccio authored
      We need to reimplement `KJob::doKill()` both in `BatchExtract` and
      `BatchExtractJob`. In the latter class we use an enum to keep track of which
      sub-job we are running and kill it when necessary.
      
      Differential Revision: https://phabricator.kde.org/D3521
      864d77f1
    • Ragnar Thomsen's avatar
      Improve ordering of encryption methods · a188149a
      Ragnar Thomsen authored
      The encryptions methods in CreateDialog were re-ordered so the strongest
      is at the top.
      
      This necessitated changing the EncryptionMethod field in the plugin json
      files from a map to an array, because QVariantMaps are always sorted by
      key.
      
      Differential Revision: D3520
      a188149a
    • Elvis Angelaccio's avatar
      Fix sizeAdjustPolicy on the combobox with the encryption methods · 3d9e4dcd
      Elvis Angelaccio authored
      We need it set to AdjustToContents instead of the default AdjustToContentsOnFirstShow.
      Otherwise `ZipCrypto` might get cropped (since the first content shows
      is `AESXXX`).
      3d9e4dcd
    • Elvis Angelaccio's avatar
      Don't show two progress bars with batch extractions · 660076c4
      Elvis Angelaccio authored
      BatchExtractJob runs a LoadJob first and an ExtractJob after, which results in two
      different progress bars in the notification tray. This patch changes how the
      percentage is computed: the first 50% is from the LoadJob, the 2nd 50% from the
      ExtractJob. This ensures that only one progress bar shows up while the wrapper job
      is running. This will only work if the interface is able to report progress for
      both LoadJobs and ExtractJobs (currently only libarchive and clirar).
      
      Differential Revision: D3518
      660076c4
  14. 26 Nov, 2016 1 commit
    • Elvis Angelaccio's avatar
      Fix percentage progress in batch extractions · 32439e4d
      Elvis Angelaccio authored
      The new BatchExtractJob needs to forward the progress() signal (emitted
      when the underlying ExtractJob runs) to its own onProgress() slot. This
      works because the archiveInterface() instance is the same for both jobs.
      32439e4d
  15. 25 Nov, 2016 1 commit
  16. 23 Nov, 2016 4 commits
  17. 22 Nov, 2016 1 commit
  18. 20 Nov, 2016 1 commit