Skip to content

Port back to KFilePlacesView

Kai Uwe Broulik requested to merge work/kbroulik/kfileplacesview into master

This removes the custom-view engine version of the places panel and replaces it with the upstream KFilePlacesView from KIO.


Depends on frameworks/kio!670 (merged)

Left is old, Right is new:

Screenshot_20211216_195753

I have ported all features I could think of:

  • "New tab" an "New window" in context menu, works also for when a drive is not mounted yet, opens once mounting has completed
  • Middle click or Ctrl+click to open a place in a new tab
  • "Unlock panels", "Configure trash" in context menu
  • Places icon size setting is carried over to the new view, saves and restores fine, both fixed and the weird "dynamic" size mode
  • Trash icon reflecting trash full/empty
  • Adding, editing, removing, hiding places works
  • show all places works, also from "Sidebars" menu
  • Dragging a file or folder over a place and waiting, switches folders when this is enabled in settings
  • Unmounted a drive whilst the terminal panel was on it, correctly cd $HOME and then carried on unmounting

There are a few quirks but now that we have a single view again and given the time till Gears 22.04 comes out, we'll have some time to address them:

  • The animation when items resize, come, and go are laggy
  • Wrong high-dpi pixmap chosen during resize
  • Overlay painter (e.g. unmounted USB drive) uses wrong high-dpi pixmap
  • Spacing/sizing/padding is slightly different
  • Free space bar is too narrow with Breeze style, also only shows on hover
  • Dragging a folder ontop of a place always adds it to the panel even if you actually wanted to move/copy/link it into the folder; dragging a file works fine, though

But please let's not get let down by those quirks, it's 4000 lines of code removed (almost 10% of Dolphin's code base!) and once we have the views unified, we can finally start thinking about adding new features we've wanted fr the longest time, such as an inline "eject" button…

@dfaure @ahmadsamir @meven @nicolasfella @alex @elvisangelaccio

Edited by Kai Uwe Broulik

Merge request reports