1. 01 Jun, 2016 1 commit
    • Elvis Angelaccio's avatar
      Drop RootNode extraction option · 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
      27e5167b
  2. 31 May, 2016 3 commits
  3. 29 May, 2016 1 commit
    • Elvis Angelaccio's avatar
      Drop kerfuffle_macro.h · e7f6909b
      Elvis Angelaccio authored
      This file used to define a wrapper macro for K_PLUGIN_FACTORY,
      but nowadays we use K_PLUGIN_FACTORY_WITH_JSON.
      
      Closes T2118.
      e7f6909b
  4. 28 May, 2016 2 commits
  5. 27 May, 2016 3 commits
  6. 22 May, 2016 1 commit
  7. 15 May, 2016 1 commit
    • Elvis Angelaccio's avatar
      Fix i18n for edit-comment action · 6b9bc44d
      Elvis Angelaccio authored
      - add context to explain that 'Edit Comment' and 'Add Comment' are mutually
        exclusive
      - use 'Add Comment' as default text when no archive is loaded
      6b9bc44d
  8. 08 May, 2016 1 commit
    • Michael Pyne's avatar
      Make static analyzer happy about uninit variables. · 5d10d446
      Michael Pyne authored
      Coverity complains about an index being unset (CID 1356740). While I'm
      pretty sure this is a false positive given the code path in question
      there's no performance reason not to set the index here.
      
      While I was at it, I also fixed a GCC warning about a separate
      "potentially uninitialized" variable. Again seems to be a false positive
      (unless an extract operation starts somehow already marked to abort) but
      fixing anyways. I chose ARCHIVE_RETRY to hint to *not* abort the
      operation if this does somehow make it into error path.
      5d10d446
  9. 07 May, 2016 1 commit
    • Ragnar Thomsen's avatar
      Add XAR support · 5dff013d
      Ragnar Thomsen authored
      Enable read-only XAR support in libarchiveplugin. The XAR mimetype was
      added in shared-mime-info 1.6 released in February 2016, so we install
      the mimetype ourselves in case the user is running an older version than
      1.6.
      
      FEATURE: 346342
      FIXED-IN: 16.08.0
      Differential Revision: D1551
      5dff013d
  10. 06 May, 2016 3 commits
  11. 05 May, 2016 3 commits
  12. 03 May, 2016 4 commits
    • Elvis Angelaccio's avatar
      Fix Delete action on header-encrypted archives · 7addb6b7
      Elvis Angelaccio authored
      Forward-port of cdcd6c13.
      7addb6b7
    • Elvis Angelaccio's avatar
      Fix Delete action on header-encrypted archives · 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.
      cdcd6c13
    • Elvis Angelaccio's avatar
      cliinterface: rename failOperation() to killProcess() · ac2dbbac
      Elvis Angelaccio authored
      The failOperation() function is confusing, since it just calls doKill().
      We can rename it to a function that actually kills the process and
      that may or may not cause the finished() signal to be emitted.
      
      Differential Revision: D1521
      ac2dbbac
    • Ragnar Thomsen's avatar
      Add basic test functionality · 13d70a48
      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
      13d70a48
  13. 02 May, 2016 5 commits
    • Elvis Angelaccio's avatar
      Fix plugin loading in plugins tests · 8f652a39
      Elvis Angelaccio authored
      KPluginLoader will always find kerfuffle plugins in the system plugin path,
      even if QT_PLUGIN_PATH is set to a custom location. This means that in the
      plugins test, the loaded plugin will be the system one (because it comes later
      in the list of plugins), possibly resulting in an invalid plugin factory and a skipped test.
      
      This patch "gives higher priority" to the plugins found in $QT_PLUGIN_PATH,
      ignoring the one in the system path and fixing this issue.
      8f652a39
    • Elvis Angelaccio's avatar
      GIT_SILENT Update HACKING file · 411e5f38
      Elvis Angelaccio authored
      411e5f38
    • Vladyslav Batyrenko's avatar
      Drop unused functions in CliInterface · 8db338b5
      Vladyslav Batyrenko authored
      These functions were removed with commit ba150aa6 and have been unused since
      then.
      
      Differential Revision: D1526
      Closes T2388 as resolved.
      8db338b5
    • Elvis Angelaccio's avatar
      Drop CliInterface::isCliBased() · c090e935
      Elvis Angelaccio authored
      The only reason why we needed to know whether an interface is CLI-based was to
      check whether the executables needed by the cliplugins were available.
      
      This check is now done in the Plugin class, so we can drop this function.
      c090e935
    • Elvis Angelaccio's avatar
      GIT_SILENT Add README file · 848d4ec4
      Elvis Angelaccio authored
      848d4ec4
  14. 30 Apr, 2016 4 commits
    • Ragnar Thomsen's avatar
      Add support for editing/adding archive comments · 04d56afa
      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
      04d56afa
    • Elvis Angelaccio's avatar
      Find and link Qt5 Concurrent module · a2a17102
      Elvis Angelaccio authored
      Qt5 Concurrent is a separate module, so we need to find it and link to it.
      This way we can #include <QtConcurrentRun> without hardcoding the module name.
      
      Most distros include this module in their "basic" qt5 package (e.g. qt5-base on
      Archlinux), so this is not really a bug.
      a2a17102
    • Ragnar Thomsen's avatar
      Ask password when adding files to protected archive · cbea04af
      Ragnar Thomsen authored
      Previously, when opening a non-headerencrypted password protected
      archive and adding files to it, the files would be added unprotected.
      
      This commit checks if archive is password-protected and if stored
      password is empty. If that's the case, the user is queried for a
      password. Currently, it is not possible to check if the entered password
      is the same as the one used to create the archive originally, so there
      exists a possibility for individual files in the archive having
      different passwords. This will be addressed in a separate patch.
      
      Differential Revision: D1508
      cbea04af
    • Elvis Angelaccio's avatar
      Don't block the main thread while running CliInterface jobs · 074d5277
      Elvis Angelaccio authored
      Currently we freeze the GUI thread while running CliInterface jobs,
      because there is a nested event loop in runProcess(),
      which doesn't run anymore in a separate thread.
      
      We can simply drop this event loop and rework the CliInterface logic,
      such that the emit signal is not emitted anymore when runProcess() returns,
      but in processFinished() instead.
      
      This exposed a crash when closing the main window while a pending job was
      running. The fix is simply to not emit finished() if the m_abortingOperation
      flag is set.
      
      BUG: 222392
      FIXED-IN: 16.08.0
      
      CCBUG: 193908
      
      Differential Revision: D1510
      074d5277
  15. 28 Apr, 2016 6 commits
    • Elvis Angelaccio's avatar
      Merge branch 'Applications/16.04' · c4dd0e41
      Elvis Angelaccio authored
      * Applications/16.04:
        Auto delete ListJobs
        libarchive: fix wrong order in initializer list
        GIT_SILENT Upgrade KDE Applications version to 16.04.1.
        clizip: Fix error in multi-vol zips being displayed as comment
      c4dd0e41
    • Elvis Angelaccio's avatar
      Auto delete ListJobs · 72a46a21
      Elvis Angelaccio authored
      Commit 8c21ca3a broke the preview/opening of files. This is actually due to
      ListJobs not autodeleting themeselves upon completion. This was introduced by
      commit 4b67603d to fix bug 217836, which doesn't seem reproducible nowadays.
      
      Even if it was, we would need a better fix, because this line is causing also
      different issues on master (where we now run CliInterface from the main
      thread).
      
      CCBUG: 217836
      
      Task: T2374
      72a46a21
    • Elvis Angelaccio's avatar
      GIT_SILENT Fix typo · ef6ac518
      Elvis Angelaccio authored
      spotted by krazy.
      ef6ac518
    • Elvis Angelaccio's avatar
      GIT_SILENT krazy: silence crash warnings · 4c83f74f
      Elvis Angelaccio authored
      krazy thinks that local event loops are modal dialogs, but they are not.
      4c83f74f
    • Elvis Angelaccio's avatar
      libarchive: fix wrong order in initializer list · 765202c1
      Elvis Angelaccio authored
      This silences the -Wreorder gcc warnings
      765202c1
    • Elvis Angelaccio's avatar
      metadatatest: allow multiple Ark installations · 870181d4
      Elvis Angelaccio authored
      If one has multiple ark installations (e.g. one from distro repos and another
      one in a custom directory), the number of installed plugins will be a multiple
      of the expected number of plugins and the test will fail.
      
      The test is now adjusted for this case.
      870181d4
  16. 27 Apr, 2016 1 commit