1. 17 Jul, 2018 1 commit
    • David Edmundson's avatar
      Fix blur behind folderview context menus · 42a74c9a
      David Edmundson authored
      Summary:
      Breeze has
      
      if (!(widget->testAttribute(Qt::WA_WState_Created) ||
      widget->internalWinId()))
         KWindowSystem::blur(widget->winId(), ...)
      
      which makes sense as the style should not be creating surfaces in polish
      and I don't want to remove it.
      
      This is problematic with QMenu::polish which has a subtle behavioural
      change compared to QMenu::exec in that it calls ensurePolish before
      creating the surface.
      
      Plasma::ContainmentInterface accidentally has this workaround already
      for parent window setting.
      
      BUG: 395262
      
      Test Plan:
      Right clicked on desktop icon
      Looked amazing
      
      Reviewers: #plasma, hein
      
      Reviewed By: #plasma, hein
      
      Subscribers: hein, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D14174
      42a74c9a
  2. 12 Jul, 2018 1 commit
  3. 13 Jun, 2018 1 commit
  4. 03 Jun, 2018 1 commit
    • Eike Hein's avatar
      Make drags from the Task Manager less prone to disaster · c801276a
      Eike Hein authored
      Summary:
      The Task Manager applet previously set a task's launcher URL as
      generic URL MIME data of drags initiated from it. This made
      everything that's willing to handle an URL drop a drop target
      for drags from the Task Manager, which resulted e.g. in users
      accidentally dropping .desktop files into chat apps that would
      immediately send them as a message.
      
      In truth, the utility of drags initiated from the Task Manager
      is mostly confined to the shell: Adding apps to the desktop, to
      the panel, to launcher menus (we don't have this currently but
      should add it), and so on. It's therefore appropriate to use a
      special internal MIME type for this payload instead of one as
      generic as text/url. We already use special internal MIME types
      to shuttle around window ids (for drops onto pagers, to assign
      tasks to different virtual desktops or activities) and filter
      out drops onto the Task Manager applet itself.
      
      This patch makes the necessary changes in the Task Manager and
      in the Folder View containment, which needs special care due to
      its complex drop handling. A seperate patch will augment
      ContainmentInterface::processMimeData to take care of the Desktop
      and Panel containments (while compatible with the Folder View
      change).
      
      This is an implementation of an idea by David Edmundson posted
      in D13162.
      
      Reviewers: davidedmundson, Zren
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D13274
      c801276a
  5. 25 Apr, 2018 1 commit
  6. 24 Apr, 2018 1 commit
  7. 05 Apr, 2018 3 commits
  8. 08 Mar, 2018 1 commit
  9. 28 Feb, 2018 1 commit
  10. 19 Feb, 2018 1 commit
  11. 05 Feb, 2018 2 commits
    • Eike Hein's avatar
      Improve preview thumbnail quality · db42961a
      Eike Hein authored
      Summary:
      This patch does two things:
      
      * Instead of giving the KAbstractViewAdapter the actual icon size,
        we overprovision by giving it the size times two. This is because
        while we're deriving the grid view cell size from the icon size
        setting, it's not the actual size the thumbnails will be displayed
        at. Our IconItem is sized to almost fill the cell, and for image
        sources with non-square aspect ratios IconItem doesn't scale to
        the next icon size.
      
      * We set IconItem to do smooth scaling.
      
      While this results in lovely visual fidelity, I the performance
      impact is a concern. We're requesting twice as large thumbnails
      now, and we're doing more scaling work. However, thumbnail
      generation is async and doesn't slow down listing. There's also
      the possibility IconItem::smooth could have general performance
      impact unless things are smart enough not to scale when not
      necessary, which is hopefully the case.
      
      BUG:376848
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D10223
      db42961a
    • Kai Uwe Broulik's avatar
      [Folder View] Let Alt+Enter open properties dialog · b4f3a883
      Kai Uwe Broulik authored
      This is what Dolphin does. The shortcut is hardcoded here and also common on other platforms.
      
      BUG: 389862
      FIXED-IN: 5.13.0
      
      Differential Revision: https://phabricator.kde.org/D10316
      b4f3a883
  12. 04 Feb, 2018 1 commit
  13. 02 Feb, 2018 1 commit
  14. 26 Jan, 2018 1 commit
  15. 16 Jan, 2018 1 commit
    • Kai Uwe Broulik's avatar
      [Folder View] Don't trash local files · 5551d9be
      Kai Uwe Broulik authored
      Send the actual URL (e.g. desktop:/foo) to KIO and let it figure it out. Otherwise KDirNotify emits a change for the
      backing file:///home/foo/Desktop URL and KDirLister cannot relate the two and doesn't notice a deletion immediately.
      Since we don't offer "Move to Trash" for non-local files anyway, this should be safe.
      
      While at it, check for whether files can be moved before offering Trash and whether files can be deleted before
      offering Delete (Dolphin does that). I can split that into a separate commit, if you prefer.
      
      CHANGELOG: Fixed long delay when deleting (moving to trash) files on the desktop
      
      Differential Revision: https://phabricator.kde.org/D9914
      5551d9be
  16. 22 Dec, 2017 1 commit
  17. 14 Dec, 2017 1 commit
    • Andras Mantia's avatar
      Don't move back items to second screen if they were manually moved · 093cc5a6
      Andras Mantia authored
      Summary:
      When a secondary screen is removed, the items from there are moved to
      the first screen. If the screen is plugged back, the items are moved back.
      This patch does not move back the items on screen reconnect if meantime they were manually
      moved around on the first screen.
      
      Reviewers: #plasma, hein, mwolff
      
      Reviewed By: #plasma, hein
      
      Subscribers: ngraham, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D9313
      093cc5a6
  18. 13 Dec, 2017 2 commits
  19. 03 Dec, 2017 1 commit
    • Eike Hein's avatar
      Implement QQmlParserStatus in FolderModel · 1a45aaf9
      Eike Hein authored
      Summary:
      This saves four calls to `invalidateFilter()` during startup with
      default config. With non-default config it will save various
      calls to `invalidate()` and `invalidateFilter()` more.
      
      Test Plan: Tests pass with adjustments.
      
      Reviewers: #plasma, broulik
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D9122
      1a45aaf9
  20. 28 Nov, 2017 3 commits
    • Milian Wolff's avatar
      Support drag and drop between shared folder view containments · cc9c3d32
      Milian Wolff authored
      Reviewers: mwolff, #plasma, hein
      
      Reviewed By: mwolff, #plasma, hein
      
      Subscribers: broulik, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D8850
      cc9c3d32
    • Milian Wolff's avatar
      FolderView: position files at drop event target position · e9488870
      Milian Wolff authored
      Summary:
      Remember the drop event target position and move the items once
      they become available. This requires us to allow moving while no
      drag image is being shown. Otherwise, we listen to the
      copy job signals, which gets created by the drop job. This allows
      us to map target filenames in their final form, i.e. after the user
      potentially renamed the files to handle conflicts, to some desired
      visual position. To stay on the safe side, we also periodically
      cleanup the mapping after an idle timeout of 10s. This ensures we
      don't grow the mapping with stale items. This is required to handle
      errors in the file lister, or situations like overwriting an existing
      file which would not trigger a rowAdded signal.
      
      Reviewers: hein, amantia
      
      Reviewed By: hein, amantia
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D8598
      e9488870
    • Andras Mantia's avatar
      Make Folder View screen aware · 88718b16
      Andras Mantia authored
      Summary:
      When using multiple screen with a Folder View as a desktop containment, we need to make sure a file belongs only to one screen. The patch adds support for this by:
      
      1) Introducing a ScreenMapper object shared acrossed all Folder Views
      2) FolderModel registers the screen it resides on if used as a containment
      3) FolderModel filters out items not on the current screen (if used as a containment)
      4) FolderModel adds mapping for the newly appeared files. The new files will go to the registered screen having the smallest id. This also means by default all files appear on the screen with the smallest id.
      5) url/screen mapping is stored in the configuration of each folder view applet. This means duplication of the information, and although they should be in sync unless manually modified, the logic is that the last view's mapping option is used.
      6) When removing a screen, the list of items from the removed screen is stored and items get moved to the first screen
      7) When a screen is added back, the items are moved back there based on the above list
      
      So far missing:
      - correct handling of D&D between folderviews on different screens
      - forgetting the saved position from a removed screen if the items are reorganized on the primary (visible) screen
      
      Depends on D8566
      Depends on D8567
      
      Reviewers: #plasma, ervin, mlaurent, dvratil, hein, aacid, apol, mwolff
      
      Reviewed By: #plasma, hein, mwolff
      
      Subscribers: anthonyfieroni, ngraham, mwolff, davidedmundson, broulik, mart, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D8493
      88718b16
  21. 15 Nov, 2017 1 commit
  22. 01 Nov, 2017 1 commit
    • David Edmundson's avatar
      Avoid blocking DBus calls when extracting files · b3044152
      David Edmundson authored
      Summary:
      When copying from Ark to the desktop we make a blocking DBus call,
      freezing the entire UI.
      
      We don't do anything with the reply, so lets not bother waiting for it.
      
      Test Plan:
      Ran Q_DBUS_BLOCKING_CALL_MAIN_THREAD_WARNING_MS=0 plasmashell
      Copied something from ark to the desktop.
      Still had the file, but didn't block
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D8601
      b3044152
  23. 30 Oct, 2017 1 commit
  24. 27 Oct, 2017 1 commit
  25. 26 Oct, 2017 2 commits
  26. 25 Oct, 2017 3 commits
  27. 14 Sep, 2017 1 commit
  28. 30 Aug, 2017 1 commit
  29. 26 Aug, 2017 1 commit
    • David Edmundson's avatar
      Don't special case file URLs when processing .desktop files · 09624c71
      David Edmundson authored
      Summary:
      At first glance this looks faster, as we skip KIO for a simple stat(),
      but as the result isn't cached we do file lookups on every single mouse
      move.
      
      This also has the side effect of not blocking Plasma when stat-ing a
      file on a disconnected remote drive.
      
      CCBUG: 379994
      
      Test Plan:
      Created two .desktop files one pointing to a dir, another to a file.
      One had the arrow to expand the folder, the other did not.
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D7535
      09624c71
  30. 04 Jun, 2017 1 commit
  31. 29 Mar, 2017 1 commit