1. 10 Jun, 2016 1 commit
    • 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
      completion.
      
      Differential Revision: D1749
      41b25127
  2. 12 Mar, 2016 2 commits
    • Elvis Angelaccio's avatar
      Don't list non-existing archives · 496b7686
      Elvis Angelaccio authored
      This issue was supposed to be fixed by commit e5fcaedc,
      but actually that patch only addressed the Archive::list() issued by the Part/ArchiveModel.
      
      This patch generalizes the check for the "private" Archive::list() calls as well.
      
      This slightly changes the expected values in the unit test for the properties of
      a non-existing archive.
      
      Differential Revision: D1133
      496b7686
    • Elvis Angelaccio's avatar
      Improve password-protection status in the properties dialog · 2dd4b816
      Elvis Angelaccio authored
      An archive could be just password-protected but also header-encrypted.
      This is now displayed to the user in the properties dialog.
      
      Differential Revision: D1124
      2dd4b816
  3. 02 Jan, 2016 1 commit
    • Elvis Angelaccio's avatar
      Don't run a ListJob when creating a new archive · e5fcaedc
      Elvis Angelaccio authored
      Currently if we create a new archive using the New action, Ark creates a
      ListJob which is obviously going to fail, since the archive does not exist yet.
      Previously Ark would just ignore such failing jobs, but with Ark 15.12 the
      clirar plugin actually parses the error message of unrar as a valid comment.
      
      We can solve the problem at the root and only run a ListJob if the archive to
      be listed actually exists.
      
      Differential Revision: D712
      e5fcaedc
  4. 18 Nov, 2015 1 commit
  5. 22 Jul, 2015 1 commit
    • Elvis Angelaccio's avatar
      Create password-protected archives with Ark · 402bbe84
      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:
      402bbe84
  6. 26 Dec, 2014 1 commit
  7. 10 Dec, 2014 1 commit
    • Jan Grulich's avatar
      Rename archive.h to archive_kerfuffle.h · 00821257
      Jan Grulich authored
      This fixes build of libarchiveplugin, where we need to compile against libarchive, but including <archive.h> always
      found kerfuffle/archive.h and there is no way how to force using /usr/include/archive.h instead.
      
      Reviewed-by: Lukáš Tinkl
      00821257
  8. 14 Oct, 2014 1 commit
  9. 26 Aug, 2012 1 commit
    • Raphael Kubo da Costa's avatar
      Use a different D-Bus object path for each Ark::Part. · c79d8db2
      Raphael Kubo da Costa authored
      So far, all Ark::Part instances used the same D-Bus object path,
      "/DndExtract", to receive drag'n'drop notifications.
      
      This does not work correctly ever since we started supporting using Ark as
      an embedded KPart (for previewing archived inside Konqueror or Rekonq, for
      example). In this case, the object path is added to the embedder (the
      `konqueror-5654' service, for example). If one previews multiple archives in
      different tabs, multiple calls to QDBusConnection::registerObject() will be
      made and only the first one will succeed, since we are always trying to
      register the same path.
      
      Fixing this involves touching separate parts of the code:
      
       o Use a different object path for each KPart instance, just like
         KateDocument or nsplugin do. We do this by keeping a static counter that
         is incremented each time a KPart is created and is part of the path name.
      
       o Use other, more specific mime types for the data we send when dragging
         out of Ark. So far we used "application/x-kde-dndextract" and passed the
         D-Bus service as its value. We now pass this value in the newly-created
         "application/x-kde-ark-dndextract-service" mime type, and the object
         path, which is now passed to ArchiveModel, in
         "application/x-kde-ark-dndextract-path".
      
       o Also use a more specific interface name in the XML file. While here,
         generate the .cpp and .h files with CMake instead of keeping these
         auto-generated files around for no purpose.
      
       o ArchiveModel::mimeTypes() has been adjusted to indicate the mime types we
         actually use on drag'n'drop. The previous list was mostly bogus, as we
         only use the mime types indicated above.
      
      As it can be seen, applications which support drag'n'drop from Ark also need
      to be adjusted to use the new D-Bus interface. Currently, the applications
      are Dolphin, the Folderview plasmoid and a Stack Folder plasmoid in
      playground. They are all going to be updated accordingly in tandem with this
      commit to both KDE/4.9 and master. Users using SVN/git directly might
      experience some trouble if they update one part but not the other, but there
      is not much we can do in this case.
      
      BUG:		304860
      FIXED-IN:	4.9.1
      c79d8db2
  10. 27 Dec, 2011 1 commit
    • Raphael Kubo da Costa's avatar
      Use a QScopedPointer to keep only one Archive instance alive at a time. · 8a3e5d96
      Raphael Kubo da Costa authored
      Even though having more than one Archive instance around is harmless, it
      wastes resources with no purpose.
      
      We thus guard the Archive pointer in Part::openFile() with a
      QScopedPointer so that if one is trying to create an archive whose type
      is read-only for Ark (ie. .gz files) and then chooses another mimetype,
      the first created instance is deleted right away, and not when
      ArchiveModel is destroyed.
      
      ArchiveModel::m_archive is now also a QScopedPointer, so that we do not
      need to manually delete the current archive when
      ArchiveModel::setArchive() is called.
      8a3e5d96
  11. 02 Jan, 2011 2 commits
    • Raphael Kubo da Costa's avatar
      Show the number of items directly under a subdirectory. · dc721717
      Raphael Kubo da Costa authored
      The "Size" column in the archive listing now shows the number of
      directories and files directly under a given directory. The info panel
      now shows the same information too.
      
      Patch by Ghislain Mary <gmary AT lunacymaze DOT org>, thanks a lot!
      
      FEATURE: 252923
      BUG: 252923
      FIXED-IN: 4.7.0
      
      svn path=/trunk/KDE/kdeutils/ark/; revision=1210921
      dc721717
    • Laurent Montel's avatar
      Remove not used variable · 4b4594b4
      Laurent Montel authored
      Don't check pointer before remove it
      
      svn path=/trunk/KDE/kdeutils/ark/; revision=1210910
      4b4594b4
  12. 31 Aug, 2010 1 commit
    • Raphael Kubo da Costa's avatar
      Fix constness of extractFile() parameters in the header file. · de71d695
      Raphael Kubo da Costa authored
      'options' is a const parameter in archivemodel.cpp, and should be so in
      the header declaration as well.
      
      This should fix compilation with Sun Studio.
      
      Patch by tropikhajma AT gmail.com, thanks!
      
      Forward-port of r1170166.
      
      CCBUG: 249552
      
      svn path=/trunk/KDE/kdeutils/ark/; revision=1170167
      de71d695
  13. 13 Apr, 2010 1 commit
    • Raphael Kubo da Costa's avatar
      Clean up Kerfuffle a little. · c24f030a
      Raphael Kubo da Costa authored
      Move BatchExtract to app, as it does not really look like
      library code, but rather application code.
      
      This, on its turn, made it sometimes necessary to fix some
      forward declarations and also made me optimize some others.
      
      svn path=/trunk/KDE/kdeutils/ark/; revision=1114210
      c24f030a
  14. 27 Jul, 2009 3 commits
  15. 23 Jul, 2009 1 commit
  16. 12 Jun, 2009 1 commit
  17. 09 May, 2009 1 commit
  18. 11 Apr, 2009 1 commit
  19. 02 Apr, 2009 2 commits
  20. 05 Jan, 2009 1 commit
  21. 26 Dec, 2008 1 commit
  22. 18 Oct, 2008 1 commit
  23. 10 Oct, 2008 2 commits
  24. 30 Aug, 2008 1 commit
  25. 21 Aug, 2008 2 commits
  26. 16 Aug, 2008 1 commit
  27. 12 Aug, 2008 1 commit
  28. 10 Aug, 2008 1 commit
  29. 08 Aug, 2008 1 commit
  30. 23 Jul, 2008 1 commit
  31. 29 Mar, 2008 1 commit
  32. 29 Jul, 2007 1 commit
  33. 22 Jul, 2007 1 commit