Bug 384999 - When dock widget borders are off and two dock widgets are adjacent, draw a line separating them
Summary: When dock widget borders are off and two dock widgets are adjacent, draw a li...
Status: CONFIRMED
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2017-09-23 15:48 UTC by Nate Graham
Modified: 2022-03-04 15:51 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:
nate: Usability+


Attachments
Both panels are open, each one has cut-off content, and there is no visible separator (51.18 KB, image/png)
2017-09-23 15:48 UTC, Nate Graham
Details
Before: Two panels are open, each one has cut-off content, and there is no visible separator (137.63 KB, image/png)
2017-09-23 18:41 UTC, Nate Graham
Details
After: each panel is clearly its own separate entity, and cut-off content is clearly inside a scrollable view (105.08 KB, image/png)
2017-09-23 18:42 UTC, Nate Graham
Details
Before: side panel with no border in Dolphin settings window (59.28 KB, image/png)
2017-09-23 18:43 UTC, Nate Graham
Details
After: side panel with aesthetically pleasing border in Dolphin settings window (59.38 KB, image/png)
2017-09-23 18:43 UTC, Nate Graham
Details
Before: side panel with no border in System Settings (85.68 KB, image/png)
2017-09-23 18:45 UTC, Nate Graham
Details
After: side panel with aesthetically pleasing border in System Settings (86.34 KB, image/png)
2017-09-23 18:45 UTC, Nate Graham
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2017-09-23 15:48:10 UTC
Created attachment 107971 [details]
Both panels are open, each one has cut-off content, and there is no visible separator

If you turn on both the Places and Folders Panels, they become separated by a resizable handle that lets you choose how much space to allocate to each one. However, this handle is invisible, which causes two issues:

1. There is no visual separation between the panels, making them blend into each other. It looks especially weird when items of one are cut off (see screenshot)
2. Users are not visually clued into the fact that there is a resize widget there that allows them to adjust the size of each panel
Comment 1 Nate Graham 2017-09-23 16:12:50 UTC
There is a visible separator when the panels are unlocked, but I think it's desirable to have one when locked as well, for the aforementioned reasons.
Comment 2 Nate Graham 2017-09-23 16:46:18 UTC
This can be fixed-ish by removing or commenting out setFeatures(QDockWidget::NoDockWidgetFeatures); in dolphindockwidget.cpp. That has the side effect of also drawing other borders, but maybe that's okay.
Comment 3 Nate Graham 2017-09-23 17:27:01 UTC
Ah I see the problem. The borders only appear when the Dock widget has the property QDockWidget::DockWidgetMovable. We want a state where it has borders but isn't movable.
Comment 4 Nate Graham 2017-09-23 18:14:13 UTC
I see now. The appearance is done in QStyle, which comes from Breeze. With the Oxygen theme, there is a visible resize handle there when the panels are locked.
Comment 5 Nate Graham 2017-09-23 18:41:15 UTC
Created attachment 107974 [details]
Before: Two panels are open, each one has cut-off content, and there is no visible separator

...And that's a user-configurable setting: System Settings > Application Style > Widget style > Breeze > Configure > Frames > Draw frame around [stuff]
Comment 6 Nate Graham 2017-09-23 18:42:03 UTC
Created attachment 107975 [details]
After: each panel is clearly its own separate entity, and cut-off content is clearly inside a scrollable view
Comment 7 Nate Graham 2017-09-23 18:43:25 UTC
Created attachment 107976 [details]
Before: side panel with no border in Dolphin settings window

Side panels have the same issue, although it's more aesthetic than usability-related.
Comment 8 Nate Graham 2017-09-23 18:43:52 UTC
Created attachment 107977 [details]
After: side panel with aesthetically pleasing border in Dolphin settings window
Comment 9 Nate Graham 2017-09-23 18:45:35 UTC
Created attachment 107978 [details]
Before: side panel with no border in System Settings
Comment 10 Nate Graham 2017-09-23 18:45:54 UTC
Created attachment 107979 [details]
After: side panel with aesthetically pleasing border in System Settings
Comment 11 Nate Graham 2017-09-23 19:20:51 UTC
Submitted a patch: https://phabricator.kde.org/D7957

Most of the attachments on the bug report depict older versions, FWIW. Newer pictures using git master are available at the Phabricator patch.
Comment 12 Hugo Pereira Da Costa 2017-09-23 19:37:28 UTC
There are two options in breeze configuration that are named 
"draw frame around dockable panels" and
"draw frame around side panels"
that do exactly what you want.
Comment 13 Nate Graham 2017-09-23 20:56:21 UTC
Yep! And I'm advocating making that the default setting, for the reasons I stated in the Description (I'm dropping Side Panels from this discussion to focus on the usability issues arising from omitting frames from Dock widgets by default).
Comment 14 Hugo Pereira Da Costa 2017-09-24 05:36:11 UTC
So like in phab, I disagree with changing the default. 
I think this dolphin case is quite a corner case, that should not justify that _all_ dock panels get a frame around them
(in most cases you only have one dock panel per side, and so there is no issue)

For the sidebar pannel, that is completely unrelated
Comment 15 Nate Graham 2017-09-24 13:50:07 UTC
Okay, so we don't have to draw all borders by default. But we should draw *something* to separate these views in order to overcome the issues I've highlighted.
Comment 16 Marco Martin 2017-09-26 09:53:59 UTC
drawing borders would be a significant step back in looks.
the issue has a point, things that get cut off into nothing are not good either.
in qwidget apps i didn't see it in other places so perhaps is a problem not common enough, otherwise a single line could be drawn on top and/or on bottom only when the contents and position justifies so
Comment 17 Janet Blackquill 2022-03-04 15:32:26 UTC
is this still relevant?
Comment 18 Nate Graham 2022-03-04 15:51:52 UTC
Yes, it's the same issue as the invisible qsplitter problem.