Bug 364226

Summary: Default button color should be more visually obvious
Product: [Plasma] Breeze Reporter: skierpage <skierpage>
Component: QStyleAssignee: Hugo Pereira Da Costa <hugo.pereira.da.costa>
Status: RESOLVED FIXED    
Severity: normal CC: hugo.pereira.da.costa, nate
Priority: NOR Keywords: usability
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: In this Kate replace panel, what will happen when I press [Enter]?

Description skierpage 2016-06-11 21:45:22 UTC
Created attachment 99463 [details]
In this Kate replace panel, what will happen when I press [Enter]?

I'm running KDE Frameworks 5.22.0 & QT 5.5.1 from the KDE backport PPA on Kubuntu 16.04.

I noticed in both KDE applications and other applications (Thunderbird, GIMP, etc.) the default action in a dialog, the one that will take place if you press the Enter key, is not indicated. This makes it harder to operate KDE from the keyboard. I'm using the default Breeze theme so I filed this against Breeze, but I tried switching to Oxygen and the default button was no more apparent.

To reproduce, open some text document in Kate, press Ctrl+R to bring up replace, and enter "a" in the Find text field and "z" in the Replace text field. The action buttons all enable (good). At this point I really need to know what will happen if I press the Enter key on the keyboard, but I can't tell the buttons apart (bad). Will it do a Replace, Replace All, or Find All?

All dialogs seem to have this problem. Another example: I'm never sure in settings dialogs whether pressing [Enter] will Apply (and stay visible) or OK (and go away).

Expected result: the default button has some sort of indication, such as a ring or pulse or a filled in color, like every other desktop environment I use. To see some of the visual effects other DEs use, Google "default dialog button on enter" and click Images.

According to http://doc.qt.io/qt-5/qdialog.html#default , Qt apps have fine control over what button is default and which dialog items can trigger it on pressing Enter. But KDE (or Breeze) doesn't indicate this.
Comment 1 Christoph Feck 2016-06-12 11:37:38 UTC
Are you sure this is specific to using the Breeze widget style? Please try running the application with "-style Fusion" or "-style Oxygen" argument to test other styles.
Comment 2 skierpage 2016-06-13 23:44:27 UTC
Thanks for responding. `kate -style Fusion` draws a blue line around the default button in settings and save dialogs, so this is specific to Breeze.

However, the Kate Replace panel (that appears in its window) does not have this blue highlight. So my attached screenshot is misleading. And looking at Kate's settings and save dialogs in the Breeze theme, the default action is a slightly lighter gray.

So I think the bugs here are
* The KDE Breeze theme's indication of the default action in a dialog with a lighter gray is too subtle.
* The GTK Breeze theme does not indicate the default buttons in dialogs with this lighter gray, or at all.
* Kate's Replace panel doesn't indicate its default action.

Should I file new bugs or rewrite this one?
Comment 3 Christoph Feck 2016-06-14 12:23:20 UTC
I suggest to report the Kate issue separately.
Comment 4 Hugo Pereira Da Costa 2016-06-24 12:30:38 UTC
"The GTK Breeze theme does not indicate the default buttons in dialogs with this lighter gray, or at all." this should go to a separate bug report too, with product being "gtk theme" because the gtk theme is not maintained by the same people.

For the QStyle at hand, well, when default button is set by the app, it is indicated (as you noted, by light grey). So it is in oxygen too. 
That this is too subtle is a matter of taste. Especially since there are other ways to use the button (using the mouse, or with the tab key. Note that the tab key will always work (also in kate when no default button is set), and that the button will be highlighted in a much more visible way in this case.
Comment 5 Nate Graham 2019-10-07 15:47:59 UTC
*** Bug 386158 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2021-06-08 16:15:58 UTC
Git commit 00693ee5e715167d61d0014b9eb75ab3dbd31b51 by Nate Graham, on behalf of Jan Blackquill.
Committed on 08/06/2021 at 14:09.
Pushed by ngraham into branch 'master'.

Make default button blue

M  +4    -2    kstyle/breezestyle.cpp

https://invent.kde.org/plasma/breeze/commit/00693ee5e715167d61d0014b9eb75ab3dbd31b51