Take into account the label's height for minimum size. When we resize the applet super tiny,
it's likely text wraps onto two lines, so use a two line text as minimum (it already does that for preferredHeight anyway).
Differential Revision: https://phabricator.kde.org/D4477
Summary:
after the recent set of changes to disqualification we ended up with a bit
too lax disqualification. if we saw the exec OR the storageid we'd
hence forth disqualify a service with either of them being equal.
in case of system settings this causes a match problem. systemsettings
has two desktop files one !KDE and one OnlyKDE they are however exactly
the same except for a different name and storageid. as a result if the !KDE
one is encountered first it will be disqualified on account of
noDisplay=true and marked as seen. when the OnlyKDE systemsettings is then
iterated it will already have the Exec entry in the seen list and be
disqualified on account of that.
to prevent this type of confusion make it a requirement to match both
storageid AND exec before disqualifying.
it may actually be suitable to drop the exec altogether. say I copy firefox
into the user local applications dir and set it NoDisplay=true but change
the exec. this would still lead to the system-wide firefox being found as
it is not getting disqualified. long story short: maybe we should
disqualify services solely on the storageid?
Test Plan:
- new autotest case
- fails without changes
- passes with changes
Reviewers: broulik
Reviewed By: broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4415
Otherwise it fails to lock the screen and since it waits for the lock screen to show up before switching, it never does it.
BUG: 375941
FIXED-IN: 5.9.1
Differential Revision: https://phabricator.kde.org/D4470
Summary:
applets that acces their config in C++ needs to implement
configChanged() in order to still work correctly in the scripting
console
Test Plan: correct icon when created from scripting console and config written from there
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4461
This belongs in a header only (where it already is) and my IDE complains about it.
Since the macro expands to nothing anyway this doesn't change anything.
Differential Revision: https://phabricator.kde.org/D4456
This is the same Plasma ContainmentInterface does. Otherwise QtQuick gets confused about mouse state.
Differential Revision: https://phabricator.kde.org/D4455
childAt expects coordinates relative to the item, so we need to mapFromScene before we do that.
BUG: 375535
FIXED-IN: 5.9.1
Differential Revision: https://phabricator.kde.org/D4452
Summary:
::createMenu sometimes creates a new menu, sometimes returns a pointer
to a menu from libdbusmenu that we shouldn't delete.
This patch makes any newly created menu delete itself on closure.
It then shuffles some code so that we only call createMenu after
doing checks.
Test Plan:
Ran in compact mode, clicked menu a few times
Ran in full mode, clicked a menu a few times
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4393
Summary:
Versions of VirtualBox packaged on Neon and Fedora now have
a proper WM_CLASS:
Fedora: WM_CLASS(STRING) = "VirtualBox", "VirtualBox"
Neon: WM_CLASS(STRING) = "Qt-subapplication", "VirtualBox"
And install a matching virtualbox.desktop.
We can therefore drop this rule.
BUG:350468
Side note: The rule should actually still have worked, but
for some reason KServiceTypeTrader refuses to match a .desktop
with 'Exec=VirtualBox %U' when we query for 'VirtualBox', as
extracted from cmdline. I'm talking to dfaure about it.
Reviewers: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4346
Summary:
isOutputRedundant badly failed when two screens had
the exact same geometry (that should be, the base
case for "cloning" screens.
now the logic is:
a screen is redundant if:
* its geometry is contained in another one
* if their resolutions are different, the "biggest" one wins
* if they have the same geometry, the one with the lowest id wins (arbitrary, but gives reproducible behavior and makes the primary
BUG:375507
Test Plan:
tested with two screens:
* overlapping, same resolution: the lowest id (0, the primary) wins, the other one doesn't get a view
* overlapping, different resolutions: the biggest one wins
* not overlapping: both get a view
Reviewers: sebas, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4309
Summary:
isOutputRedundant badly failed when two screens had
the exact same geometry (that should be, the base
case for "cloning" screens.
now the logic is:
a screen is redundant if:
* its geometry is contained in another one
* if their resolutions are different, the "biggest" one wins
* if they have the same geometry, the one with the lowest id wins (arbitrary, but gives reproducible behavior and makes the primary
BUG:375507
Test Plan:
tested with two screens:
* overlapping, same resolution: the lowest id (0, the primary) wins, the other one doesn't get a view
* overlapping, different resolutions: the biggest one wins
* not overlapping: both get a view
Reviewers: sebas, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4309
Summary:
ContainmentConfigView has a special code path for wallpaper configs
where, if you change wallpaper type, it will create a temporary config
ConfigPropertyMap, then copy it over to the real config when the
containment actually changes.
ConfigPropertyMap does not call valueChanged() on insertion (See
QQmlPropertyMap), and we only write the value into the actual
KConfigSkeleton on valueChange.
BUG: 375532
Test Plan:
Start plasma with image wallpaper
Set to colour wallpaper and save colour
Hit apply
Close plasma
Start plasma
Before the correct colour wouldn't be loaded. Now it is.
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4285
Files in desktop:/ are local files but QUrl doesn't know this.
Also allows us to determin mime type and icon for files on a network share.
While at it, improve default naming logic.
BUG: 375103
FIXED-IN: 5.9.0
Differential Revision: https://phabricator.kde.org/D4157
setting the application name and the provides
resets the model two times in a short time, so don't
reset on startup, until componentCompleted arrived
BUG:375105
for signals annotations of parameters needs to be marked as
org.qtproject.QtDBus.QtTypeName.In0 even if technically then should
be an "out" parameter
reviewed-by: David Edmundson
Summary:
This can happen without a focus change if focus is changed to a window
that doesn't claim the menu, for example the desktop.
It could also happen if an application does something weird, like
release
its service name.
BUG: 374995
Test Plan:
Ran "sleep 10; killall kate"
Then selected kate then the desktop
Kate remained showing for 10 seconds then closed
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4177
Summary:
We only want to set the menu to unavailable when we've searched all the
transient windows and found there is no menu, not whilst we are looping.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4176
Summary:
This not only makes the code cleaner but more importantly avoids plasma
making a blocking DBus call to a client in the QDBusInterface
constructor
which does a blocking call to Introspect
Test Plan: Ran my test app with the dynamic menu. Everything was still
fine
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4172
Summary:
We still call aboutToShow on them inside libdbusmenu-qt and update the
menu whilst it's showing, but having it pre-populated makes it look a
bit faster.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4163