Some applet config titles contain ampersands for mnemonic purposes. PC3.ToolTip filters them out but QQC2.Tooltip does not, so they are visible in the system tray config window.
BUG: 437605
1. Use Kirigami, not PlasmaCore, since this is a config window
2. Remoce PlasmaCore import now that it's no longer used
3. Set implicitWidth/height on Kirigami.Icon, not width/height
4. Use SmallMedium icon sizes, which is typical for list items like this
Summary:
Else the entry is still in cfg_shownItems/cfg_hiddenItems and the config UI will display it as shown instead of disabled.
BUG: 419197
Reviewers: #plasma, kmaterka, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28311
Summary:
Replace two wrapping PlasmaCore.SortFilterModel with custom sorting on model side. Extract common code to base class.
This fixes small issue in sorting and allows to implement other improvements (later on).
Test Plan: Everything should work as before.
Reviewers: #plasma_workspaces, #plasma, davidedmundson, ngraham, broulik
Reviewed By: #plasma_workspaces, #plasma, davidedmundson, ngraham
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27088
Summary:
Few unrelated fixes, bunched together:
* move some code from main.qml to PlasmoidItem where it belongs
* easier to understand item size calculation
* where possible, replace parent.parent comparisons with a property in AbstractItem
* get rid of marginHints
* Qt 5.14 compatibility fix in configuration
* formatting etc
Test Plan: Everything should work as before, this is just refactoring.
Reviewers: #plasma_workspaces, #plasma, davidedmundson, ngraham, broulik
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27085
Summary:
Combines settings of SNI icons and plasmoids in one list. Ability to disable whole section is removed.
Initial idea was proposed by Nicolas Fella (D22176).
BUG: 360307
FIXED-IN: 5.18.0
{F7880936}
Test Plan:
1. Disable/enable plasmoids
2. Set Shown/Hidden for plasmoid
3. Set shortcut for plasmoid
4. Previously hidden categories are shown
5. Show all icons and revert
6. Set Auto/Shown/Hidden for SNI icons
Reviewers: #plasma_workspaces, #plasma, davidedmundson, broulik, ngraham, mart
Reviewed By: #plasma_workspaces, #plasma, ngraham, mart
Subscribers: ahiemstra, mart, meven, nicolasfella, plasma-devel, ngraham
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26586
Summary:
Currently there are two different sources of SystemTray items:
* Plasmoids
* Status Notifier
Thi change adds new model that holds both Plasmoids and SNIs.
Test Plan: Add/disable applets. Start/stop SNI app.
Reviewers: #plasma, broulik, ngraham, nicolasfella
Reviewed By: nicolasfella
Subscribers: plasma-devel, nicolasfella, anthonyfieroni
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25580
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.
Reviewers: #vdg, #plasma, broulik, mart, hein, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: aacid, davidre, davidedmundson, ngraham, ndavis, anthonyfieroni, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19745
Summary:
- Port mostly to QQC2+Kirigami FormLayout style (Don't touch the TableView since there's no QQC2 version yet)
- Use standard import names
Test Plan: {F6821757}
Reviewers: #vdg, #plasma, ndavis
Reviewed By: #vdg, ndavis
Subscribers: ndavis, plasma-devel
Tags: #plasma
Maniphest Tasks: T10586
Differential Revision: https://phabricator.kde.org/D21189
Summary:
Changes triggered by investigation into a long-running high CPU usage bug with system tray animations. The systray itself had icon name to icon resolution code, which was being triggered (twice) for every icon, every time any icon in the systray was updated. This code was spinning up a KIconLoader on each of these instances, and throwing it directly away. Each one triggered a large quantity of memory allocations and disk scans.
This patch moves the extra bit of "appName" logic from the native part of the system tray to the statusnotifieritem datasource, which already had a stored 'customIconLoader' to handle icon theme paths, and removes the special lookup from the sytemtray applet completely. It also prefers icons provided by the dataengine to doing another lookup (contentious?). This removes all the extra CPU usage outside of the QML scene graph and graphics drivers locally.
This is very much a looking for feedback item - there are things about the icon loading paths I almost certainly haven't appreciated yet, and perhaps preferring loading by icon name in the applet has a another purpose.
BUG: 356479
Test Plan: Have tested locally with kgpg and steam, the two apps I have that trigger the old code path. In neither case, however, did the appName logic produce a different result to the code with just the icon search path in statusnotifieritem.
Reviewers: #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson, mart
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2986
Summary:
Changes triggered by investigation into a long-running high CPU usage bug with system tray animations. The systray itself had icon name to icon resolution code, which was being triggered (twice) for every icon, every time any icon in the systray was updated. This code was spinning up a KIconLoader on each of these instances, and throwing it directly away. Each one triggered a large quantity of memory allocations and disk scans.
This patch moves the extra bit of "appName" logic from the native part of the system tray to the statusnotifieritem datasource, which already had a stored 'customIconLoader' to handle icon theme paths, and removes the special lookup from the sytemtray applet completely. It also prefers icons provided by the dataengine to doing another lookup (contentious?). This removes all the extra CPU usage outside of the QML scene graph and graphics drivers locally.
This is very much a looking for feedback item - there are things about the icon loading paths I almost certainly haven't appreciated yet, and perhaps preferring loading by icon name in the applet has a another purpose.
BUG: 356479
Test Plan: Have tested locally with kgpg and steam, the two apps I have that trigger the old code path. In neither case, however, did the appName logic produce a different result to the code with just the icon search path in statusnotifieritem.
Reviewers: #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson, mart
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2986
So far, the width was only adjusted when opening the config but not when
actually assigning a shortcut, causing the shortcut button to flow outside bounds.
Reviewed-By: notmart
The model has changed and is now created in JS but the code that changes the shortcuts was never adjusted
Differential Revision: https://phabricator.kde.org/D1567
By the time the activated signal is fired, currentIndex has not been updated yet, at least
when selecting ComboBox entries by mouse. When using the mouse wheel it works, which is
probably why I haven't noticed the breakage.
CHANGELOG: Fixed changing applet visibility in system tray settings when clicking the options
This is the last big piece that was missing from the systray,
now possible to set an entry as always shown, always hidden, or auto (default)
BUG:332505