1409 Commits

Author SHA1 Message Date
Laurent Montel
70a274ad3a Use override 2018-05-23 08:05:40 +02:00
David Edmundson
505295ce4b Revert "windowthumbnail: Use mipmap texture filtering"
This reverts commit 612494e2b2e9265d33ce148332d5f490b024a3bd.

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 42d3fde1eef6866640cee8671b07dc81fa2df28c.
2018-05-03 23:15:53 +01: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
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
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
Marco Martin
5791bee19f make sure largespacing is perfect multiple of small
as agreed with vdg
2018-04-20 12:42:43 +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
Laurent Montel
a4eeca5190 Warning-- 2018-04-13 09:05:26 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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