1. 24 May, 2019 7 commits
    • Nate Graham's avatar
      [Settings window] Cache: -> Thumbnails: · 01050b2f
      Nate Graham authored
      01050b2f
    • Tom Moebert's avatar
      Optionally use images' embedded thumbnails for greater performance, even if they're too small · 081efe6e
      Tom Moebert authored
      Summary: Only generate high resolution thumbs if the user cares to not throw them away when closing gwenview, that is when deleteThumbnailCacheOnExit() is set to false. If set to true, prefer speed over quality: always use the embedded thumbnail regardless of its size.
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: yurchor, kde-doc-english, ngraham, #gwenview
      
      Tags: #gwenview, #documentation
      
      Differential Revision: https://phabricator.kde.org/D21330
      081efe6e
    • Tom Moebert's avatar
      Accelerate thumnailgenerator when loading RAW files · a51ff704
      Tom Moebert authored
      Summary:
      This removes a useless call to QImage::loadFromData() that speeds up the thumbnail generation for RAW files. Its only purpose was to look up the size of the embedded preview image which is useless because
      
      * RAWs have an embedded thumbnail which will be preferred to the embedded preview image (provided the thumb is available and big enough), and
      * if the embedded thumbnail cannot be used, QImageReader::read() will decode the embedded preview image again, check its size, scale it, etc..
      
      Also removes a redundant comparison against `MIN_PREV_SIZE` as this is already assured with `pixelSize`.
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham, #gwenview
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D21284
      a51ff704
    • Tom Moebert's avatar
      Remove redundant QImage::loadFromData() · 53105ea9
      Tom Moebert authored
      Summary: The only purpose of this call is to check whether an embedded preview image of a RAW file is smaller than an (arbitrarily chosen) threshold. If this were true, it would be pointless to ask for an image that is only half as big as the one already retrieved.
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham, #gwenview
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D21285
      53105ea9
    • Tom Moebert's avatar
      Do not re-use previously generated thumbnails in case of error · f5b3f0d9
      Tom Moebert authored
      Summary:
      If thumbnail generation had failed for a certain image, the thumbnail from the previous successful run would have been mistakenly used.
      
      BUG: 355590
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham, #gwenview
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D21337
      f5b3f0d9
    • Jonathan Esk-Riddell's avatar
      update homepage · 59a19e8f
      Jonathan Esk-Riddell authored
      59a19e8f
    • Jonathan Esk-Riddell's avatar
      update screenshot · 653f5638
      Jonathan Esk-Riddell authored
      653f5638
  2. 23 May, 2019 1 commit
    • Tom Moebert's avatar
      Correctly crop embedded thumbs for Canon JPEGs · 6aa7a11b
      Tom Moebert authored
      Summary:
      JPEGs created by Canon Cameras have an embedded thumbnail. However only a certain area of the thumb is "valid", i.e. there are black bars on top and bottom. This change moves the thumbnail extraction logic to JpegContent and correctly crops the thumb by reading the Canon specific exif tag. The same black bars can be observed in thumbnails by Sony and Nikon. They however don't seem to provide such an exif tag, AFAIK.
      
      Also suggests to let the thumbnailgenerator use the embedded thumbnail even if applyExifOrientation() is disabled. I don't see how the original image and its embedded thumb can be rotated differently, i.e. effectively being two different images. The only purpose of applyExifOrientation() should be to apply any rotation/transformation consistently to both, the original and its thumb, and not preventing to use the embedded thumb at all.
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham, #gwenview
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D21329
      6aa7a11b
  3. 22 May, 2019 3 commits
  4. 21 May, 2019 2 commits
  5. 15 May, 2019 4 commits
    • Andreas Sturmlechner's avatar
      Merge branch 'Applications/19.04' · 4d6f1139
      Andreas Sturmlechner authored
      4d6f1139
    • Andreas Sturmlechner's avatar
      Fix build with exiv2-0.27.1 · 172560b8
      Andreas Sturmlechner authored
      Summary:
      Upstream is moving things around between headers. While they are busy doing that, they recommend including exiv2.hpp.
      
      ```
      lib/imagemetainfomodel.cpp:293:40: error: expected unqualified-id before ‘&’ token
                   } catch (const Exiv2::Error& error) {
                                              ^
      ```
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham, devurandom
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D21148
      172560b8
    • Tom Moebert's avatar
      Fix incomplete EXIF data for RAW files · a985ad14
      Tom Moebert authored
      Summary:
      In case of RAW files exiv2 retrieved the EXIF data from the JPEG preview
      image `previewData`. This however contains incomplete EXIF data. Thus
      provide exiv2 with the full raw image and let it find the most suitable
      EXIF data chunk.
      
      BUG: 346510
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D21161
      a985ad14
    • Tom Moebert's avatar
      Ensure the loading indicator is actually displayed · b5de993a
      Tom Moebert authored
      Summary:
      Previously the indicator was only displayed if the file's MIME type has
      not been recognized yet. However for local files the MIME type was always
      detected during a synchronous load by the UI thread, thus the indicator
      was never displayed. This can be especially noticed when loading big
      panorama images that take a few seconds before fully decoded. With this
      change the indicator is displayed as soon as a new url is opened.
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D21163
      b5de993a
  6. 02 May, 2019 1 commit
  7. 24 Apr, 2019 2 commits
  8. 08 Apr, 2019 2 commits
  9. 07 Apr, 2019 2 commits
    • Nate Graham's avatar
      Merge branch 'Applications/19.04' · 8c7e2e48
      Nate Graham authored
      8c7e2e48
    • Alexander Volkov's avatar
      Add HiDPI support for thumbnails · 968c411a
      Alexander Volkov authored
      Summary:
      The idea is to localize changes in ThumbnailView as much as possible:
      ThumbnailView::thumbnailSize() returns the size in device independent
      pixels, i.e. it seems from the outside that ThumbnailView behaves as
      well as before this change. But, of course, item delegates must take
      into account that ThumbnailView::thumbnailForIndex() will return
      a pixmap with the devicePixelRatio set.
      
      CCBUG: 373178
      
      Reviewers: #gwenview, ngraham
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: ngraham
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D20267
      968c411a
  10. 04 Apr, 2019 2 commits
    • Nate Graham's avatar
      Merge branch 'Applications/19.04' · 86689ad1
      Nate Graham authored
      86689ad1
    • Alexander Volkov's avatar
      HiDPI Support for Gwenview · 97e7de52
      Alexander Volkov authored
      Summary:
      Initial support for HiDPI-scaling of documents in RasterImageView.
      
      This patch scales up images to display them correctly on HiDPI-enabled screens.
      
      TODO:
      - SVG documents and videos
      - Scaling of thumbnails
      
      BUG: 373178
      
      Reviewers: davidedmundson, rkflx, hetzenecker, ngraham, #gwenview
      
      Reviewed By: ngraham, #gwenview
      
      Subscribers: volkov, asturmlechner, fvogt, abalaji, rkflx, ngraham, anthonyfieroni, cfeck, asn
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D7581
      97e7de52
  11. 31 Mar, 2019 1 commit
  12. 27 Mar, 2019 1 commit
  13. 23 Mar, 2019 2 commits
  14. 20 Mar, 2019 2 commits
  15. 16 Mar, 2019 3 commits
    • Albert Astals Cid's avatar
    • Albert Astals Cid's avatar
    • Steffen Hartleib's avatar
      Touch support for Gwenview · 603fd1e1
      Steffen Hartleib authored
      Summary:
      Add touch support for Gwenview. At moment one finger scrolling, pinch gesture for zoom and rotate and one finger
      swipe gesture to go to next or previous image is working with some little issue.
      
      It is my first time I am modify the source code, so if I make same mistake please let me now.
      
      CCBUG: 378021
      
      Test Plan:
      Browse mode
      ===========
      * test, if mouse and touchpad working as previously: scrolling, selection and drag and drop
      
      all follow tests with touchscreen:
          * on finger scrolling, test if uwanted drag events or selection events occur
          * two finger scrolling, test if uwanted drag events or selection events occur
          * test drag and drop action (need a TabAndHold gesture before moving the touch point)
          * pinch gesture for zoom, check sensitive and unwanted behavior
          * check double touch, if system setting is set to: open file or directory with a double click
      
      View Mode
      =========
      * test, if mouse and touchpad working as previously: scrolling, selection and drag and drop
      
      all follow tests with touchscreen:
          * one finger panning, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * two finger panning, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * one finger swipe gesture, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * two finger swipe gesture, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * pinch gesture for zoom and rotate, check sensitive and unwanted behavior
          * drag and drop action (need a TabAndHold gesture before moving the touch point)
          * test double touch to toggle between view mode and fullscreen mode.
      
      Thumbnail bar in view Mode:
      ===========================
      * test, if mouse and touchpad working as previously: scrolling, selection and drag and drop
      
      all follow tests with touchscreen:
          * one finger scrolling, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * two finger scrolling, test if uwanted drag events or selection events occur
          * drag and drop action (need a TabAndHold gesture before moving the touch point)
      
      Fullscreen Mode
      ===============
      * test, if mouse and touchpad working as previously: scrolling, selection and drag and drop
      
      all follow tests with touchscreen:
          * one finger panning, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * two finger panning,  check if unwanted drag events or image modifying events (zoom/rotate) occur
          * one finger swipe gesture, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * two finger swipe gesture, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * pinch gesture for zoom and rotate, check sensitive and unwanted behavior
          * drag and drop action (need a TabAndHold gesture before moving the touch point)
          * check if you get access to the fullscreen thumbnail bar on the top screen border
      
      Thumbnail bar in fullscreen Mode:
      ===========================
      * test, if mouse and touchpad working as previously: scrolling, selection and drag and drop
      
      all follow tests with touchscreen:
          * one finger scrolling, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * two finger scrolling, check if unwanted drag events or image modifying events (zoom/rotate) occur
          * drag and drop action (need a TabAndHold gesture before moving the touch point)
      
      Reviewers: #gwenview, ngraham, muhlenpfordt
      
      Reviewed By: #gwenview, ngraham
      
      Subscribers: volkov, asturmlechner, sander, ngraham, rkflx
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D13901
      603fd1e1
  16. 13 Mar, 2019 1 commit
  17. 27 Feb, 2019 1 commit
  18. 22 Feb, 2019 1 commit
  19. 20 Feb, 2019 1 commit
  20. 19 Feb, 2019 1 commit
    • Nate Graham's avatar
      Allow Gwenview to be able to open .kra (Krita) files · 5ae28dad
      Nate Graham authored
      Summary:
      Add support for opening Krita files.
      
      FEATURE: 337272
      FIXED-IN: 19.04.0
      
      Depends on D19120
      
      Test Plan:
      - Apply the patch and then this one for Krita: D19120
      - Rebuild and install both apps
      - Run `sudo update-desktop-database`
      - Right-click on a .kra file in Dolphin. Krita shows up as the top app to open it, with Gwenview showing up in the "Open With" menu
      
      Reviewers: #gwenview, sitter, cfeck
      
      Reviewed By: sitter
      
      Tags: #gwenview
      
      Differential Revision: https://phabricator.kde.org/D19121
      5ae28dad