439 Commits

Author SHA1 Message Date
Marco Martin
c621ebe572 make editMode a corona global property
Summary:
The plans are to switch on/off the whole plasma shell into edit mode.
For this it needs to be a global corona property, rather then just
containmentInterface.
Plasmashell would expose a dbus call to set it from systemsettings

Test Plan: plasmoid.editMode=true still works

Reviewers: #plasma, #vdg, ngraham

Reviewed By: #vdg, ngraham

Subscribers: ngraham, GB_2, broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D24239
2019-09-26 19:53:41 +02:00
Aleix Pol
d3b22f8828 Port trivial connects to the new style 2019-08-30 17:26:54 +02:00
Laurent Montel
f53365633c GIT_SILENT: Use QLatin1String in QString::contains etc. Fix replace
usage
2019-08-29 07:25:48 +02:00
Aleix Pol
04c0ff5cd7 Make sure we compare paths properly 2019-07-23 19:41:05 +02:00
Harald Sitter
a965fa4cb8 remove dangling remote widgets code
Summary:
can't be enabled anywhere + not actually doing anything as there is no
backing for it in the cpp + qca isn't even looked for by cmake

Test Plan: none

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D22618
2019-07-22 10:02:03 +02:00
Marco Martin
ccceb83b10 use clearItems when an applet gets deleted
back when this was written KConfigSkeleton didn't have clearItems
and setDefaults can still leave some cruft behind
this ensures all is gone
2019-07-18 17:44:15 +02:00
Aleix Pol
e6cbea39ff Remove unused bits in ContainmentAction 2019-07-10 19:26:50 +02:00
Aleix Pol
46f0da45c6 ContainmentAction: Fix loading from KPlugin
Summary: At the moment it was enabled in the PluginLoader but we were not using it anywhere.

Test Plan: See patch in plasma-workspace.

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D22267
2019-07-05 01:04:07 +02:00
Aleix Pol
6c692309ed Better use of Qt APIs in Plasma::Theme
Summary:
Try not to access hashes repeatedly.
QRegExp -> QRegularExpression.

Reviewers: #plasma, #frameworks, fvogt, mart

Reviewed By: #plasma, mart

Subscribers: bruns, tcanabrava, fvogt, broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D22147
2019-07-02 16:46:53 +02:00
Aleix Pol
097f0e83e7 Make Plasma::Svg::elementRect a bit leaner
Summary:
Don't double-access maps
Don't construct ids more times than necessary.
Make regular expression static so it's not compiled on every run.
Remove unused code.

Reviewers: #plasma, #frameworks, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: bruns, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D21788
2019-06-21 15:25:42 +02:00
Aleix Pol
52124c663e Don't notify about changing to the same state it was at
Summary:
The object tracker was telling me it's notifying the same value it
already got, and reading the code it seems to be already notifying when it
actually changes.

Test Plan: tests pass, plasma runs fine.

Reviewers: #plasma

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D21481
2019-06-13 01:04:53 +02:00
Aleix Pol
0b18d4f0b3 Don't modify a temporary object
Summary: Instead copy the object, operate it and update it into the object.

Test Plan:
just used plasma shell and ran the tests. I'm not sure who uses this.
Issue found with clazy.

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D21483
2019-05-30 15:38:35 +02:00
Aleix Pol
756a21a6ff Fix warnings
Don't pass objects to lambdas that get unused.
Don't connect to lambdas without specifying the target object, if an object
reference is passed to the lambda.
2019-05-29 16:23:29 +02:00
Nate Graham
7687ffa3da Use more appropriate "Alternatives" icon and text
Summary:
The new icon was just added in D20367. The current icon is semantically and visually incorrect,
and the new one fixes that.

The current text also does not begin with an action verb, and this patch fixes that too.

Test Plan:
Before:
{F6759646, size=full}

After:
{F6759647, size=full}
{F6759649, size=full}

Reviewers: #vdg, #plasma, GB_2, filipf

Reviewed By: #vdg, GB_2, filipf

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D20392
2019-04-08 15:04:02 -06:00
Friedrich W. H. Kossebau
fb1a332948 Add Theme::blurBehindEnabled()
Summary:
Allows themes to disable the blurring of what is behind panels,
if they either do not need it (being fully opaque) or by design want
non-blurry transparency.

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D19907
2019-03-21 19:33:41 +01:00
Laurent Montel
9fc663d9f0 Make it compiles without deprecated method
Summary: compile without deprecated method

Test Plan: all autotest ok

Reviewers: dfaure, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D19418
2019-02-28 23:01:43 +01:00
Kai Uwe Broulik
7ca1f01ea9 Do background contrast fallback at runtime
When a theme doesn't supply background contrast values, we take an educated guess based on whether it's a dark or light theme.
We didn't update the values when switching only color schemes at runtime (when theme follows it).
This lead to washed out Plasma popup and panel backgrounds. Instead, compute the fallback value at runtime.
Also, while at it, update complimentary colorscheme as well, which was forgotten here.

BUG: 401142

Differential Revision: https://phabricator.kde.org/D18487
2019-02-07 16:37:55 +01:00
Friedrich W. H. Kossebau
fcfc201c8d Use more https in links (& update a few urls)
GIT_SILENT
2019-01-19 16:36:59 +01:00
Aleix Pol
909364dfca Simplify reference counting of FrameData
Summary:
Leverages QSharedPointer for the reference counting.
Keeps the last value of the cacheId, as it can change sometimes and crash
the system.

Reviewers: #plasma, #frameworks, zzag

Reviewed By: #plasma, zzag

Subscribers: mart, zzag, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D17052
2018-11-22 19:09:13 +01:00
Kai Uwe Broulik
38098e96e3 Remove ComponentInstaller
When a dataengine failed to load it would ask PackageKit to install it but it's generally not how we want to distribute
plasmoid infrastructure these days and didn't work.

Differential Revision: https://phabricator.kde.org/D16301
2018-11-19 12:53:31 +01:00
Aleix Pol
069acf600c Make sure private header fields are initialized 2018-11-12 03:11:25 +01:00
Yuri Chornoivan
72ca2f79e0 Fix minor EBN issues and typos 2018-10-22 21:05:29 +03:00
Kai Uwe Broulik
e92ed94d9d Remove PLASMA_NO_KIO option
It is a remnant of the Plasma Active days and didn't even compile.
This patch only removes those ifdefs, it doesn't fix any issues I found during (e.g. double lookups or the fact
that KRun::autoDelete is the default now)

Differential Revision: https://phabricator.kde.org/D16295
2018-10-18 16:44:27 +02:00
Aleix Pol
8c18054a0d Properly look for fallback themes
Summary:
At the moment we always look at the first fallback and load the original
theme again, rendering moot the fallback look-up.

Reviewers: #plasma, davidedmundson, hein

Reviewed By: #plasma, davidedmundson, hein

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D15970
2018-10-09 01:19:55 +02:00
Friedrich W. H. Kossebau
53a2960353 Avoid potential detach on range-loops with non-const Qt containers
Seen by clazy range-loop
2018-09-18 01:11:28 +02:00
Kai Uwe Broulik
938cef210c Get rid of deprecated QWeakPointer usage
Replace by QPointer

Differential Revision: https://phabricator.kde.org/D14819
2018-08-17 15:44:08 +02:00
Nathaniel Graham
2e640ce13a Improve Widgets' removal and configure text
Summary: This patch makes the text for removal and configuration actions consistent with one another.

Test Plan: {F6191533}

Reviewers: #plasma, #vdg, abetts

Reviewed By: #plasma, #vdg, abetts

Subscribers: abetts, broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D14810
2018-08-14 00:00:04 +02:00
Marco Martin
56f0df4127 if an applet is invalid, it has immediately UiReadyConstraint
Summary:
mirroring the behavior when the applet is created by restorecontents,
invalid applets get immediately uireadyconstraint.
This solves the problem of panels not appearing when the setup js contains an non existent applet,
as the panel was waiting forever for applets to finish loading, which never happens

Test Plan: now js startup scripts with an invalid applet have panels loading correctly.

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D14341
2018-07-26 13:10:34 +02:00
Friedrich W. H. Kossebau
30cbc2dc33 Use more nullptr 2018-07-02 00:16:21 +02:00
Vlad Zagorodniy
412a517576 FrameSvg: Do not wreck shared mask frames
Summary:
When trying to update the maskFrame, there is a chance that it is already
shared by several instances of FrameSvg. In that case, do not wreck maskFrame
and instead act as follows:

* deref it
* try to lookup a matching frame in the shared frames
* if there is the matching frame, use it
* otherwise create a new one

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: mart, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13384
2018-06-27 15:36:59 +03:00
Laurent Montel
70a274ad3a Use override 2018-05-23 08:05:40 +02:00
Friedrich W. H. Kossebau
7c15af4138 Use "Configure %1..." for text of applet configure action
Summary:
Follows HIG in using verb-based name, also starting the text with the most
important objective first.
As result also consistent with default text for similar action in menu of a
normal app (when using KStandardAction).

Reviewers: #vdg, #plasma, ngraham

Reviewed By: #vdg, ngraham

Subscribers: ngraham, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D12562
2018-04-30 18:07:14 +02:00
Marco Martin
bfa19dbc8f add a version containmentForScreen with activity
Summary:
add a version of containmentForScreen which it has the activity.
which is correct as the activity id of containments in in libplasma side.
this ensure the correctness of shellCorona createContainmentForActivity
as now it works also for activities different from the current one.
to make multimonitor a tad safer with it, when creating containments for an activity, initialize their lastScreen to the asked screen.

Test Plan: tried with an old plasmashell and is perfectly retrocompatible

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11361
2018-04-16 11:22:25 +02:00
Laurent Montel
e690c4726e Warning-- 2018-04-13 13:58:44 +02:00
Jaime Torres
33ddaaa23f Reduce plasmashell frozen time
Summary:
Third part of https://phabricator.kde.org/D10627

According to the documentation at http://doc.qt.io/qt-5/qabstractnativeeventfilter.html

The type of event eventType is specific to the platform plugin chosen
at run-time, and can be used to cast message to the right type.

On X11, eventType is set to "xcb_generic_event_t", and the message can
be casted to a xcb_generic_event_t pointer.

The other eventType are "windows_generic_MSG" and "mac_generic_NSEvent".

No other eventType starts with an 'x'.

Reviewers: #frameworks, #plasma, mwolff, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: mwolff, plasma-devel, davidedmundson

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10670
2018-03-21 19:26:45 +01:00
Kai Uwe Broulik
9870027494 [Plasma Theme] Guard against invalid KPluginInfo object
BUG: 389152

Differential Revision: https://phabricator.kde.org/D9961
2018-01-22 11:10:11 +01:00
Eike Hein
2956419c7e Revert "Don't tear down renderer and other busy work when Svg::setImagePath is invoked with the same arg"
This reverts commit 4ce50cc61f677a26ec12b9fe728ca233e1782e21.

This caused a regression with toggling compositing, causing SVG reloads
with the same path to switch to opague elements. As this revision was
meant as a performance optimization, it can be reverted with no other
consequence for now.
2017-12-16 20:16:38 +09:00
Montel Laurent
d14d50a668 Add more explicit 2017-12-13 07:52:10 +01:00
Montel Laurent
7f0c023d3f Use nullptr + add explicit 2017-12-13 07:36:22 +01:00
Marco Martin
604aba0e24 reuse KPackage instance between PluginLoader and Applet
Summary:
to minimize metadata lookups, pass the kpackage created in pluginloader
to the applet itself as args. the args structure will be used only by the
internal constructor and applet sublasses will get their args unaltered

Test Plan:
plasma loads correctly, from 3 kpackage instantiation per applet to 2
(last is in the access manager)

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9123
2017-12-09 10:37:08 +01:00
Eike Hein
f75816a33a Initialize scale factor to the last scale factor set on any instance
Summary:
Plasma::Svg initializes SvgPrivate::scaleFactor to 1.0. On systems with
a higher value for Units:devicePixelRatio, that means Svg::setScaleFactor
gets called with a different value right after instanciation and a fair
amount of work is done twice.

This patch introduces a static SvgPrivate::s_lastScaleFactor,
initialized to 1.0 but updated in Svg::setScaleFactor.
SvgPrivate::scaleFactor is then initialized to the static every time
its instanciated. That means after the first time Svg::setScaleFactor
is called with e.g. 2.0, subsequent Svg instances get initialized
with 2.0.

This ends up shaving a decent amount of time off of startup on scaled
systems.

Reviewers: #plasma, davidedmundson, broulik

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9119
2017-12-04 04:56:19 +09:00
Eike Hein
73b6d92258 Revert "Initialize scale factor to the last scale factor set on any instance"
This reverts commit 15f470fafce35d9d3be555564e704c11078419b9.
2017-12-04 03:00:53 +09:00
Eike Hein
15f470fafc Initialize scale factor to the last scale factor set on any instance
Summary:
Plasma::Svg initializes SvgPrivate::scaleFactor to 1.0. On systems with
a higher value for Units:devicePixelRatio, that means Svg::setScaleFactor
gets called with a different value right after instanciation and a fair
amount of work is done twice.

This patch introduces a static SvgPrivate::s_lastScaleFactor,
initialized to 1.0 but updated in Svg::setScaleFactor.
SvgPrivate::scaleFactor is then initialized to the static every time
its instanciated. That means after the first time Svg::setScaleFactor
is called with e.g. 2.0, subsequent Svg instances get initialized
with 2.0.

This ends up shaving a decent amount of time off of startup on scaled
systems.

Reviewers: #plasma, davidedmundson, broulik

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9119
2017-12-04 00:03:46 +09:00
Eike Hein
4ce50cc61f Don't tear down renderer and other busy work when Svg::setImagePath is invoked with the same arg
Summary:
During my plasmashell startup this saves time for 17 calls. Opening
something like Simple Menu saves another ~dozen.

It's worth investigating why Svg::setImagePath gets called repeatedly
with the same args to begin with, but this is worth doing anyway.

Reviewers: #plasma, davidedmundson, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9115
2017-12-03 06:45:47 +09:00
Aleix Pol
1f9b5ed657 Performance
Summary:
Remove splitting + joining of a string just to remove the beginning of a
string.
Remove double look-up.
Solves Clazy warnings

Reviewers: #frameworks, #plasma, hein

Reviewed By: #plasma, hein

Subscribers: hein, plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9109
2017-12-02 16:22:03 +01:00
Aleix Pol
b8b8a69fd1 Remove implicit string casting
Summary: Follow the KF5 guidelines

Test Plan: Plasma shell starts

Reviewers: #plasma, #frameworks, sebas

Reviewed By: #plasma, sebas

Subscribers: plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9108
2017-12-02 15:44:14 +01:00
David Faure
d3ed3bcbbf GIT_SILENT remove confusing comment. There's no ref() happening here. 2017-11-25 23:19:42 +01:00
Kai Uwe Broulik
3e284c2404 HTML-escape applet name in undo notification 2017-08-28 16:51:48 +02:00
Kai Uwe Broulik
b4c1c9cdfa Drop remains of "locolor" themes
It's not being set to anything anymore and people typically don't have 256 color displays these days.

Differential Revision: https://phabricator.kde.org/D7516
2017-08-25 10:37:35 +02:00
Kai Uwe Broulik
cf8ae465e4 [Theme] Use KConfig SimpleConfig
We're passing it an absolute path to a file in our install directory anyway,
so we probably don't want inheritance.

Differential Revision: https://phabricator.kde.org/D7362
2017-08-17 12:17:15 +02:00