This forum has been archived. All content is frozen. Please use KDE Discuss instead.

[Design Help Needed] KMessageWidget

Tags: None
(comma "," separated)
kbroulik
KDE Developer
Posts
131
Karma
0
OS

[Design Help Needed] KMessageWidget

Mon Sep 29, 2014 5:47 pm
Hi everyone,

in widget-based applications we're often using the so-called KMessageWidget for displaying information that does not deserve the attention a messagebox draws.

It looks like this
Image
(More information about it can be found here)
It has been tweaked a bit since (the icon is not shown by default anymore because the color is descriptive enough and often the error icon was confused with the close button) but other than that it has suited us very well on the Oxygen-days. It can show information in an non-intrusive way and also allows to add buttons for taking action.

It does not fit the Breeze look and feel anymore, though. Martin K has implemented a lookalike in QtQuick for use in digital clock settings. I want to turn it into a first-class KQuickControls citizen and this is a great opportunity to revamp its look a bit to fit Breeze. Especially the colors, the rounded corners, the gradient and possibly the icons don't fit.

This is what it looks like in the aforementioned Plasma dialog:
Image
And in a widget-based settings UI.
Image
An error message in Dolphin:
Image
A really useful one with action buttons:
Image
but there are many more applications using it, most prominently Kate uses it for almost all its notifications, as well as Dolphin.

I'm looking forward to hearing suggestions by you awesome VDG people™ :)
hugo.pereira@free.fr
Registered Member
Posts
133
Karma
0
kbroulik wrote:Hi everyone,

in widget-based applications we're often using the so-called KMessageWidget for displaying information that does not deserve the attention a messagebox draws.

It looks like this
Image
(More information about it can be found here)
It has been tweaked a bit since (the icon is not shown by default anymore because the color is descriptive enough and often the error icon was confused with the close button) but other than that it has suited us very well on the Oxygen-days. It can show information in an non-intrusive way and also allows to add buttons for taking action.

It does not fit the Breeze look and feel anymore, though. Martin K has implemented a lookalike in QtQuick for use in digital clock settings. I want to turn it into a first-class KQuickControls citizen and this is a great opportunity to revamp its look a bit to fit Breeze. Especially the colors, the rounded corners, the gradient and possibly the icons don't fit.

This is what it looks like in the aforementioned Plasma dialog:
Image
And in a widget-based settings UI.
Image
An error message in Dolphin:
Image
A really useful one with action buttons:
Image
but there are many more applications using it, most prominently Kate uses it for almost all its notifications, as well as Dolphin.

I'm looking forward to hearing suggestions by you awesome VDG people™ :)


On the technical side, here is another good candidate for CustomStyleElement whose style specific rendering should be left to the widget style, similar to what is planed (Thomas ?) for ktitleWidget and kcapacity bar.
The reason being that you cannot find a (hard coded, as it is now) design, that will match all widget styles.
kbroulik
KDE Developer
Posts
131
Karma
0
OS
CustomStyle sounds great indeed! However, how can this be used from the QML-side?

(btw please don't do a full-quote of the previous post)
hugo.pereira@free.fr
Registered Member
Posts
133
Karma
0
kbroulik wrote:CustomStyle sounds great indeed! However, how can this be used from the QML-side?


I though this was the whole point of QtQuickControls that you can delegate some element rendering to the QStyle. (at least I had to fix bugs due to this delegation, such as: https://bugs.kde.org/show_bug.cgi?id=339106
(but I am no expert on this at all)

kbroulik wrote:However, the capacity bar looks weird with Breeze atm, or is it just you didn't have time for that yet? :)

There is a pending review request that would allow kcapacitybar to delegate its painting to the style. Untill it gets pushed, breeze can't render them the way it wants, even though the code is in place.
(nor can oxygen, or any widget style).
So WIP yes.
User avatar
colomar
Registered Member
Posts
947
Karma
2
OS
[quote="kbroulik"]
It has been tweaked a bit since (the icon is not shown by default anymore because the color is descriptive enough and often the error icon was confused with the close button)/quote]

This is a no-go from an accessibility point of view. There is a reason why the Color HIG say "Avoid using color as a primary method of communication. Color is best used as secondary method to reinforce meaning visually." It's not only about colorblind people: Even just the wrong lighting conditions can make distinguishing colors problematic.
I don't say it has to be an icon, but we need another visual cue in addition to the color to distinguish the types.
davidwright
Registered Member
Posts
153
Karma
0
OS
colomar wrote:I don't say it has to be an icon, but we need another visual cue in addition to the color to distinguish the types.


How about changing the border line like they do in comics:

Image
User avatar
colomar
Registered Member
Posts
947
Karma
2
OS
davidwright wrote:
colomar wrote:I don't say it has to be an icon, but we need another visual cue in addition to the color to distinguish the types.


How about changing the border line like they do in comics:


Yes, that could work!
User avatar
Heiko Tietze
Registered Member
Posts
593
Karma
0
OS
Just to add the reference to the HIG: https://techbase.kde.org/Projects/Usabi ... sageWidget

The part with "Show the information on a warning level in case of relevant information that do not concern the current workflow, e.g. No Internet connection available." could haven been adopted from the old guidelines. I think it's bad usability to show information on a warning level with the (red) message panel, or the like.

The discussion started with Balloon tips (http://mail.kde.org/pipermail/kde-guide ... 00308.html) which weren't possible back then.
User avatar
david_edmundson
KDE Developer
Posts
359
Karma
1
OS
hugo.pereira@free.fr wrote:I though this was the whole point of QtQuickControls that you can delegate some element rendering to the QStyle.


Not really. It's a spread misconception.

QtQuickControls is all themed in QtQuick.
There is *ONE* style called "desktop" which wraps QStyle parts as Items. It is purely a legacy compatibility layer, and very far from the "whole point".


Bookmarks



Who is online

Registered users: bancha, Bing [Bot], Evergrowing, Google [Bot], lockheed, mesutakcan