1325 Commits

Author SHA1 Message Date
Marco Martin
764b6e4760 respect color group 2018-09-07 12:54:24 +02:00
Marco Martin
3c48aec7ac don't corrupt the active part
simplify the size hints
reviewed-by: kbroulik
2018-09-06 14:53:45 +02:00
Kai Uwe Broulik
a3e96eb17a [Plasma Components 3 Slider] Fix implicit size of handle
Fixes implicit size of the slider to include the handle
2018-09-06 14:43:38 +02:00
Kai Uwe Broulik
3d078c01ee [Plasma Components 3 ComboBox] Switch entries with mouse wheel 2018-09-06 14:41:55 +02:00
Marco Martin
85cab5772c Support button icons when present
Summary:
support button icons.
if there is no icon or is Qt 5.9, the iconItem will stay invisible

Test Plan: tested with ported mediacontroller to PlasmaComponents3

Reviewers: #plasma

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D15164
2018-09-06 14:06:44 +02:00
Marco Martin
bedd597560 stubs, warning-- 2018-09-06 14:05:14 +02:00
Kai Uwe Broulik
020d3e3ebe [Calendar] Wrap day name index around
Otherwise when the week starts on a day other than Sunday or Monday we access invalid day names.

CHANGELOG: Fixed week names not showing properly in calendar when week starts with a day other than Monday or Sunday

BUG: 390330

Differential Revision: https://phabricator.kde.org/D15309
2018-09-06 12:41:16 +02:00
Yuri Chornoivan
38431eebfa Fix minor typos 2018-09-05 22:22:38 +03:00
David Edmundson
2faa71a55a Workaround bug with native rendering and opacity in TextField text
Summary:
Problem is identified in https://bugreports.qt.io/browse/QTBUG-70138
with a potential patch for upstream.

With native rendering the alpha is pointlessly also set in the
glBlendFunc despite also being used in the uniform of the shader.
Resulting in a visual bug when used on a window with alpha (such as
Dialog)

It sucks, but we were starting to see people work round it by copying
more invasive workarounds everywhere else which I want to avoid.

BUG: 396813

Test Plan: Looked at a text field

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: ngraham, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D15021
2018-08-28 10:26:58 +01:00
Kai Uwe Broulik
a0ab02c052 [Icon Item] Watch KIconLoader icon change when using QIcon
QIcon is rendered through KIconLoader instead of e.g. Plasma::Svg.
This means we need to recreate the pixmap when the icon theme changes.

CCBUG: 397109

Differential Revision: https://phabricator.kde.org/D14990
2018-08-23 11:31:15 +02:00
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
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
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
Friedrich W. H. Kossebau
30cbc2dc33 Use more nullptr 2018-07-02 00:16:21 +02: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
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