D19745: Fix system tray UI/UX & refactor

ivan tkachenko noreply at phabricator.kde.org
Thu Mar 14 04:20:59 GMT 2019


ratijastk created this revision.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
ratijastk requested review of this revision.

REVISION SUMMARY
  System tray widget had the following UX problem:
  Icons are laid out in a Flow QML layout, using minimal amount of
  space, thus not filling the height/width of the task bar. In other
  words: user can only click directly on an icon, not over or under it.
  
  Consider the following scenario:
  
  Given icon size X and task bar of height 1.5 * X located at the bottom;
  User moves pointer down to the limit and tries to click the icon.
  Expected outcome: applet is activated.
  Actual outcome: nothing happens, because icon (together with mouse
  area) floats slightly above the bottom.
  
  Which is inconvenient, especially when most other widgets tend to fill
  up the space.
  
  This patch fixes aforementioned problem by refactoring layouts using
  modern GridLayout, RowLayout et al., so that icons are arranged in
  rows and columns based on their number, and each one fills up its
  cell. I also made a handful of minor internal refactorings and fixes.
  Unfortunately, due to tight coupling, almost all files needed changes
  anyway.
  
  Special note on 'CompactApplet.location': it didn't seem to affect
  anything at all, so removed it.
  
  At the end of the day no visual changes should be noticeable. Layout
  works in both vertical and horizontal form-factor an all four sides of
  the desktop.

TEST PLAN
  Please, check whether 'LayoutMirroring' works properly.

REPOSITORY
  R120 Plasma Workspace

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D19745

AFFECTED FILES
  applets/systemtray/CMakeLists.txt
  applets/systemtray/package/contents/applet/CompactApplet.qml
  applets/systemtray/package/contents/ui/ConfigEntries.qml
  applets/systemtray/package/contents/ui/ExpandedRepresentation.qml
  applets/systemtray/package/contents/ui/HiddenItemsView.qml
  applets/systemtray/package/contents/ui/PlasmoidPopupsContainer.qml
  applets/systemtray/package/contents/ui/StatusNotifierItemModel.qml
  applets/systemtray/package/contents/ui/items/AbstractItem.qml
  applets/systemtray/package/contents/ui/items/PlasmoidItem.qml
  applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml
  applets/systemtray/package/contents/ui/main.qml

To: ratijastk
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20190314/86370fe2/attachment.html>


More information about the Plasma-devel mailing list