Commit Graph

15369 Commits

Author SHA1 Message Date
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
l10n daemon script
a791fb3bb7 GIT_SILENT Upgrade KF5 version to 5.45.0. 2018-03-10 08:41:40 +00:00
Friedrich W. H. Kossebau
dc529c34ff Remove long-time deprecated Encoding=UTF-8 from example desktop files 2018-03-10 02:18:22 +01:00
Friedrich W. H. Kossebau
dd0fcc3b73 Disable deprecation warning from kpackage_install_package for now
Summary:
Using a private flag just added for plasma_install_package, until
there is a new official replacement for kpackage_install_package for
its needs

Test Plan: kdeplasma-addons & Co still build and now have clean cmake log again.

Reviewers: mart, apol

Reviewed By: mart

Subscribers: #frameworks

Tags: #frameworks, #plasma

Differential Revision: https://phabricator.kde.org/D11130
2018-03-08 23:04:31 +01: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
l10n daemon script
6a53a2d917 GIT_SILENT Upgrade ECM and KF5 version requirements for 5.44.0 release. 2018-03-03 09:54:07 +00:00
l10n daemon script
5d0e840c1f GIT_SILENT Upgrade KF5 version to 5.44.0. 2018-03-03 09:51:10 +00: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
Friedrich W. H. Kossebau
3c4f3ed1b8 Remove dead code for finding QCA2, not used since Plasma5 2018-02-25 22:30:15 +01:00
Friedrich W. H. Kossebau
c03c2d5265 Help automoc to find metadata JSON files referenced in the code
Summary:
automoc by itself can only detect metadata files referenced by direct
usage of the Q_PLUGIN_METADATA macro. It does not do any C++ preprocessor
evaluation. Instead it needs to be helped with regexp-based filter rules
for detecting any names of files used as additional moc input.
See docs for AUTOMOC_DEPEND_FILTERS for further details.

In the near future all the boilerplate code should be replaced with a yet to
be designed ECM macro. For now explicit code is used to collect use cases
for the macro and still to fix the issue already.

Test Plan:
Changing a JSON file (or for those generated from .desktop files
changing that one) and running make results in the related *.moc file
being regenerated and the related object file being recompiled.
qtplugininfo shows that the created plugin binary has up-to-date JSON
content.

Reviewers: #frameworks, #build_system, apol

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D10732
2018-02-25 22:23:05 +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
Marco Martin
11086bb791 drop the setting of c++0x
Summary: this is already done by KDEFrameworkCompilerSettings so it's just duplicated now

Test Plan: still builds and runs

Reviewers: #plasma, kossebau

Reviewed By: kossebau

Subscribers: kossebau, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10748
2018-02-22 17:23:39 +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
9bbba13099 GIT_SILENT Upgrade ECM and KF5 version requirements for 5.43.0 release. 2018-02-05 08:12:22 +00: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
Kai Uwe Broulik
595fd88054 [Examples] Fix build
* Add QStringLiteral et al where appropriate
* Also add override keyword to avoid warnings
* Minor style changes and cleanups

Differential Revision: https://phabricator.kde.org/D10092
2018-01-26 15:48:27 +01:00