Commit Graph

3891 Commits

Author SHA1 Message Date
Kai Uwe Broulik
e143f7d457 [Icon Item] Use ItemEnabledHasChanged
Preferred over having a connect and it go through meta signal invocation when it's emitted

Differential Revision: https://phabricator.kde.org/D14531
2018-08-17 15:46:29 +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
Kai Uwe Broulik
4bda8ec0b7 Fix style sheet for 22-22-system-suspend
Turns out this icon had a hardcoded color in it which wasn't the case for the
full size icon used on my high dpi system.

Thanks Sandro Knauß for helping investigate this

BUG: 397441
2018-08-17 11:50:32 +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
David Edmundson
0ae178016a Copy PlasmaCore binary qmldir file structure into bin for unit tests
This way tests pass before installation.

Test Plan:
Before patch

Created a broken env by unsetting QML2_IMPORT_PATH
Ran test. It failed

It passes.

Reviewers: #plasma, dfaure

Reviewed By: dfaure

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D14743
2018-08-13 22:42:31 +02:00
l10n daemon script
5663500132 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-08-01 05:51:51 +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
Kai Uwe Broulik
af01c2e953 [Plasma PluginLoader] Cache plugins during startup
Similar to KPackage's cache this speeds up startup where plugins are repeatedly looked up.
Especially the fallback path of looking in the plugin root directly causes quite some slowdown.

Differential Revision: https://phabricator.kde.org/D14009
2018-07-23 16:24:27 +02:00
David Edmundson
bd6d332fe7 Fix fading node when one textured is atlassed.
source and target were swapped in both the QSGNode::updateState/bind
and in the fragment shader.

When Atlas support was added, the texture position was put the right way
round; which made things backwards so source/target also got swapped
instead of fixed properly.

But this leads a glitch if one texture was in the atlas and one
wasn't (not common)

This puts everything the right way round again.

Reviewed-by: Kai Broulik
2018-07-23 12:17:20 +02:00
Kai Uwe Broulik
0351ea74b2 [Containment] Don't load containment actions with plasma/containment_actions KIOSK restriction
Allows disabling all containment actions, such as context menus, middle click paste, wheel desktop switch, etc.

Differential Revision: https://phabricator.kde.org/D14045
2018-07-17 15:52:55 +02:00
Friedrich W. H. Kossebau
30cbc2dc33 Use more nullptr 2018-07-02 00:16:21 +02:00
Vlad Zagorodniy
0c8dd9dc2b FrameSvg: Update mask frame if image path has been changed
Summary:
A FrameSvg can have wrong mask frame if image path has been changed after
the mask frame was generated. Take image path into account when deciding
whether the mask frame should be updated to address that problem.

Depends on D13384

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13496
2018-06-27 15:37:05 +03: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
Vlad Zagorodniy
acdaefa221 FrameSvg: Simplify updateSizes
Summary:
```lang=cpp
if (hintXXXMargin > -1) {
    // ...
} else {
    // ...
}
```

are redundant because fixedXXXMargin already hold correct margin values.

Test Plan: Manually

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13402
2018-06-27 15:34:25 +03:00
Alexey Varfolomeev
5ff9756047 Icons for Keyboard Indicator T9050 2018-06-20 23:40:31 +04:00
l10n daemon script
099592d38c SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-06-18 05:29:43 +02:00
andreas kainz
e8697fada6 fix color for media icon 2018-06-16 23:31:12 +02:00
Vlad Zagorodniy
dce258bee3 FrameSvg: Recache maskFrame if enabledBorders has been changed
Summary:
In some cases, when rendering frame svg background, measures & margins
do not correspond to `enabledBorders`. I.e. `bottomHeight` may be equal to 5,
but the bottom border is disabled. This causes visual artifacts like this

{F5878318, layout=center, size=full}

//Pay close attention to the bottom of the Task switcher. It has a transparent strip at the bottom, which shouldn't be there.//

The cause of this problem is that FrameSVGPrivate::alphaMask doesn't take enabledBorders
into account when it's making decision whether it should update maskFrame.

Just for reference, this is "after"

{F5878319, layout=center, size=full}

BUG: 382324
BUG: 390632
BUG: 391659

Test Plan:
* Triggered the Breeze task switcher (with compositing on and off)
* Didn't see any transparent strips

---

* Tried running FrameSvgTest, still passes

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: abetts, mart, aseigo, broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13215
2018-06-06 20:52:01 +03:00
Vlad Zagorodniy
a46cd14553 FrameSvg: Draw corners only if both borders in both directions are enabled
Summary:
FrameSVG documentation states

> ... topleft and topright will be ignored if top does not exist,
> and similarly for bottomleft and bottomright ...

Someone would assume that the same behaviour applies to the case
when left(or right) does not exist.

This change makes FrameSVG to comply with such expected behaviour.

### Before

{F5878439, layout=center, size=full}

The bottom border doesn't exist so the bottom-right corner should not
be drawn.

### After

{F5878440, layout=center, size=full}

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: mart, kde-frameworks-devel

Tags: #frameworks, #plasma

Differential Revision: https://phabricator.kde.org/D13218
2018-06-06 20:51:40 +03:00
Eike Hein
e108d7e90e Teach ContainmentInterface::processMimeData how to handle Task Manager drops
Summary:
To explicitly confine Task Manager drops to Plasma and avoid accidental
drops on other apps, D13274 makes it store task launcher URLs in a special
internal MIME type instead of the generic text/url one. This change to
processMimeData() adds the necessary conversion back.

Reviewers: davidedmundson, Zren, mart

Subscribers: kde-frameworks-devel, plasma-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13275
2018-06-06 08:12:28 +09:00
Vlad Zagorodniy
b169aa50f9 FrameSVG: Delete redundant checks
Summary:
There is no need to check whether `cachedBackground` is null, and if
it's null, return a null pixmap.

Reviewers: #plasma, #frameworks, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13287
2018-06-04 19:41:32 +03:00
Vlad Zagorodniy
a363815a79 FrameSVG: Fix QObject include
Summary: See Frameworks coding style: https://techbase.kde.org/Policies/Frameworks_Coding_Style#Qt_Includes_and_KDE_Frameworks_Includes

Reviewers: #plasma, #frameworks, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13286
2018-06-04 19:41:00 +03:00
Fabian Vogt
d15f0fa832 Use QDateTime for interfacing with QML
Summary:
QDate from/to JS Date has unexpected results, so use QDateTime to have a
timezone assigned to prevent conversions. That way the date values are
consistent.

The behaviour got changed with Qt 5.11 (see the linked bug report) which
lead to plasma showing the wrong dates in the calendar.

BUG: 394423

Test Plan:
Tested with and without this patch on Qt 5.10.1 and 5.11.0.
Now the correct date is displayed for -0004 and +0001 timezones.

Reviewers: #plasma, #frameworks, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: ngraham, Zren, sharvey, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13222
2018-06-04 10:33:06 +02:00
Laurent Montel
70a274ad3a Use override 2018-05-23 08:05:40 +02:00
Friedrich W. H. Kossebau
b6a6e95afc [Breeze Plasma Theme] Fix kleopatra icon to use color stylesheet
Summary:
Had hardcoded colors before.

BUG: 394400

Test Plan:
Looks properly in cuttlefish in black/white mode, both inverted &
non-inverted.

Reviewers: #plasma, aheinecke

Reviewed By: aheinecke

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D12959
2018-05-18 20:57:59 +02:00
Kai Uwe Broulik
11f4e5b392 [Dialog] Handle dialog being minimized gracefully
Dialogs don't show up in task bar and also don't have window decoration so they're not meant to be minimized.
However, they might still be minimized by external means, such as "Minimize All" plasmoid.
In this case hide the dialog. Also, Qt restores a minimize state when showing again, rendering the dialog inaccessible.
Before showing, always unset the minimized state using new Qt 5.10 API

BUG: 381242

Differential Revision: https://phabricator.kde.org/D12876
2018-05-16 14:00:04 +02:00
David Edmundson
505295ce4b Revert "windowthumbnail: Use mipmap texture filtering"
This reverts commit 612494e2b2.

This caused a huge regression for some drivers breaking functionality
completely. Better to revert for now, and try again when we have it
fully working.

See 393241
2018-05-03 23:15:53 +01:00
David Edmundson
f7c1752ae1 Revert "windowthumbnail: Use gamma correct scaling"
This reverts commit 42d3fde1ee.
2018-05-03 23:15:53 +01:00
Friedrich W. H. Kossebau
af9a4680aa [Air & Oxygen themes] Bump version for calendar event marker fix 2018-05-03 16:24:42 +02:00
Friedrich W. H. Kossebau
f36905878b Fix not shown event marker in calendar with air & oxygen themes
Summary:
Remove outdated calendar.svgz from air & oxygen themes which
still contained only the Plasma4 area calendar elements, but not
the (for now single) Plasma5 one, "event".

Given none of the old elements can be reused for the new element "event",
the complete files are removed for now.

Test Plan:
Selecting Air or Oxygen themes the event markers are now shown on days in
the calendar grid widget.

Reviewers: #plasma, mart, broulik

Reviewed By: #plasma, broulik

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D12680
2018-05-03 16:11:33 +02:00
Friedrich W. H. Kossebau
67f5ad29e8 Fix PlasmaCalendar widget to not mark days with minor events
Summary:
CalendarEvents::EventData (in KDeclarative) has a property isMinor, which is
described as "If set to true, it won't be marked in the calendar grid".

This patch fulfils that promise, by introducing separate roles on the model
which explicitly report the existance of any major or any minor events at a
given day, so that the marker loader can concentrate on the major events.

Test Plan:
Using a plasmacalendar plugin which feeds events with isMinor=true the
widget now only marks days which have major events.

Reviewers: #plasma, broulik, davidedmundson

Reviewed By: #plasma, broulik, davidedmundson

Subscribers: davidedmundson, broulik, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D12438
2018-05-02 17:33:30 +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
Kai Uwe Broulik
c9e8e2e717 [Button Styles] Fill height and vertical align
Otherwise the Text will never grow below its preferred height as the button grows smaller and will
eventually leak outside at the bottom rather than stay centered.

BUG: 393388

Differential Revision: https://phabricator.kde.org/D12518
2018-04-26 17:04:05 +02:00
andreas kainz
f16190d89c add video-card-inactive icon for system tray 2018-04-25 22:35:19 +02:00
Friedrich W. H. Kossebau
de1fde8298 Use "Do x" action texts for drop menu entries
Summary:
Dropping some item onto a containment results in a menu which lists widgets
and wallpaper plugins without explicitly telling what will happen onto
activation.

Changing the menu entries into "Add widget" and "Set wallpaper" makes it
more obvious what they will result in.

Reviewers: #vdg, #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: ngraham, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D12247
2018-04-25 15:37:36 +02:00
Friedrich W. H. Kossebau
931587f937 Remove unneeded includes 2018-04-25 15:34:49 +02:00
Marco Martin
efc1385ae3 square by default 2018-04-22 22:06:57 +02:00
Marco Martin
47d1bc946a coorect look for flat buttons 2018-04-22 22:01:56 +02:00
Marco Martin
74209db8c3 add missing ScrollView 2018-04-22 20:35:33 +02:00
Marco Martin
fcf10579b3 hide tooltip on mouse press 2018-04-22 14:13:37 +02:00
Kai Uwe Broulik
a0b7a71a94 [Containment Interface] Don't enter edit mode when immutable
Opening the toolbox when widgets are locked reveals the widget handles but they're empty as all the actions are unavailable.
Just refuse to enter edit mode then.

Differential Revision: https://phabricator.kde.org/D12379
2018-04-22 12:51:53 +02:00
l10n daemon script
cf462de7b1 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-04-22 05:39:03 +02:00
Marco Martin
5791bee19f make sure largespacing is perfect multiple of small
as agreed with vdg
2018-04-20 12:42:43 +02:00
Marco Martin
0e013db633 call addContainment with proper paramenters 2018-04-18 12:31:12 +02:00
Aleix Pol
49ef90bcb9 Don't show the background if Button.flat
Summary: Otherwise the flat property is ignored

Test Plan: Tested on KDE Connect port to use PlasmaComponents

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: mart, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11652
2018-04-17 13:44:11 +02:00
Marco Martin
2de1bda33a ensure the containment we created has the activity we asked for 2018-04-16 13:36:07 +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
Laurent Montel
a4eeca5190 Warning-- 2018-04-13 09:05:26 +02:00
David Edmundson
2785916d01 Don't alter memory management to hide an item
Summary:
The original owner of a graphics item is the declarative applet script which
is owned and deleted by the applet.

Reparenting the containmentquickitem to the containment doesn't really
solve anything useful, we were originally effectively owned by the
containment(an applet subclass) not the view anyway.

This code also accidentally moves the destruction of the applet from being in
::~Applet to being in ::~QObject of the relevant containment. This
causes a big problem if the AppletQuickItem tries to access the applet
in it's own destructor. The applet object still exists, but use of
Applet member variables is not valid.

The new preloading code does this, leading to a crash.

BUG: 391642

Test Plan:
Changed desktop to folder twice
Changed activities twice

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: rikmills, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D12064
2018-04-10 14:38:52 +01:00
l10n daemon script
d93ecddd14 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-30 05:21:16 +02:00
Kai Uwe Broulik
e5dcc0b47f [ToolTipArea] Add "aboutToShow" signal
This is emitted just before the tooltip is shown and allows the user to defer heavy lifting to when the dialog is actually shown.

Differential Revision: https://phabricator.kde.org/D10381
2018-03-27 17:37:56 +02:00
Fredrik Höglund
42d3fde1ee windowthumbnail: Use gamma correct scaling 2018-03-27 16:42:18 +02:00
Fredrik Höglund
612494e2b2 windowthumbnail: Use mipmap texture filtering
Blit the contents of the TFP texture to a separate mipmap texture,
and (re)generate the mipmaps on each damage event.

This commit also fixes ARGB thumbnails being rendered as opaque.

Note that this commit only modifies the GLX path.

BUG: 390457
2018-03-27 16:42:18 +02:00
David Edmundson
6291c4852f remove anchors of item in a layout
Summary:
Having an anchor is undefined, and emits a warning in Qt5.11

Mostly it's used to vertically centre items. Some cases already had a
Layout.alignment property. In some cases it was added.

Reviewers: #plasma

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11557
2018-03-21 19:12:23 +00: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
Marco Martin
e3c5417799 preload only after the containment emitted uiReadyChanged
this way we are sure not to delay the panel load
2018-03-20 12:44:51 +01:00
l10n daemon script
a525489d5d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-20 05:19:24 +01:00
Nathaniel Graham
3a66e9a0a5 Fix combobox breakage
Summary:
https://cgit.kde.org/plasma-framework.git/commit/?id=a21bc11fe11651f6d211489ebfc8435cef877194 erroneously added `renderType` properties to PlasmaComponents3 ComboBoxes, but QML ComboBoxes don't have this property, which broke Latte Dock's settings. This patch removes it.

BUG: 392026

Test Plan:
- Deployed, added Latte Dock, ran Plasmashell with and without `PLASMA_USE_QT_SCALING=1`, and with and without a HiDPI scale factor
- Opened Latte Dock's settings window. In all cases, Latte Dock's settings window appeared normally and all comboboxes rendered properly
- Opened Folder View settings and verified that all ComboBoxes there looked and worked fine, too

Reviewers: broulik, #plasma, mvourlakos, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11484
2018-03-19 09:40:20 -06:00
l10n daemon script
5cd23ff55f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-17 05:05:51 +01:00
Nathaniel Graham
a21bc11fe1 Fix text scaling with non-integer scale factors when PLASMA_USE_QT_SCALING=1 is set
Summary:
When `PLASMA_USE_QT_SCALING=1` is set, Plasma uses native Qt scaling. This works fine for integer scale factors, and fixes a lot of bugs (see [[https://bugs.kde.org/show_bug.cgi?id=356446|Bug 356446]]) but it introduces a new one: with non-integer scale factors, text becomes blurry and pixellated because of a bug in `Text.NativeRendering`: https://bugreports.qt.io/browse/QTBUG-67007

QQC2-desktop-style forces the use of `Text.QtRendering` rendering for non-integer scale factors, successfully working around the problem. But PlasmaComponents QML objects don't implement the same workaround, so we see the issue in Plasma. This patch fixes that, and gets us one step closer to being able to use Qt scaling in Plasmashell.

There is no effect when `PLASMA_USE_QT_SCALING=1` is not being used.

FIXED-IN 5.13
BUG: 391691
BUG: 384031
CCBUG: 386216
CCBUG: 391695
CCBUG: 391694
CCBUG: 385547
CCBUG: 391692
CCBUG: 356446

Test Plan:
Before: `PLASMA_USE_QT_SCALING=1` set, 1.2 scale factor: Plasma text looks awful:
{F5749797}

After: `PLASMA_USE_QT_SCALING=1` set, 1.2 scale factor: Plasma text looks amazing!
{F5749798}

Note that we still get sub-pixel anti-aliasing and good kerning. There appear to be no layout regressions.

Without both `PLASMA_USE_QT_SCALING=1` and a non-integer scale factor set, there is no visual change compared to the status quo.

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: mart, broulik, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11244
2018-03-16 16:26:38 -06:00
Marco Martin
5163e3e9ff new icons for disconnected/disabled devices
Summary:
there were some icons which conveyed meaning solely by color
which is discouraged by the hig
https://community.kde.org/KDE_Visual_Design_Group/HIG/Color
this makes use of the little x corner icons that are already
used somewhere in breeze (like muted microphone)
the exception is wireless off that has a bar, so a stronger
this is disabled message than wireless-disconnected

Depends on D10243
...which should go in asap

Test Plan: they all look readable at 100% zoom

Reviewers: #plasma, #vdg, andreask

Reviewed By: andreask

Subscribers: andreask, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11390
2018-03-16 16:15:17 +01:00
Kai Uwe Broulik
049aa5677d [Dialog] Allow setting outputOnly for NoBackground dialog
I don't see why this would be silently discarded.
The input shape has nothing to do with the window mask (e.g. rounded border depending on theme).

Differential Revision: https://phabricator.kde.org/D11102
2018-03-15 13:07:11 +01:00
Kai Uwe Broulik
77bac859bc [ToolTip] Check file name in KDirWatch handler
KDirWatch::self() is a singleton so we would get change events also for other files like plasma-appletsrc needlessly reloading plasmarc all the time.

Differential Revision: https://phabricator.kde.org/D11326
2018-03-15 12:17:10 +01:00
l10n daemon script
f65393c68e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-13 05:18:02 +01:00
Kai Uwe Broulik
7ea4c5c8c1 Add precision to fading fragment material shader also 2018-03-12 16:22:05 +01:00
David Edmundson
d196823f59 Add precision to fading material core frag shader 2018-03-12 14:30:23 +00:00
Roman Gilg
da64339eeb [Breeze Plasma Theme] Apply currentColorFix.sh to changed media icons 2018-03-07 15:52:33 +01:00
Kai Uwe Broulik
785bc44c7a [Breeze Plasma Theme] Add media status icons with circles 2018-03-07 11:16:21 +01:00
Roman Gilg
812b32fb05 Remove frames around media buttons
Summary:
We were inconsistent on that and it can get in way with placement on buttons.

Mirrors a change in Breeze icons.

{F5740901}

Reviewers: #frameworks, #plasma, ngraham

Reviewed By: #frameworks, ngraham

Subscribers: ngraham, mart

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11050
2018-03-07 10:33:46 +01:00
Kai Uwe Broulik
48771a2912 [Window Thumbnail] Allow using atlas texture
It's not using any custom shaders anyway

Differential Revision: https://phabricator.kde.org/D11097
2018-03-06 15:13:11 +01:00
Kai Uwe Broulik
7e5dff648f [Dialog] Remove now obsolete KWindowSystem::setState calls
The comment says it's resolved in Qt 5.6.1+ but Frameworks depends on Qt 5.7 nowadays

Differential Revision: https://phabricator.kde.org/D10769
2018-03-06 14:42:08 +01:00
David Edmundson
02c4194534 Support Atlas textures in FadingNode
Summary:
Previously IconItem would create icons in new textures for animating. By
keeping them in the atlas not only do we avoid that, but we should
implicitly share the QSGTexture used for non-animating item.

Test Plan:
Moused over icon, it changed correctly
Set core profile, moused over an icon it changed correctly

Reviewers: #plasma

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11091
2018-03-06 12:36:08 +00:00
David Edmundson
188be131bc Fix FadingMaterial fragment with core profile
Summary:
Currently it asserts. I'm sure it worked at some point.
Fixed to match shaders shipped with Qt.

Test Plan:
Set Core profile
Did crash
Now doesn't

Reviewers: #plasma

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11090
2018-03-06 12:36:08 +00:00
Kai Uwe Broulik
8019cb369c [Icon Item] Remove unused variables
Differential Revision: https://phabricator.kde.org/D11077
2018-03-06 09:12:50 +01:00
Marco Martin
76da09bf31 use the new value for largeSpacing in Kirigami
new value is half what it was, agreed with the VDG
2018-03-01 22:09:48 +01:00
Nathaniel Graham
a8c347f255 Reduce visibility of PC3 TextField placeholder text
Summary: The PlasmaComponents TextField makes placeholder text light enough so that it doesn't compete with other UI elements, but the PC3 version does not. This patch fixes that.

Test Plan:
Before:
{F5734041}

After:
{F5734042}

Reviewers: mart, hein, #plasma

Reviewed By: mart, #plasma

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D10922
2018-02-28 11:10:04 -07:00
Nathaniel Graham
1d0e78b697 Don't make Titles 20% transparent either
Summary:
If it didn't make sense to have Headings be 20% transparent because nearby or child textual content would be darker (see D10899), then it //really// doesn't make sense to have Titles be 20% transparent, because then **all** the text is darker than the titles, which is really odd.

As with D10899, this brings Plasma in line with Kirigami, where the large titles are already 100% opaque.

Test Plan:
Widget Explorer title, before:
{F5732725}

Widget Explorer title, after:
{F5732726}

As with D10899, it's a very subtle change, so I don't expect anyone to //consciously// notice. But people's unconscious brains will probably say , "wow, text looks sharper and more readable now!", though they won't be able to articulate why.

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D10902
2018-02-28 07:45:57 -07:00
Kai Uwe Broulik
4dda85971f [PackageUrlInterceptor] Don't rewrite "inline"
When omitting the third "location" argument of Qt.createQmlObject it will instead use "inline" [1]
as path and will run through the entire URL interceptor even logic.

[1] https://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/qml/qml/v8/qqmlbuiltinfunctions.cpp#n1134

Differential Revision: https://phabricator.kde.org/D10870
2018-02-28 12:49:00 +01:00
Friedrich W. H. Kossebau
9168e1c79f API dox: remove duplicated deprecated comment 2018-02-27 23:25:11 +01:00
Friedrich W. H. Kossebau
f82d764ad7 API dox: Use @deprecated tag for deprecation comment 2018-02-27 23:24:57 +01:00
Nathaniel Graham
51d5f00920 Don't make Headings 20% transparent, to match Kirigami
Summary:
We [[https://cgit.kde.org/kirigami.git/commit/?id=95417dc1f9bea79cabffb95fa0a79621167a6106|recently removed Kirigami Headings' slight transparency]], after concluding that it looked inappropriate to have Headings with lighter text than their textual content. `PlasmaExtras.Heading` does the same thing, so we should make the same change here, both based on the inherent merits of the change, and also to maintain consistency with Kirigami.

This also slightly improves matters for people who complain about poor text contrast throughout Plasma.

Test Plan:
Browsed System Settings; headings are now ever so slightly darker (or lighter, for users of Dark themes)

Also, here are some befores-and-afters for a widget I'm working on that uses Headings. Before:
{F5732641}

After:
{F5732643}

It's subtle; you'll need to flip between the two with the arrow keys to see the difference, and may need to also zoom in ({key meta +})

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D10899
2018-02-27 12:12:57 -07:00
Marco Martin
3c5d6a9be8 don't put the fullrep in the popup if not collapsed
when preloading, if the applet is not collapsed,
the full representationshouldn't be put in the popup

reviewed-by: kbroulik
2018-02-26 14:42:01 +01:00
l10n daemon script
e80ebab9db SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-02-25 05:27:39 +01:00
Kai Uwe Broulik
48b62d1a27 [AppletQuickItem] Preload applet expander only if not already expanded
When an applet is placed on the desktop and already shows its full representation, like Weather applet,
don't create the expander item.
The DefaultCompactApplet shows the dialog when plasmoid.expanded which will be always the case and you end up with an empty
window randomly showing up on startup.

Differential Revision: https://phabricator.kde.org/D10764
2018-02-23 12:59:41 +01:00
Marco Martin
79fb4ebfa7 other preload microoptimizations
Summary:
make svgitem schedule a polish right when it's done loading

ScrollView now forces to layout items as soon is created, to preload items
before the window is shown

remove useless include

Test Plan:
possible to preload (almost) the whole systray with less hacks
on that part (see D10692)

Reviewers: #plasma, davidedmundson, broulik

Reviewed By: #plasma, broulik

Subscribers: davidedmundson, broulik, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10722
2018-02-22 18:42:14 +01:00
David Edmundson
bf4facd8c1 Set IconItem default to smooth=true
Summary:
This changes between linear and nearest neighbour filtering.

Docs for QtQuick say:
In Qt Quick 2, this property has minimal impact on performance.

Generally we round to icon size anyway and resize the underlying images
anyway, so this will have no impact.

Reviewers: #plasma, apol

Reviewed By: apol

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10653
2018-02-21 13:39:42 +00:00
Marco Martin
8346b3e76a preload the expander (the dialog) too
Summary:
when preloading, preload the expander as well, and reparent the
full representation to it, so we have a scene schanged less.
also do a create() of that window (may be worth to do create()
automatically in every Dialog?)

Test Plan: the first open is visibly a lot faster now

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10681
2018-02-20 14:56:01 +01:00
Kai Uwe Broulik
fa9d4be5d1 [AppletQuickItem] Fix setting default preload policy if no environment variable is set
Also add a debug output so we can actually see what it's using
2018-02-20 11:17:33 +01:00
Michail Vourlakos
1ff405cca5 fix RTL appearance for ComboBox
Summary:
-- when the combobox isnt inside the main Item
but rather a sub-Item it doesnt inherit the
LayoutMirroring properties. This is a workaround
to handle that behavior.
QTBUG: https://bugreports.qt.io/browse/QTBUG-66446

Test Plan:
checkout that LayoutMirroring works properly in
such case

Reviewers: #plasma, mart, safaalfulaij

Reviewed By: safaalfulaij

Subscribers: safaalfulaij, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10592
2018-02-19 20:44:37 +02:00
Marco Martin
6cbea20bf9 try to preload certain applets in a smart way
Summary:
preload popups of some applets after init in the background
based on a value of X-Plasma-PreloadWeight in the desktop file
if present, otherwise some default values based on the applet
type (Provides)

Save the weight in the config, if an applet is never opened,
slowly decrease the weight, when it reaches 0 don't preload it
next start, increase every time it gets opened, so at the moment
it's quite aggressive about preloading, in order to not do it
a lot of plasma startups without touching the applet are needed

Applet with a very big weigth will be preloaded immediately,
therefore having an impact on the time it will take to have
a panel visible and usable, while lesser weigths will preload
after a random number of seconds between 2 and 10, so will load
in the background after everything is started

Test Plan:
Plasma starts up correctly, applets load correctly and can be added
correctly both those expanded or collapsed.
plasmashell appears correctly usable without too big hiccups even
while it's loading things in the background

some numbers:
without preloading, plasma takes around 64 mb of memory after startup
when preloading everything about 94, so it's a cost of about 30 mb
which is not negligible.
don't have precise timing, but if everything gets preloaded immediately,
the time to get an usable desktop appears to be at least doubled,
while the delayed preloading (except just a couple of applets) doesn't
seem to have a big impact on the time needed to get an usable desktop

Reviewers: #plasma

Subscribers: davidedmundson, broulik, apol, ngraham, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10512
2018-02-19 18:34:24 +01:00
Kai Uwe Broulik
c05b1bdec7 [Icon Item] Set filtering on FadingNode texture
Ensures the fading node's texture has the same filtering as the regular node,
otherwise during transition the icon could show scaling artefacts.

Differential Revision: https://phabricator.kde.org/D10533
2018-02-15 13:32:57 +01:00
Aleix Pol
581dc48ff8 Initialize m_actualGroup to NormalColorGroup
Reviewers: #frameworks, dfaure

Reviewed By: dfaure

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D10464
2018-02-13 15:32:03 +01:00
Aleix Pol
3e4b26452a Make sure the FrameSvg and Svg instances have the right devicePixelRatio
Summary:
On wayland (at least) it's initialized when the window is assigned, so
we need to listen to the itemChanged to adopt it.

Test Plan: manual testing

Reviewers: #plasma, hein

Reviewed By: #plasma, hein

Subscribers: hein, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10420
2018-02-12 14:37:23 +01:00
l10n daemon script
fde1a97636 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-02-04 05:15:50 +01:00
Aleix Pol
a02e91a271 Define property in Units.qml for the Plasma styles
Summary: Much like it is specified by kirigami itself

Test Plan: Now I don't get a warning

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10225
2018-02-01 19:57:45 +01:00
Friedrich W. H. Kossebau
551e92b10f Include cstdlib for std::free
clang/freebsd can has satisfaction that way (hopefully)
2018-01-31 23:55:45 +01:00
Fredrik Höglund
46121d5848 windowthumbnail: Fix the GLXFBConfig selection code
Check that the sizes of the color channels in the fbconfig match those
in the window visual.

This fixes a 2-10-10-10 fbconfig being choosen for the ARGB32 visual.

Differential Revision: https://phabricator.kde.org/D10173
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Acked-by: David Edmundson <kde@davidedmundson.co.uk>
2018-01-31 14:56:54 +01:00
Kai Uwe Broulik
f6de326fdf Revert "[Plasma Dialog] Call window effects only if visible"
Apparently causes background contrast to not work on startup, let's just revert this
and figure out a proper solution later.

BUG: 389352

This reverts commit f3cd5d55fa.
2018-01-26 20:33:09 +01:00
Kai Uwe Broulik
f31e7860d9 [Default Tooltip] Fix sizing
Unset the Label's default height which completely confuses the renderer either shifting the item vertically (e.g. when toggling
system tray popup), or letting it get too wide (e.g. when moving from a two-line tooltip to a one-line tooltip).
Also let the Layouts figure out sizing rather than trying to overrule it with flaky values.

BUG: 386260
BUG: 389371

Differential Revision: https://phabricator.kde.org/D10077
2018-01-26 15:49:06 +01:00
Marco Martin
f906178713 parametrize qqc2 version
Summary:
for styles in order to work at all they need to import
the latest available qqc2 version installed in the system
or any app using new qqc2 feature will fail to load.
do like in qqc2-desktop-style and set the import version
at build time

Test Plan: all generated files have 2.3 here as version and apps using qqc2 still oload

Reviewers: #plasma, bshah

Reviewed By: #plasma, bshah

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10074
2018-01-24 13:32:35 +01:00
Marco Martin
af00946f81 don't multiply svg sizes by devicepixelratio
Summary:
when the native high dpi scaling is enabled, some things gets scaled two times,
as sizes taken from svgs should *not* be manually scaled by devicePixelRatio

Test Plan:
works correctly on wayland, svg.elementSize will have to be tweaked in x11 to
return a value scaled by scalefactor, to homogenize the behavior compared to
native qt high dpi scaling.
to return a value scaled by scalefactor for this qml code to work there too.
I advise everybody with high dpi laptops to test this on both wayland and x11

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: hein, broulik, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9286
2018-01-23 15:58:55 +01:00
Kai Uwe Broulik
f3cd5d55fa [Plasma Dialog] Call window effects only if visible
It spends 160ms in total on plasmashell startup for me here.

Differential Revision: https://phabricator.kde.org/D9223
2018-01-23 12:45:53 +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
Randy Kron
5eece6769f Fix one source of log spam referenced in Bug 388389 (Empty filename passed to function)
Summary:
I found two places in plasma-framework svg.cpp (Plasma::Svg) that were triggering this message.

path variable was not being checked for empty before passing to QFile::exists().

This seems to be one source of the issue reported in [[ https://bugs.kde.org/show_bug.cgi?id=388389 | Bug 388389 ]]

Test Plan: Found that kicker was triggering this message and also plasmashell tooltips.

Reviewers: #frameworks, davidedmundson

Reviewed By: davidedmundson

Subscribers: ngraham, alexeymin, aacid, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D9928
2018-01-20 22:26:16 +00:00
Alexander Akulich
55efe5ae63 [Calendar] Adjust the calendar toolbar anchors
Summary:
Horizontally align the toolbar row to the days/month/etc grid canvas.

(The bar was used to be a few pixels wider)

Test Plan:
Before: {F5514329}

After: {F5514330}

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: aacid, davidedmundson, broulik, plasma-devel, #plasma, #frameworks

Tags: #frameworks, #plasma

Maniphest Tasks: T7499

Differential Revision: https://phabricator.kde.org/D9019
2018-01-16 13:57:22 +03:00
Friedrich W. H. Kossebau
85193f8c75 API dox: Use code markup for described dataUpdated slot signature 2018-01-16 11:42:20 +01:00
Kai Uwe Broulik
94b91f723a [ConfigModel] Set QML context on ConfigModule
This will have the ConfigModule use the same engine as we do, ensuring we use the correct QtQuick Controls style.

BUG: 388766

Differential Revision: https://phabricator.kde.org/D9785
2018-01-15 10:32:40 +01:00
Kai Uwe Broulik
639e8684e3 [Icon Item] Treat sources starting with a slash as local file
We have a special case for sources starting with "file://" but a "/" also represents an absolute path and shouldn't
conflict with icon theme names.
Kicker sets a custom image as local path and then we would end up trying to load it as a QIcon::fromTheme eventually.
This will cause the implicit size of the icon item to stay at its default as we only check a custom implicit size
for a source QImage or an SVG. Moreover, this potentially introduces scaling artefacts.

Differential Revision: https://phabricator.kde.org/D9812
2018-01-15 10:22:18 +01:00
Michail Vourlakos
547dade2f8 fix RTL appearance for ComboBox
Summary:
--PlasmaComponents3.ComboBox now appears correctly
its list items in RTL environments by aligning them
to the right

BUG: 387558

Test Plan:
check the combobox list both in RTL and LTR environments
in order to confirm that the list items are aligned correctly

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: mart, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9275
2018-01-13 03:24:14 +02:00
Laurent Montel
d1949d9149 Const'ify, use nullptr 2017-12-25 18:41:50 +01:00
Kai Uwe Broulik
3889edd6d6 [Air theme] Add task bar progress graphic
This adds a dedicated, green, task bar progress graphic.
Currently there isn't and as a fallback it uses the hover graphic.

BUG: 368215

Differential Revision: https://phabricator.kde.org/D9324
2017-12-22 11:17:31 +01:00
Marco Martin
c318fde313 make packageurlinterceptor as noop as possible
Summary:
minimize file access during url rewrite

we still need it for accessing stuff under code/

Test Plan: plasma still loads, seems to save ~2%

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, ngraham, apol, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9124
2017-12-18 13:00:31 +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 4ce50cc61f.

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
Marco Martin
e3fba25754 move kirigami plasma styles here
solves a nasty dependency loop
(and kirigami is supposed to be tier1)
2017-12-14 12:56:06 +01: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
l10n daemon script
6195342df2 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-12-13 06:58:55 +01:00
Marco Martin
b2f61f8e3c disappearing scrollbars on mobile
Summary:
like other platforms, on mobile devices make scrollbars visible only when
dragging/flicking, behavior on desktop unchanged
it introduces a runtime dependency on kirigami, but was already kinda there
but broken as the Settings singleton was already used.
if this can't be done, i'll add something in plasmacore which reads as well the
QT_QUICK_CONTROLS_MOBILE environment variable

Test Plan: scrollbar disappearing with the variable set, normal behavior otherwise

Reviewers: #plasma, bshah, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9287
2017-12-12 15:42:47 +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
Kai Uwe Broulik
3ad4798ca6 [AppletQuickItem] Only set QtQuick Controls 1 style once per engine
The style is global per engine, there's no need to set it for every applet created
as the engines are shared.
Since this entire thing is just a hack, just setting a dynamic property to identify
that we've set a style is valid imho.
Also turn it into a plain QtObject since we don't need a fully-fledged Item.

Differential Revision: https://phabricator.kde.org/D4362
2017-12-05 23:35:07 +01:00
Eike Hein
78f83f5c77 Don't set a window icon in Plasma::Dialog
Summary:
Setting a window icon is costly enough to be worth avoiding when it's
not actually needed.

This is a resurrection of David's old patch:

https://git.reviewboard.kde.org/r/128484/

The concerns in the old discussion that led to its rejection are no
longer valid today: In the meantime we implemented a way for apps to
announce their .desktop file in a window hint, which KWin (and libtm)
will fall back to to look up an icon if not set. As plasmashell does
this, we can drop the setIcon call here and won't regress.

Test Plan:
The pinned systray popup dialog still gets the Plasma icon in the
Present Windows effect.

Reviewers: #plasma, #frameworks, davidedmundson, graesslin

Subscribers: plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9209
2017-12-06 02:28:47 +09:00
Michail Vourlakos
71f8f16fea [RTL] - align properly the selected text for RTL
Summary:
--align selected text correctly for
PlasmaComponents2.ComboBox taking into account
RTL.

BUG: 387415

Test Plan:
use ComboBoxes in RTL and LTR in order
to check a proper behavior

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: broulik, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9126
2017-12-05 19:13:40 +02: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 15f470fafc.
2017-12-04 03:00:53 +09:00
Eike Hein
a570254e1a Don't update when the underlying FrameSvg is repaint-blocked
Summary:
When the component completes `FrameSvg::setRepaintBlocked(false)`
is called, which calls `updateFrameData`, which emits
`repaintNeeded`, which is connected to `doUpdate` anyway.

This saves one `doUpdate` per instanciation. The reason for that
is as follows:
* The concept or repaint blocking is implemented in `FrameSvg`,
  which inherits from `Svg`.
* The `repaintNeeded` signal connected to `doUpdate` is the one
  in `Svg`.
* `Svg` code emits `repaintNeeded` liberally even when repaints
  are blocked, since it doesn't know anything about this.

Hence we check if repaints are blocked in doUpdate and abort,
implementing the QQmlParserStatus interface in the right class.

Reviewers: #plasma, davidedmundson, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9138
2017-12-04 00:12:11 +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
Kai Uwe Broulik
fae6558dae Move if check inside #ifdef
This way we're not doing a contains() and then not do anything
2017-12-03 15:00:14 +01:00
Kai Uwe Broulik
ab8915bc12 [FrameSvgItem] Don't create unneccessary nodes
If a border isn't enabled there's no point in creating a node for itIf a border isn't enabled there's no point in creating a node for it.

Differential Revision: https://phabricator.kde.org/D9121
2017-12-03 12:40:31 +01: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
Ben Cooksley
df09180d31 The #warning directive is not universal and in particular is NOT supported by MSVC
Remove the directive to restore compilation on Windows.
Ref D9108

CCMAIL: aleixpol@kde.org
2017-12-03 07:03:09 +13:00
Kai Uwe Broulik
f8e3a16040 [IconItem] Use ItemSceneHasChanged rather than connect on windowChanged
Saves a connection and also only schedule if we actually have a window.

Differential Revision: https://phabricator.kde.org/D9111
2017-12-02 18:13:19 +01:00
Kai Uwe Broulik
da2b6e270f [Icon Item] Explicitly emit overlaysChanged in the setter rather than connecting to it
There's literally just one place where this thing changes so just emit the signal
there and call it a day.

Differential Revision: https://phabricator.kde.org/D9112
2017-12-02 18:13:19 +01: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
Kai Uwe Broulik
cfcf8a61d5 [Dialog] Use KWindowSystem::isPlatformX11()
Rather than doing a string comparison and doing it every time

Differential Revision: https://phabricator.kde.org/D9105
2017-12-02 12:54:48 +01:00
Aleix Pol
f8047e86b2 Reduce the amount of spurious property changes on ColorScope
Summary:
At the moment whenever something changed we were emitting colorGroupChanged
and then every color would recompute. This would end up being emitted
over 10 times at plasma startup so far.
This patch makes sure that the property will only be emitted if the color
group actually changes.

Test Plan:
Ran plasma, didn't notice issues.
I don't see all of the changes on the property anymore

Reviewers: #plasma, mart, davidedmundson

Reviewed By: #plasma, mart

Subscribers: davidedmundson, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8917
2017-12-02 12:45:57 +01:00
Kai Uwe Broulik
9066c232b4 [Icon Item] Emit validChanged only if it actually changed
Differential Revision: https://phabricator.kde.org/D9102
2017-12-02 11:40:02 +01:00
Eike Hein
4779f9564a Suppress unnecessary scroll indicators if the flickable is a ListView with known orientation
Summary:
ListView.atYEnd is notoriously buggy and sometimes will cause indicators
to blink in and out of existence where not needed.

Reviewers: #plasma, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9089
2017-12-01 23:35:19 +09:00
Kai Uwe Broulik
fa3a389925 [AppletInterface] Emit change signals for configurationRequired and -Reason
Differential Revision: https://phabricator.kde.org/D9066
2017-11-30 16:51:26 +01:00
Kai Uwe Broulik
b6b81c67b3 Use setSize() instead of setProperty width and height
We know we have a QQuickItem so we can just use its methods directly and then also use setSize
which does both at once, saving intermediate signal emission and potential re-layouting

Differential Revision: https://phabricator.kde.org/D9068
2017-11-30 14:18:06 +01:00
Montel Laurent
5d9aa6816f We depend against 5.7 2017-11-29 21:10:48 +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
facaaf93d0 [PlasmaComponents Menu] Set WA_TranslucentBackground on the underlying QMenu
This ensures the menu can have nice round corners with Breeze and Oxygen. The same had already been done in ContainmentInterface's menu.

CHANGELOG: Fixed an issue where PlasmaComponents Menu would appear with broken corners

CCBUG: 381799

Differential Revision: https://phabricator.kde.org/D8965
2017-11-24 10:40:48 +01:00
Kai Uwe Broulik
f395097fe9 [Containment Interface] Set WA_TranslucentBackground before accessing winId()
This would create the surface after which this flag has no effect causing menus to have black rounded corners.

CHANGELOG: Fixed an issue where context menus would appear with broken corners

CCBUG: 381799

Differential Revision: https://phabricator.kde.org/D8963
2017-11-24 10:40:16 +01:00
David Faure
1d01cd4393 API docs: add deprecation notice found in the git log 2017-11-23 21:48:41 +01:00
Bhushan Shah
0f0b544992 Fix the cmake configuration
It should use find_dependency and not find_package.
2017-11-23 20:29:52 +05:30
Jonathan Riddell
945124d6d4 find Plasma config before using it, neon lintcmake https://build.neon.kde.org/job/xenial_unstable_frameworks_plasma-framework_lintcmake/99/testReport/libkf5plasma-dev/KF5PlasmaQuick/find_package/ 2017-11-23 13:25:42 +00:00
Aleix Pol
28d9c7146e Remove double lookup 2017-11-20 16:13:46 +01:00
Aleix Pol
3e17a2d0a2 Remove duplicate boilerplate code
Summary: Don't replicate logic present in ::colorGroup for every color() call

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8914
2017-11-20 16:12:41 +01:00
Aleix Pol
aa4aa72d63 Synchronize the component with the one in Kirigami
Summary: Using the height property together with paintedHeight had binding loops.

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: broulik, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8870
2017-11-20 13:07:15 +01:00
Aleix Pol
11c9206bf6 Reduce spurious signal emissions
Summary:
We were reporting that the margins were changing whenever anything changed
in a FrameSvg, this patch makes sure we are only reporting the changes
when it actually changes.
This also fixes a binding loop in Desktop.qml from plasma-desktop.

BUG: 382233

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: broulik, davidedmundson, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8809
2017-11-16 16:18:04 +01:00
Andras Mantia
eab0378735 Add signals indicating if a screen was added or removed
Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D8566
2017-11-13 16:35:20 +02:00
Marco Martin
9ea4774050 install Switch stuff 2017-11-13 15:31:03 +01:00
Aleix Pol
ceca6ffa01 Don't rely in includes of includes
QFontMetrics is used by theme.cpp
2017-11-07 21:16:08 +01:00
Kai Uwe Broulik
3ebdd64e6b Optimize SortFilterModel role names
* Reserve m_roleIds
* Avoid double lookup contains+value but use default value argument
* Constify

Differential Revision: https://phabricator.kde.org/D8639
2017-11-06 15:17:42 +01:00
Kai Uwe Broulik
d51456bdfc Remove DataModel::roleNameToId
It is unused and returned -1 whereas SortFilterModel would return Qt::DisplayRole

Differential Revision: https://phabricator.kde.org/D8638
2017-11-06 15:17:15 +01:00
Marco Martin
fc653a70a9 manually draw the circle arc
don't use the qqc2 private implementastion as change and will
break with Qt 5.10
2017-10-31 13:45:39 +01:00
l10n daemon script
6f75aa63d2 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-10-27 04:46:40 +02:00
Kai Uwe Broulik
c52a6c5748 [PlasmaComponents Menu] Add ungrabMouseHack
Ensures the PlasmaComponents.Menu doesn't confuse MouseArea states.

Differential Revision: https://phabricator.kde.org/D8445
2017-10-25 15:09:49 +02:00
l10n daemon script
ac3cbe0397 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-10-24 05:08:50 +02:00
Kai Uwe Broulik
dea8a1ed5f [FrameSvg] Optimize updateSizes
frame->fooHeight is the same as frame->fooFixedHeight if the border is enabled, we only meddle
with margins, not heights. Thus we can just do the lookup once and re-use the value.

Also store the hintFooMargin instead of doing the same exact lookup once for fixed
and once for non-fixed margins.

Differential Revision: https://phabricator.kde.org/D8135
2017-10-16 11:38:09 +02:00
Martin Flöser
ecd00a565a Don't position a Dialog if it's of type OSD
Summary:
The OSDs are positioned by the Wayland compositor. This fixed the issue
found in D8268.

Reviewers: #frameworks, #plasma

Subscribers: plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8304
2017-10-15 10:09:19 +02:00
Fabian Vogt
4f43c236e3 Fix org.kde.plasma.calendar with Qt 5.10
Summary:
Module internal types are not implicitly available anymore simply by placing
them inside the module's main directory. It is now necessary to mention them
as internal types in the qmldir file.

See qtdeclarative commits 22a2cc43387ec3b9f74a6c01f8665378a4541147 (introduced
the change) and 930aea8b9ca59a24838cf7f279653e3b2ee40cee (explanation)

Test Plan:
Built whole stack with Qt 5.10. The digital clock plasmoid does not
load due to the DaysCalendar type not being available. With these changes to
qmldir and a reload of the plasmoid it works.

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: broulik, #frameworks, plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8077
2017-10-01 23:06:24 +02:00
Kai Uwe Broulik
c1e432065f sceneGraphBackend() is new in Qt 5.9 2017-09-29 10:48:37 +02:00
Kai Uwe Broulik
bb6b170516 [FrameSvgItem] Iterate child nodes properly
Documentation says "Children are stored internally as a linked list, so iterating over the children via the index is suboptimal."

Differential Revision: https://phabricator.kde.org/D8046
2017-09-28 23:05:36 +02:00
Marco Martin
9e7d02cde2 pick up the proper positive/neutral/negative colors 2017-09-28 16:14:33 +02:00
Kai Uwe Broulik
cab8fd9160 [Containment Interface] Don't add containment actions to applet actions on desktop
For a panel it makes sense to have panel options easily available on every applet
but on the desktop you typically have some free space to access the containment actions.

This is especially confusing if you have a Folder View on your Folder View desktop
and end up with a "Folder View Options" menu that affects the desktop behind it rather than the applet.

Differential Revision: https://phabricator.kde.org/D8009
2017-09-28 14:09:52 +02:00
David Edmundson
6df656252b Add new component for the greyed out labels in Item Delegates.
Summary:
Plasma code is full of Label {opacity: 0.6}. We shouldn't be hardcoding
style into a UI, especially with magic numbers.

This adds a new component that does the same thing but will allow
plasmoids to write more semantic code.

Reviewers: #plasma, hein

Reviewed By: #plasma, hein

Subscribers: hein, sebas, broulik, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D4831
2017-09-27 15:50:57 +01:00
David Edmundson
daef5c8b6b Fix FrameSVGItem with the software renderer
Summary:
Software rendering (at time of writing Qt5.10) doesn't seem to like our
tiling/stretching in the 9-tiles.
Also when using QPainter it's arguably faster to create and cache
pixmaps of the whole frame, which is what the slow path of FrameSVGItem
does.

Test Plan: Ran FrameSVG test then plasma shell with scene device set

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8013
2017-09-27 15:50:49 +01:00
David Edmundson
94235482f9 Don't animate IconItem in software mode
Summary:
IconItem uses a gorgeous shader to fade between two states. This doesn't
work with software rendering.

Given software rendering is a second class citizen, just skip the
animation.

Test Plan:
Hovered over kickoff.
Went from one to the other, without temporarily disappearing

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D8014
2017-09-27 15:50:44 +01:00
l10n daemon script
07272a2b98 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-09-27 09:05:33 +02:00
Kai Uwe Broulik
46a8d86ee8 [FrameSvg] Use new-style connect
Reviwed-By: d_ed
2017-09-21 14:33:28 +02:00
Marco Martin
b62118c90c possibility to set an attached colorscope to not inherit
this makes an easy bridging between the plasma and kirigami theming
reviewed-by:Eike Hein
2017-09-19 16:42:08 +02:00
David Edmundson
ee2b12be04 Add extra visual indicator for Checkbox/Radio keyboard focus
Summary:
This draws a line underneath a Plasma checkbox label when it has
keyboard focus. This is needed as when an item is checked, the focus
shadow is practically invisible.

Visuals when clicking is completely unchanged
This brings it more in line with our QStyle.

Test Plan: Attached runtime tests

Reviewers: #plasma, #vdg, mart

Reviewed By: #plasma, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D7819
2017-09-19 13:50:44 +01:00
Marco Martin
3942c5279e don't recreate a null pixmap
if we already have a null pixmap, don't recreate a new one

this saves some pixmap ceation on destructors
reviewed-by:davidedmundson
2017-09-19 13:57:12 +02:00
Kai Uwe Broulik
c707f6074c Remove unused functions
You can just use mapToItem(null, 0, 0)
2017-09-18 15:12:45 +02:00
Kai Uwe Broulik
7482bef085 Pass item to rootObject() since it's now a singleton
The "parent" used to be resolved by the place where the utils.js was imported from.
However, it was changed into a singleton and now this didn't work.

BUG: 384776
2017-09-18 15:11:09 +02:00
David Edmundson
7141ad1721 Don't list tab names twice
Summary:
The name (with a correct role) is already exported as a tab

By having the static text internally we get the name twice when we do a
flat review of the controls.

Reviewers: #plasma

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D7815
2017-09-14 14:50:57 +02:00
Marco Martin
6bb474621e don't accept active focus on tab
this was actually breaking keyboard navigation
see https://bugreports.qt.io/browse/QTBUG-63176
for our use case in pasmashell, it's better to just
rely on focus of the internal items or of the
ListView
reviewed-by: davidedmundson
2017-09-13 13:43:19 +02:00
Marco Martin
48e27b5493 register revision 1 for QQuickItem
make the base properties of revision 1 available
2017-09-13 11:29:04 +02:00
Safa AlFulaij
940adc7e6e [Plasma Components 3] Fix RTL in some widgets.
Summary: Some widgets are missed up in RTL mode, this should fix it.

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: mart, broulik, davidedmundson, plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D7715
2017-09-10 10:42:51 +03:00
Weng Xuetian
8d38df3534 Fix invalid id in viewitem.
Summary: It should be selected+hover instead of selected_hover.

Reviewers: mart, #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D7491
2017-09-05 07:55:03 -07:00
andreas kainz
1e2802452a update mail notification icon for better contrast
BUG:365297
2017-09-05 00:13:48 +02:00
Kai Uwe Broulik
a3b61706a7 [ConfigModel] Guard against adding a null ConfigCategory
Previously this method wasn't accessible from QML but now it is, so let's not crash then.
2017-08-31 14:32:33 +02:00
Kai Uwe Broulik
11e416bea6 [ConfigModel] Allow programmatically adding and removing ConfigCategory
The appendCategory(ConfigCategory*) allows to add a category created by e.g. an Instantiator
that can use bindings rather than fixed arguments.
The removeCategory methods allow to remove a category when e.g. the model in an Instantiator resets.

CCBUG: 372090

Differential Revision: https://phabricator.kde.org/D7602
2017-08-31 14:29:05 +02:00
Kai Uwe Broulik
d574dec0f8 [EventPluginsManager] Expose pluginPath in model
That's what digital clock stores in its config, allows us to do matching.

Differential Revision: https://phabricator.kde.org/D7601
2017-08-31 14:27:43 +02:00
Kai Uwe Broulik
a963302926 [Icon Item] Don't needlessly unset imagePath
We'll eventually delete the Plasma::Svg anyway if we failed to find an appropriate icon.
Just need to make sure we don't use isValid with the old source set but this is only done with
m_usesPlasmaTheme, hence the new check there, also optimizes the non-themed case.

Differential Revision: https://phabricator.kde.org/D7584
2017-08-30 16:39:53 +02:00
Kai Uwe Broulik
5921b2a70c [FrameSvg] Use QPixmap::mask() instead of deprecated convoluted way via alphaChannel()
QPixmap::alphaChannel() is deprecated.

Differential Revision: https://phabricator.kde.org/D7614
2017-08-30 12:05:59 +02:00
Kai Uwe Broulik
a8ce2e85ec [FrameSvgItem] Create margins/fixedMargins object on demand
On my machine I end up creating 490 margins and 490 fixed margin objects.
After this change I only create 171 margin objects and 20 fixed margin objects.

Differential Revision: https://phabricator.kde.org/D7582
2017-08-29 11:10:19 +02:00
Kai Uwe Broulik
3e284c2404 HTML-escape applet name in undo notification 2017-08-28 16:51:48 +02:00
Marco Martin
b02c92fe5c fix check state for menu items 2017-08-28 13:15:25 +02:00
Marco Martin
ac24340877 Force Plasma style for QQC2 in applets
Summary:
using the qml url interceptor, rewrite imports in order
to load always the plasma styled qqc2 controls in plasmoids
and plasma views. As is per-engine, is possible to load
controls with qstyle theme in configuration dialogs
and plasma style in plasmoids.

Note: this replaces just the style org.kde.desktop
to Plasma and not every style (so with Material
set as QT_QUICK_CONTROLS_STYLE environment variable
plasma would load controls with material style) because
we can control both org.kde.desktop and Plasma styles:
they must have the same subdirectories as unlike files,
their existence is checked before the rewrite (in our case,
 "private"), so in order to work they must exist in both
styles

Test Plan:
a qqc2 button in a plasmoid has the plasma style, in
a config dialog has the qwidget style. rewrite works
only from org.kde.desktop to Plasma and not from other
styles, due to the existence of the "private" subdirectory

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D6964
2017-08-25 11:36:55 +02:00
David Edmundson
a25b628e25 Install the PlasmaComponents.3/private folder
Summary:
It's used by ToolButton et al.
We install it in the theme folder, but not in the plasma components dir.

Test Plan: Used a toolbutton without error

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D6693
2017-08-25 10:26:15 +01:00
David Edmundson
a968892ba9 Guard failed testItem creation
Summary: createObjectFromSource can return a null on error. This needs guarding.

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D7532
2017-08-25 10:26:15 +01:00
Kai Uwe Broulik
2236c19584 [Service] Restore /dev/null usage
Accidentally removed it for testing but since I don't know why this is for,
better restore it :)
2017-08-25 11:25:20 +02:00
Kai Uwe Broulik
5137a988b1 [Service] Use KConfig::SimpleConfig
I don't get the comment on why it is /dev/null instead of QString() but using SimpleConfig at least saves 0.3ms per call for me.

Differential Revision: https://phabricator.kde.org/D7510
2017-08-25 11:24:03 +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
1419135a5d Get rid of QSignalMapper
Use lambdas instead.

Differential Revision: https://phabricator.kde.org/D7361
2017-08-18 11:53:10 +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