1. 08 Jul, 2016 1 commit
    • Ragnar Thomsen's avatar
      Reset comment widget when opening an archive · 0505b346
      Ragnar Thomsen authored
      When creating a new archive from an Ark instance where an archive with
      comment already is opened, the comment widget from the previous archive
      remains visible. This is now fixed by clearing and hiding the
      QPlaintTextEdit in beginning of Part::openFile().
      Part::slotCommentChanged() gets called when calling
      QPlainTextEdit::clear(), so to avoid a segfault we need to check for an
      invalid m_model.archive() and in that case return.
      Differential Revision: D2114
  2. 07 Jul, 2016 1 commit
    • Elvis Angelaccio's avatar
      Port to kcoreaddons_add_plugin · 5d133a92
      Elvis Angelaccio authored
      We use this cmake function to install our plugins. For the kerfuffle ones, we
      also define a cmake wrapper that calls this function and also links to the
      kerfuffle library.
      Differential Revision: D2113
  3. 01 Jul, 2016 1 commit
  4. 28 Jun, 2016 1 commit
  5. 23 Jun, 2016 1 commit
  6. 19 Jun, 2016 1 commit
    • Ragnar Thomsen's avatar
      Add support for LZ4-compressed tar archives · 88ad5a0e
      Ragnar Thomsen authored
      The recently released libarchive 3.2.0 adds support for LZ4-compression.
      We utilize this to enable support for LZ4-compressed tarballs in
      Libarchive requires the lz4 executable to be found in path.
      cmake < 3.6 is not able to detect version number of libarchive 3.2 and
      therefore LZ4-support will not be enabled for older cmake versions, even
      though libarchive 3.2 is installed.
      Differential Revision: D1821
  7. 18 Jun, 2016 1 commit
  8. 13 Jun, 2016 6 commits
  9. 12 Jun, 2016 3 commits
    • Ragnar Thomsen's avatar
      Remove X-KDE-Kerfuffle-APIRevision property from desktop file · 8bbb3628
      Ragnar Thomsen authored
      The property is unused since commit a040f885.
    • Ragnar Thomsen's avatar
      Cleanup plugin json files · a040f885
      Ragnar Thomsen authored
      Remove unused fields from the plugin json files (Authors, License,
      Website and X-KDE-Kerfuffle-APIRevision). The fields have not been
      updated for ages. The license and authors information is available in
      the .cpp and .h files.
      The plugin version is now set to follow Ark version and gets
      auto-updated by CMake.
      Differential Revision: D1828
    • Elvis Angelaccio's avatar
      Stop hardcoding the mimetypes in the json metadata · d4755582
      Elvis Angelaccio authored
      This will allow us to configure the supported mimetypes at build time (e.g.
      depending on the libarchive version we are building against). We also don't
      need anymore the check for mimetypes in two different places.
      Differential Revision: D1822
  10. 10 Jun, 2016 2 commits
    • Elvis Angelaccio's avatar
      GIT_SILENT Update HACKING file · c347405a
      Elvis Angelaccio authored
      Better documentation about how to do a merge.
    • Elvis Angelaccio's avatar
      Add new jobs to preview/open a file · 41b25127
      Elvis Angelaccio authored
      The goal of task T916 is to stop disabling the Part UI while extracting an
      entry. To do so, we need first to make sure that no race condition would occur
      if extracting two or more entries in parallel.
      A race condition might occur in Part::slotOpenExtractedEntry(), where
      m_openFileMode is a global member that could be accessed concurrently between
      different threads. We can stop using this variable if we introduce dedicated
      jobs for preview/opening of files. This way we can simply do a dynamic_cast on
      the local job variable, to check whether the user wants to open or open-with
      the file.
      Preview is totally unrelated so it can be moved into a different slot. We can
      also make sure that the PreviewJob deletes the temporary directory upon
      Differential Revision: D1749
  11. 09 Jun, 2016 2 commits
    • Elvis Angelaccio's avatar
      Merge branch 'Applications/16.04' · 3dccd031
      Elvis Angelaccio authored
    • Elvis Angelaccio's avatar
      Fix crash with blocking Open dialog · 0d16e7d0
      Elvis Angelaccio authored
      `QDialog::exec()` is bad and should not be used unless strictly necessary.
      The exec() call is blocking and anything can happen before it returns to the caller.
      The old workaround is to use a `QPointer` to guard the dialog.
      Yet there is a crash when calling `QCoreApplication::quit()` via dbus while the dialog is open.
      The proper fix is to call the dialog in a non-blocking way. Nowadays this is trivial thanks to C++11 lambdas.
      Differential Revision: D1786
  12. 07 Jun, 2016 1 commit
  13. 06 Jun, 2016 2 commits
  14. 05 Jun, 2016 3 commits
    • Elvis Angelaccio's avatar
      Merge branch 'Applications/16.04' · 6f768813
      Elvis Angelaccio authored
      This adapts the patch in D1725 to our new PluginManager class.
      CCBUG: 363717
    • Elvis Angelaccio's avatar
      Fix opening of files whose mimetype inherits from a supported mimetype · 8b9cd300
      Elvis Angelaccio authored
      Before 16.04 Ark used to be able to open files whose mimetype is not directly
      registered with Ark, but inherits from a mimetype that is supported by Ark.
      Examples are .odt and .epub files that both inherits from application/zip.
      Since we don't use anymore KMimeTypeTrader (since 16.04), we need to manually
      do this check while loading our plugins.
      BUG: 363717
      FIXED-IN: 16.04.2
      Differential Revision: D1725
    • Elvis Angelaccio's avatar
      Port service menus to KFileItemAction · c369264d
      Elvis Angelaccio authored
      The Compress and Extract service menus shown in Dolphin's context menu are now
      provided by two new KFileItemAction plugins. This allows us to do a lot of
      useful checks before actually showing the actions in the context menu.
      We can also stop hardcoding the supported mimetypes for the Extract
      menu. This is actually required in order to support the Extract menu when more
      than one archive is selected. In this case Dolphin sends to the kfileitemaction
      plugins the
      generic 'application/octet-stream' mimetype, so we have to manually check
      anyway the mimetype of any given URL (to be sure that Ark supports it).
      This also paves the way to dynamically generate the service menus (e.g. based
      on some kind of user preset).
      BUG: 189177
      BUG: 268163
      FIXED-IN: 16.08.0
      CCBUG: 348582
      Differential Revision: D1761
  15. 02 Jun, 2016 3 commits
    • Elvis Angelaccio's avatar
      Cache the detected archive mimetype · 65895fc6
      Elvis Angelaccio authored
      Archive::mimeType() is frequently called (i.e. every time that in the view the selected
      entry changes), so this saves some computation and reduces the amount of noisy
      debug output.
    • Elvis Angelaccio's avatar
      Merge branch 'Applications/16.04' · f8621b09
      Elvis Angelaccio authored
      * Applications/16.04:
        Don't tell kioexec to autodelete our temp files
    • Elvis Angelaccio's avatar
      Don't tell kioexec to autodelete our temp files · 4318ac1b
      Elvis Angelaccio authored
      When opening-with an entry we currently tell kioexec to autoremove the given
      URL, but we actually remove this file in the Part destructor.
      This results in kioexec sleeping for 3 minutes and then displaying an annoying
      'about to delete <URL>' message, if Ark is started from terminal.
  16. 01 Jun, 2016 4 commits
    • Elvis Angelaccio's avatar
      Remove RootNodeSwitch leftovers · 4da52b6a
      Elvis Angelaccio authored
      This should have been part of commit 27e5167b.
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 4085e247
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
    • Elvis Angelaccio's avatar
      Fix non-resizable infopanel when symlinks have a long target · e0429552
      Elvis Angelaccio authored
      When a symbolic link points to an entry with a long filename, the infopanel
      takes almost all available horizontal space and, even worse, cannot be resized.
      This is because there is a single QLabel with a multi-line text, one of which
      is the symlink's target. This patch replaces this label with a vertical
      layout containing different labels. The targetLabel is now a KSqueezedTextLabel so
      that a long target name won't mess up anymore the infopanel size.
      BUG: 363719
      FIXED-IN: 16.08.0
      Differential Revision: D1728
    • 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
  17. 31 May, 2016 3 commits
  18. 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.
  19. 28 May, 2016 2 commits
  20. 27 May, 2016 1 commit