System tray models are created lazily, so it is possible that the configuration will load earlier and not notify the model of the stored values. Add explicit configuration load, so that it always loads correctly during the initialization.
This is a fix for regression introduced in the plasma/plasma-workspace!14
Summary:
Icon and title of entries in System Tray settings should not change when status changes.
Use only plugin's meta-data for consistent title and icon.
BUG: 421561
FIXED-IN: 5.19.0
Test Plan:
1. Check Weather or Media Player applets
2. Enbable/disable/change status
3. Icon and title should remain the same
Summary:
SystemTray model was created in constructor, delay initialization and
create it lazily.
The `SystemTray::appletAdded` signal is connected to both SystemTray's
model and `Container`. `Container` must be connected first, because it sets
some properties of newly added applet: `visible` to false and `parent`
to the root item (container). If `Container` is connected second, then
newly created applet ios added to the model and rendered, but immediately
after that `Container` changes visibility to false.
BUG: 420993
Test Plan:
1. Do not play anything (no Medial Player icon at all)
2. Run Gwenview
3. Check if Medial Player icon in hidden view is rendered correct.
Before change:
Sometimes icon is not rendered, looks like invisible or fully transparent.
After change:
Icon rendered correctly.
Summary: Currently, there was some code to avoid system tray resizing. However, being the properties not set to the root element, this was not having any effect. This fixes it.
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29824
Summary:
If status is set to NeedsAttention it tries to use Attention Icon. If Attention Icon is not set, empty/null QIcon is set. QML can't check if QIcon is null or not, as a result it tries to use empty icon and nothing is rendered.
Set null QVariant if AttentionIcon is not valid so that QML check will work correctly.
Test Plan:
* Set NeedsAttention as a status and with no Attention Icon
* Base Icon should render correctly
Reviewers: #plasma_workspaces, #plasma, ngraham, broulik, davidedmundson, mart
Reviewed By: #plasma_workspaces, #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29544
Summary:
Allows to set Icon, AttentionIcon and OverlayIcon either by name or pixmap.
Makes it easier to test combinations of those.
Reviewers: kmaterka, apol
Reviewed By: kmaterka, apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29619
Summary:
Expander arrow should hide when all icons are visible and no icon is hidden. When dialog with hidden items is hidden ListView does not update its count property - property is update on redraw. As a result expander arrow is still visible/hidden until user clicks on any plasmoid to show dialog.
BUG: 420924
Test Plan:
* select/deselect "Show all items" in settings, save, expander arrow should hide/show imidiatelly
* select almost all items to "Always shown", leave "Keyboard indicator" as "Shown when relevant". Press Casp Lock, expander arrow should hide/show correctly
Reviewers: #plasma_workspaces, #plasma, ngraham, broulik, davidedmundson
Reviewed By: #plasma_workspaces, #plasma, broulik, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28180
Summary:
In some rare situations SNI icons are not rendered. It happens randomly, only some users are affected. It does not happen on every login.
Only SNI icons are not rendered, Plasmoids are fine. Restarting plasmashell or re-adding systemtray applet helps.
In QML all roles need to be defined before model is used. When data engines is used a a source for a data model, all roles has to be defined and proper value assigned (not a null QVariant). StatusNotifierItemSource does this properly, but in some situations it sets null QVariant for Icon. Setting empty/null QVariant removes key/role from the date set (DataConteiner implementation). If data model was loaded earlier or later when Icon has proper value it will work properly. In some rare situation it is possible that data model is loaded when Icon has null value assigned (in other words - removed), role is removed from the data model and not avaiable to system tray applet.
This fix makes sure that there is always a value for Icon role. To check if icon is null native method has to be used - QML does not understand that QIcon can be null.
BUG: 419305
FIXED-IN: 5.18.5
Test Plan: I don't have any reliable method to reproduce this issue.
Reviewers: #plasma_workspaces, #plasma, davidedmundson, broulik, ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29386
Summary:
After adding a new plasmoid (applet), for example a new Media Player, several empty icons are rendered in the system tray which hides existing icons.
The bug occurs after opening Gwenview while the Media Player applet is NOT in use.
The systray icons reappear when Gwenview is closed or another source starts playing.
BUG: 418662
Test Plan: Start Gwenview when Media Player is not in use. All icons should render correctly.
Reviewers: #plasma_workspaces, #plasma, ngraham, broulik, apol, davidedmundson, mart
Reviewed By: #plasma_workspaces, #plasma, mart
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29344
Summary:
There was a slight issue introduced with D28109: the systray highlight can now cover up the icons it's highlighting.
This isn't really an issue with Breeze because it uses a line for a highlight, but it is for themes that use a filled-style highlight.
I set a z value for the highlight that should ensure it's now drawn only behind the icon.
Test Plan:
Tested with the //Mondrian// Plasma theme
Before:
{F8280717}
After:
{F8280718}
Reviewers: kmaterka, #plasma
Reviewed By: kmaterka
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29380
Summary: Some `onXyzChanged` signals do not send value - fix connection to use value directly from the sender.
Test Plan: Disable or enable plasmoid in System Tray setting - it should work correctly.
Reviewers: #plasma_workspaces, #plasma, ngraham, apol, broulik, davidedmundson
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29356
Summary: This adds a footer element that will replace with a possible footer that the contained plasmoid could have, given that they are using a Page.
Test Plan: {F8258401}
Reviewers: ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T10470
Differential Revision: https://phabricator.kde.org/D29142
Summary:
When the applet is a page with a plasmoidHeading as header, merge it with systray one.
{F8215920}
The only big problem is that it looks bad when you open said applet while in sidebar view, see:
{F8215916}
I'd like to solve that by removing the sidebar and adding a back button, but that would be for another patch in the future.
Test Plan: To be tested together with D28467
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: mart, manueljlin, ognarb, ngraham, plasma-devel
Tags: #plasma
Maniphest Tasks: T10470
Differential Revision: https://phabricator.kde.org/D28575
Summary:
It was decided in T12778 to remove icons from tooltips for panel widgets and system tray
items. This patch implements that for system tray items, and removes the supporting code
from the backend.
Test Plan:
Apply patch
Hover the cursor over system tray items, either in the compat applet or the expanded
representation
No more redundant or inconsistent icons visible
Reviewers: #plasma, davidre, broulik, kmaterka
Reviewed By: kmaterka
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T12778
Differential Revision: https://phabricator.kde.org/D28631
Summary:
After D28144, some animations are now too long because they were inappropriately
multiplying a duration value. That's no longer necessary, so let's remove the
multiplication.
Depends on D28144
Test Plan: Various things that were a bit too slow before feel just right now
Reviewers: #vdg, #plasma, cblack
Reviewed By: #vdg, #plasma, cblack
Subscribers: cblack, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28238
Summary:
The previous patch updates the pinned state only for the active applet. For instance, if you open the Networks applet and pin it, then switch to the Clipboard applet and click on the history item, then the Clipboard applet closes. This is because we need to use binding instead of assignment.
See https://phabricator.kde.org/D28408.
Reviewers: ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28483
Summary:
When I pin a Klipper widget and then click on a history item, the Klipper widget closes.
To fix this bug, we need to check if Klipped is pinned, but to be able to do this, we also need to "forward" the pinned state from the SystemTray applet to the Klipper applet.
BUG: 416510
FIXED-IN: 5.19.0
Reviewers: ngraham, #plasma
Reviewed By: ngraham
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28408
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: When none of the valid conditions are met, function should return default value for ItemLoader source. If not, error is printed in logs.
Test Plan: No warning about undefined value for url
Reviewers: #plasma_workspaces, #plasma, ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28259
Summary: This change simplifies icon size logic - now it is controled only in one place: AbstractItem. This gives additional benefits, like icons perfectly centered.
Test Plan: Highlights should always be centered
Reviewers: #plasma_workspaces, #plasma, ngraham, broulik, davidedmundson, apol
Reviewed By: #plasma_workspaces, #plasma, ngraham, broulik
Subscribers: mart, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28109
Summary:
The Pin buttons in the System Tray and Clock pop-ups are very small. This has
always felt slightly odd to me, and the recent change to add a defined header
area for the System Tray pop-up makes it even odder in my opinion, as the icon
is now much smaller than the area it visibly inhabits. This patch makes both icons
in both applets use the standard size with no local overrides. The clock pop-up's
pin button is ported to PC3 in the process.
Depends on D28228
Test Plan:
Before: {F8194101}
After: {F8194100}
Reviewers: #vdg, #plasma, ognarb, mart
Reviewed By: #vdg, #plasma, ognarb, mart
Subscribers: mart, ndavis, broulik, ognarb, plasma-devel
Tags: #plasma
Maniphest Tasks: T10470
Differential Revision: https://phabricator.kde.org/D28211
Summary: The `effectiveStatus` parameter was passed as a copy, use proper binding.
Test Plan: No visible impact
Reviewers: #plasma_workspaces, #plasma, ngraham, broulik, davidedmundson, apol
Reviewed By: ngraham
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28185
Summary:
This is a pre-existing problem, but became much more visible with D27189 (thus exposing
one of the reasons why I like visually separating dissimilar elements so much).
Essentially the dialog's bottom and right margins were not being properly mirrored on
the top and left, leading to the applet's content view looking off-center. Various apps
were locally adding their own extra top margins to compensate for this, which can be
removed once this patch lands.
This patch fixes that by explicitly using the default dialog margins for those edges.
I will submit follow-up patches to fix applets that were adding extra padding that is
now unnecessary.
Test Plan:
It was especially noticeable with D27160.
Before: {F8180273}
After: {F8180272}
Reviewers: #vdg, #plasma, cblack
Reviewed By: #vdg, #plasma, cblack
Subscribers: cblack, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28089
Summary:
This add a top area based on the current theme. If the file is not in the current theme, said area is not shown.
Problem: the header is moved to the right by the Svg element, and I'm not sure how to align it correctly anymore.
Depends on D27695
Test Plan: {F8088058}
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: mart, ngraham, ndavis, plasma-devel
Tags: #plasma
Maniphest Tasks: T10470
Differential Revision: https://phabricator.kde.org/D27189
Summary:
For very narrow panel item size is too big (item + padding exceed panel size). This adds a check to not exceed panel size.
Before:
{F8167941}
After:
{F8167942}
Test Plan:
* Make panel very narrow - icons should fit into panel
* Repeat for vertical/horizontal
Reviewers: #plasma_workspaces, #plasma, ngraham, broulik
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27958
Summary:
Depends on D27465
@ngraham recommended that I split up https://phabricator.kde.org/D27438 into three patches:
1. The foundation code to get landed first so that the other two patches can be done as patches that change two separate lines instead of just one
2. Tablet Mode increases tray icon spacing
3. This patch - Increase tray icon spacing slightly on Non-Tablet Mode (half of the amount it increases by in Tablet Mode)
This patch is for the third patch of the three recommended patches to split the original patch into, and makes the click areas for the System Tray Plasmoid slightly larger in normal Plasma.
Test Plan:
1. Install this patch to the System Tray Plasmoid
BEFORE:
{F8109485}
AFTER:
{F8109489}
Reviewers: #vdg, niccolove, ngraham
Reviewed By: #vdg, niccolove, ngraham
Subscribers: kmaterka, gvgeo, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27466
Summary:
Use the unified data model everywhere, not just in configuration. This simplifies UI code, separetes presentation from data.
This requires the use of ListView and GridView.
This change enables the implementation of more advanced sorting algorithms for systemtray items.
Test Plan: Affects almost all areas of system tray.
Reviewers: #plasma_workspaces, #plasma, davidedmundson, ngraham, broulik
Reviewed By: #plasma_workspaces, #plasma, davidedmundson, ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26992
Summary: With other two patches, this aims to make leftMargin consistent in widgets (See https://phabricator.kde.org/D26945 and https://phabricator.kde.org/D26944)
Test Plan:
System tray
Before:
{F7977382}
After:
{F7977379}
Notifications
Before:
{F7977359}
After:
{F7977357}
Battery monitor
Before:
{F7977362}
After:
{F7977361}
Self reminder: networkmanager is still slightly badly aligned
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: gvgeo, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26946
Summary:
@ngraham recommended that I split up https://phabricator.kde.org/D27438 into three patches:
1. The foundation code to get landed first so that the other two patches can be done as patches that change two separate lines instead of just one
2. Tablet Mode increases tray icon spacing
3. Increase tray icon spacing slightly on Non-Tablet Mode (half of the amount it increases by in Tablet Mode)
This patch integrates both patch 1 and 2 of what ngraham recommended to make system tray icon click areas larger when Kirigami's Tablet Mode setting is true than they normally are.
Test Plan:
1. Test that System Tray still works after these changes have been made
2. Check that when Kirigami.Settings.tabletMode is enabled the system tray icon click areas become slightly larger in size
Reviewers: ngraham, #vdg, #plasma, niccolove
Reviewed By: ngraham, #vdg, niccolove
Subscribers: davidre, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27465
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:
When having expanded System Tray once, plasmashell crashes on teardown.
Fixes regression introduced in D27085.
BUG: 417552
FIXED-IN: 5.19.0
Test Plan:
1. Start plasmashell
2. Open System Tray popup, close it again
3. run kquitapp5 plasmashell, it should not crash
Reviewers: #plasma_workspaces, #plasma, broulik, ngraham
Reviewed By: ngraham
Subscribers: anthonyfieroni, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27401
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
The category was only used for proper Plasma::Applet instances but not unloaded plasmoids from pure metadata.
BUG: 416947
FIXED-IN: 5.18.0
Differential Revision: https://phabricator.kde.org/D27068
Summary:
Fixes a bug, when system tray settings is opened and new application is opened, view is not correctly refreshed and icon is missing. Caused by duplicated role names. Related to: D26586
BUG: 416400
FIXED-IN: 5.18.0
Test Plan:
1. Open system tray settings
2. Open an app with systray icon
Expected:
Icon, title etc are correctly rendered.
Reviewers: #plasma_workspaces, #plasma, davidedmundson, ngraham, broulik
Reviewed By: #plasma_workspaces, #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26850
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: Both for plasmoids and SNI
Test Plan: Now there's some kind of feedback when pressing the icons
Reviewers: #plasma, ngraham
Reviewed By: ngraham
Subscribers: filipf, broulik, anthonyfieroni, davidedmundson, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19947
Summary:
System tray dialog/popup can be tiled. This should not be allowed, in this case expanded representaiton should have fixed size. When tiled, it is no longer possible to restore original size.
This also applies to other plasmoids.
BUG: 386551
FIXED-IN: 5.18.0
Test Plan:
1. Open any applet from system tray (for example Clipboard or hidden items)
2. Use shortcut to tile window (by default Meta + Left/Righ/...)
3. Applet will change size and tile at the borded of the screen
4. Expected:
a) before fix: allowed and not possible to restore size
b) after fix: not allowed or restores size on next open
Reviewers: #plasma_workspaces, #plasma, davidedmundson, broulik, ngraham
Reviewed By: ngraham
Subscribers: ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26545
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