[TaskManager] Modernize and reorganize configuration settings
ClosedPublic

Authored by filipf on Feb 24 2019, 5:12 PM.

Details

Summary

This patch ports most of the QQC1 elements into QQC2 and makes use of Kirigami.FormLayout.

Due to an overwhelming number of options originally being present, the patch also splits them up
into "Appearance" and "Behavior" categories.

Test Plan

Diff Detail

Repository
R119 Plasma Desktop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application added a project: Plasma. · View Herald TranscriptFeb 24 2019, 5:12 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
filipf requested review of this revision.Feb 24 2019, 5:12 PM
filipf edited the test plan for this revision. (Show Details)Feb 24 2019, 5:13 PM
filipf added reviewers: Plasma, VDG, ngraham.
filipf updated this revision to Diff 52465.Feb 24 2019, 5:30 PM

remove unneeded section breaks at the very beginning of the layout

filipf edited the test plan for this revision. (Show Details)Feb 24 2019, 5:31 PM
filipf edited the test plan for this revision. (Show Details)
filipf updated this revision to Diff 52476.Feb 24 2019, 6:31 PM
filipf edited the test plan for this revision. (Show Details)

Use action verbs for "Sorting" and "Grouping"; extend "visible: vertical" property to all
revelant elements

filipf edited the test plan for this revision. (Show Details)Feb 24 2019, 6:33 PM
rooty accepted this revision as: rooty.Feb 24 2019, 6:49 PM
rooty added a subscriber: rooty.

Works fine for me on neon, best wait for Nate's go-ahead but I'm convinced :D

This revision is now accepted and ready to land.Feb 24 2019, 6:49 PM
filipf updated this revision to Diff 52479.Feb 24 2019, 7:15 PM

use sentence-style capitalization for combobox entries

ngraham requested changes to this revision.Feb 24 2019, 7:47 PM

I love the idea of an Appearance/Behavior split. I think that really improves the approachability of the settings window. But I think it will require a bit of re-organization since with the current state of the patch, there are items on the Behavior page that are appearance-based, and vice versa.

How about this for the breakdown?

Appearance

         General: [x] Show tooltips
                  [ ] Highlight windows
                  [x] Show progress and status information in task buttons
                  [x] Mark applications that play audio

       Icon size: --------------o-----------
                  Small                Large

    Maximum rows: [ 2 ]
                  [x] Always arrange tasks in as many rows as columns
Behavior

           Group: [ By program name v ]
                  [x] Open groups in popups
                  [x] Only when the Task Manager is full

            Sort: [ Manually v ]
                  [x] Keep launchers separate

 On middle-click: [ Close Window or Group v ]
                  [ ] Cycle through tasks with mouse wheel

         Filters: [ ] Show only tasks from the current screen
                  [ ] Show only tasks from the current desktop
                  [x] Show only tasks from the current activity
                  [ ] Show only tasks that are minimized
This revision now requires changes to proceed.Feb 24 2019, 7:47 PM
filipf updated this revision to Diff 52484.Feb 24 2019, 8:15 PM

better categorization of settings

filipf edited the test plan for this revision. (Show Details)Feb 24 2019, 8:16 PM

Much better, I agree! I've implemented all the changes.

GB_2 added a subscriber: GB_2.Feb 24 2019, 8:43 PM

Almost perfect!

applets/taskmanager/package/contents/ui/ConfigBehavior.qml
65

"Task Manager" should be lowercase and a better text would be "Only group when the task manager is full".
I'd also switch the position with the above checkbox.

116

Better: "Filter:"

ngraham added inline comments.Feb 24 2019, 8:44 PM
applets/taskmanager/package/contents/config/config.qml
27

Hmm, not sure this really fits, TBH. I kind of likes the colors-style icon you used in a previous version.

applets/taskmanager/package/contents/ui/ConfigBehavior.qml
65

Uppercase is fine since it's a proper noun.

ngraham added inline comments.Feb 24 2019, 8:46 PM
applets/taskmanager/package/contents/ui/ConfigAppearance.qml
57

This would be a bit clearer if it said something more along the line of "Highlight windows when hovering over tasks"

filipf updated this revision to Diff 52491.Feb 24 2019, 10:00 PM

"Filters:" -> "Filter:", "Only when the Task Manager is full" -> "Group only when the Task
Manager is full" (I think it's better to be explicit), use "preferences-desktop-color" for
Appearance icon, "Highlight windows" -> "Highlight windows when hovering over tasks"

ngraham accepted this revision.Feb 24 2019, 10:08 PM

Looks great and works great. Fantastic work!

This revision is now accepted and ready to land.Feb 24 2019, 10:08 PM
GB_2 accepted this revision.Feb 24 2019, 10:14 PM
filipf edited the test plan for this revision. (Show Details)Feb 24 2019, 10:20 PM

Thank you :)

Does anyone from Plasma maybe know why the QQC2 Slider fails to obey the "visible: vertical" setting? The variables have been changed in accordance with QQC2 and the slider does show up with no "visible:" status set, but simply won't work here.

hein added a subscriber: hein.Feb 25 2019, 7:45 AM
  • Open groups in popups
  • Only when the Task Manager is full

Reversing and not indenting these options breaks their dependent relationship. Please revert this to the original layout.

Looks nice otherwise!

hein requested changes to this revision.Feb 25 2019, 7:45 AM
This revision now requires changes to proceed.Feb 25 2019, 7:45 AM
filipf updated this revision to Diff 52513.Feb 25 2019, 10:23 AM

revert grouping settings order and indent the onlyGroupWhenFull option

filipf edited the test plan for this revision. (Show Details)Feb 25 2019, 10:24 AM
filipf updated this revision to Diff 52514.Feb 25 2019, 10:25 AM

fix typo in comments

filipf updated this revision to Diff 52518.Feb 25 2019, 11:05 AM

try a better solution for the indentation (now works consistently with scaling)

filipf updated this revision to Diff 52565.Feb 25 2019, 9:26 PM

I forgot to hide the grouping and sorting options when using Icons-only

hein added inline comments.Feb 26 2019, 9:48 AM
applets/taskmanager/package/contents/ui/ConfigBehavior.qml
70

Wait, 10x the checkbox width?

GB_2 added inline comments.Feb 26 2019, 2:16 PM
applets/taskmanager/package/contents/ui/ConfigBehavior.qml
70

Should be units.largeSpacing

filipf added inline comments.Feb 26 2019, 2:21 PM
applets/taskmanager/package/contents/ui/ConfigBehavior.qml
70

I tried units.largeSpacing first then realized it's not aligned with the top text (not even with 1.0 scaling) so I did something like (units.largeSpacing - units.smallSpacing * 2) which worked ok with 1.0 scaling but the higher the scaling factor the more the text shifted to the right = it stopped being aligned with the top text. This bad code that's present now worked well with all scaling preferences. I can just do units.largeSpacing though if everyone is fine with that.

GB_2 added inline comments.Feb 26 2019, 3:25 PM
applets/taskmanager/package/contents/ui/ConfigBehavior.qml
70

units.largeSpacing is correct and used in other places too.

filipf updated this revision to Diff 52644.Feb 26 2019, 3:55 PM

use units.largeSpacing for indentation; remove redunant visible: vertical properties for children
of RowLayout

filipf updated this revision to Diff 52646.Feb 26 2019, 4:21 PM

rename "vertical" property to "plasmoidVertical" because it was interfering with QQC2's slider
"vertical" variable; use QQC2 slider

rename "vertical" property to "plasmoidVertical" because it was interfering with QQC2's slider
"vertical" variable; use QQC2 slider

Shoutout to @GB_2 for figuring out why the QQC2 slider didn't work. Hopefully everything is fine now.

filipf updated this revision to Diff 52647.Feb 26 2019, 4:23 PM

Don't import QQC1 for ConfigAppearance.qml

GB_2 added inline comments.Feb 26 2019, 4:24 PM
applets/taskmanager/package/contents/ui/ConfigAppearance.qml
22

Import is not needed anymore.

ngraham added inline comments.Feb 26 2019, 4:25 PM
applets/taskmanager/package/contents/ui/ConfigAppearance.qml
22

Yes it is, there's a RowLayout in here.

GB_2 added inline comments.Feb 26 2019, 4:29 PM
applets/taskmanager/package/contents/ui/ConfigAppearance.qml
22

I meant the QQC1 import, but it was removed just before I posted this comment :P

filipf marked 12 inline comments as done.Feb 26 2019, 4:31 PM
hein accepted this revision.Feb 26 2019, 4:46 PM

I'm OK with this, but I'd like @ngraham to verify consistency on the indent issue.

This revision is now accepted and ready to land.Feb 26 2019, 4:46 PM
ngraham accepted this revision.Feb 26 2019, 5:42 PM

Indentation looks good! Looks great and works great for both regular and icons-only task managers, in both horizontal and vertical orientations.

Shipit!

GB_2 added a comment.Feb 26 2019, 5:44 PM

Now just update the screenshots.

filipf edited the test plan for this revision. (Show Details)Feb 26 2019, 5:47 PM
GB_2 accepted this revision.Feb 26 2019, 5:49 PM
This revision was automatically updated to reflect the committed changes.