Commit Graph

912 Commits

Author SHA1 Message Date
Marco Martin
fef51e71d6 cache naturalsize separately by scalefactor
solves some highdpi issues
saves and reads natural sizes separed by scalefactor
so they don't get mixed up when the scaefactor changes
resulting in wrongly sized items

reviewed-by:David Edmundson <david@davidedmundson.co.uk>
2015-06-24 10:38:53 -07:00
Marco Martin
aa52188364 use ColorScope 2015-06-18 11:42:09 -07:00
Martin Klapetek
5165d6574e [calendar] Ensure the grid is repainted on theme changes
Change-Id: If6e6144fa3aa691628c3ba2c053f3e848da8498d
2015-06-15 16:39:03 +02:00
Martin Klapetek
23add5d6e4 [calendar] Refactor the Calendar grid computation a bit
Makes the code a bit simpler & lighter and fixes the sometimes missing
bottom line in calendar.

The grid is now equally padded from both sides (including the month
name), so basically it's now always aligned to the center and this also
fixes the cases where there was a bigger padding on one side than on the
other.

The grid is now also anchored to the bottom so that the bottom margin
can stay moreless consistent with the side margins in different sizes.

Change-Id: I2f2173d11e473d6e93db2bdca002269e4239f516
REVIEW: 124072
CHANGELOG: Improve hidpi support in the Calendar grid component
2015-06-15 16:35:32 +02:00
Martin Klapetek
bc0280ddb0 [calendar] Always start counting weeks from Monday
Sometimes the first day in the grid can be Sunday, but the week number
must always be counted from Monday in that week

BUG: 349044
Change-Id: I903650fcaadb4fd78764ad6a8bb1e219261c791b
FIXED-IN: 5.11
2015-06-12 01:11:11 +02:00
Jan Kundrát
eb4edb0e9e Fix build on Qt 5.2
The QJsonArray::operator<<(const QJsonValue &) is a 5.3 thing.

Change-Id: Ia183cf55bed764747dbba727346f18df396affeb
2015-06-10 18:55:18 +02:00
Marco Martin
13bd6703c0 Merge branch 'mart/singleQmlEngineExperiment'
REVIEW:123736
2015-06-10 09:05:46 -07:00
Martin Klapetek
c98f356fc6 [calendar] Repaint the grid when show week numbers setting changes
Change-Id: I5ec923ed62492afe9a6db24db5085ca98849a5e6
2015-06-10 14:37:20 +02:00
Dan Vrátil
afd962a15b Fix crash when QGuiApplication::primaryScreen() returns a null pointer
There can be a situation when changing resolution/scaling or some other screen
property that driver/XRandR decides to turn the screen off temporarily, during
which there are no screens and QGuiApplication::primaryScreen returns a null
pointer.

Approved-by: David Edmundson
2015-06-06 16:06:51 +02:00
Martin Klapetek
70cf70be3a Fix typo in ToolTipArea documentation
Change-Id: I6a823b1356099f364d0bd59e3f3a0daa137f1ae7
2015-06-05 14:34:56 +02:00
Martin Klapetek
5caba3cfaf [calendar] Add week numbers in Calendar components
Change-Id: Ie46b9b9c1e6035a9b2933362227d3c8fcd30a10e
REVIEW: 124004
CCBUG: 338195
CHANGELOG: Calendar components can now display week numbers
2015-06-05 14:34:05 +02:00
Marco Martin
a2e223c1ad use PlasmaCore.ColorScope in needed places
standard controls should work better in inverted color scopes

Change-Id: I3d10a195cb0ae0b2f2fbbcca21fc6f87f99e7cfc
2015-05-28 12:51:30 +02:00
Marco Martin
eca200f67e use color contexts
Change-Id: Iea8cc397ddd431c61390ddc70c3fab808ef9f72f
2015-05-27 18:18:50 +02:00
Marco Martin
ae9cb77838 Use QtRendering for fonts in password fields
Since the password echo is a circle woithout vertical or horizontal lines, it won't be
more blurred with different rendring types.
Using Qt rendering, the dots will look more aligned and equally spaced.

Change-Id: I8052f176930d1e2dc144f0b65daf539764cf08b1
REVIEW:123799
2015-05-15 14:29:08 +02:00
Marco Martin
cb6b03e907 use QmlObjectSharedEngine for tooltips
Change-Id: I6ddb3bcad870165e24bd7b5cd63505fd31ca46b9
2015-05-11 20:06:28 +02:00
Martin Klapetek
02f124b120 [plasmacomponents] Make SectionScroller follow the ListView.section.criteria
Now it will show first character only if the ListView has FirstCharacter
set

Change-Id: I6d2451d95e36a9a07eed4168402ac5748e87dcb3
Reviewed-by: Marco Martin
2015-05-07 12:56:49 +02:00
Kai Uwe Broulik
01d7343642 Disable transient scrollbars
To improve accessibility and consistency with widget applications scroll bars no longer
automatically hide after a timeout, which was the case when a touch screen was present,
which is nice for tablets but bad for desktops.

CHANGELOG: Scroll bars no longer automatically hide when a touch screen is present

REVIEW: 123645
BUG: 347254
2015-05-05 22:12:48 +02:00
Sergio Martins
245082dc34 Fix mismatched header include guards 2015-05-03 12:32:56 +01:00
Marco Martin
fe9f515bf5 increase maxAllowedSize a bit
Change-Id: I88ca56d1ac687288e8e780ce43506fb45246d23f
2015-04-28 12:43:49 +02:00
Kai Uwe Broulik
93cf07deac Add support for menu sections
Also adds a manual unit test

CHANGELOG: PlasmaComponents.Menu now supports sections
REVIEW: 123537
2015-04-27 22:19:41 +02:00
Marco Martin
c22bb8c4a8 don't cut away text
Change-Id: I56cf92d0ac6515ec9deb2c8136ef7e2914d1a529
2015-04-21 11:23:11 +02:00
Marco Martin
b2583a9368 measure the proper elements
Change-Id: I938abac5001c980e664ed7e5df41fdf0cacfafbc
2015-04-01 13:11:10 +02:00
Marco Martin
67a64e8763 fix themes that don't have hint-bar-size element
Change-Id: Ic2623d66223628b992650084de451ac288467157
2015-03-31 21:43:05 +02:00
Marco Martin
e37576f8d8 expose repaintNeeded()
also emits marginsChanged when is needed
on the fly theme changes work a bit better now

Change-Id: Icefc4fba9c6a80531edc4b1e0c08b62ea039e244
2015-03-30 13:42:40 +02:00
Kai Uwe Broulik
4985a4fe65 Immediately hide tooltip on ToolTipArea destruction or when it becomes empty
When the tooltip is empty (no text, no subtext, and no mainItem) it will not be shown.
However, when it becomes empty while it is already shown, it stays there as a small
rectangle. This hides the tooltip immediately (so KWin's fadeout animation still has
the proper content rather than the empty tooltip) when the TooltipArea that opened
the tooltip has been destroyed or its content becomes empty.

CHANGELOG: Fixed stray tooltips when temporary owner of tooltip disappeared or became empty

REVIEW: 122939
2015-03-26 15:23:46 +01:00
Kai Uwe Broulik
b7e4669db2 Layout children in TabBarLayout right away
When Component.onCompleted is emitted, all the static children have been created,
thus we can call the layout function right away.

CHANGELOG: Fix TabBar not properly laid out initially, which could be observed in eg. Kickoff

REVIEW: 123106
2015-03-25 18:18:38 +01:00
Marco Martin
3516c04006 device pixel ratio applied before generating svg
Change-Id: I22bc343894716cbbebabd5c0633889890ce1da9e
CCBUG:345155
2015-03-25 12:07:41 +01:00
David Edmundson
fa3cd81597 Initialise bool members of iconitem
Change-Id: I289ab2e2676ea27e1add8b0b4548dd6502cc8adc
2015-03-24 11:50:28 +01:00
David Edmundson
7b355093d0 Initialise members
Not a real issue as initialize() is always called before they're used
but  it's cleaner and fixes a coverity warning.

Change-Id: Ib1168be7f9d72c7d5765850a7f35d524ea279a75
2015-03-24 11:46:03 +01:00
Kai Uwe Broulik
039b808b07 Use Animator for PageStack transitions
This improves animation smoothness, eg. when switching between heavy system tray plasmoids.

CHANGELOG: PageStack transitions now use Animators for smoother animations

REVIEW: 123102
2015-03-22 22:07:05 +01:00
Kai Uwe Broulik
f186b2938f Use Animator for TabGroup transitions
This reduces stuttering when switching between lazyloaded pages

CHANGELOG: TabGroup transitions now use Animators for smoother animations

REVIEW: 123103
2015-03-22 22:06:29 +01:00
Marco Martin
dd46de10ec export correct Layout.minimumWidth
recalculate size when text on a tab changes
BUG:342964

Change-Id: I7fd17557e92de29a7d1b1e897caf17e60bfe101e
2015-03-20 13:45:37 +01:00
Marco Martin
ecbd619566 make PlasmaCore.ColorScope work better as advertised
Since attached properties cannot ever change during the lifetime of the object,
a colorscope needs to be created for each obect that asks for the
attached property. now each instance if (internal) has m_inherit
(only those created as an attached property), will search for the property
of the proper ancestor. Not super efficient, but the proeprties should be
actually asked for rarely enough.

doesn't look much nice, but seems to work pretty reliably and the only way to.

Change-Id: I735da5551dbb8c2641be88d245f998d00ed977ac
REVIEW:122988
2015-03-19 11:20:01 +01:00
Marco Martin
e754f7bf1a pick the color from colorScope
Change-Id: Iff83658b3d91ffc9ed0f4a9a02db68ade67c82e6
2015-03-13 21:20:39 +01:00
Marco Martin
082ee9aad3 don't show shadow for flat toolbuttons
fixes the look of all themes that actually provide a separed button shadow

Change-Id: I24fde6437e2cdd2949d629ddb53138ace0a883f3
2015-03-12 11:37:33 +01:00
Marco Martin
148e0022f6 Make Svg,FrameSvg work qith QT_DEVICE_PIXELRATIO
when QT_DEVICE_PIXELRATIO is something different from 1,
the pixmaps generated by Svg will be scaled up to give a proper texture.

This is complementary but not replacing our current approach:
the pixelratio that can be accessed by units is now in relation to the qt pixel ratio,
spacings are also adjusted accordingly (therefore, spaces and sizes won't
need an integer value like pixelratio)

svg introduces also a scaleFactor property (that is pretty much like its old pixelRatio)
basically, scalefactor, will scale both the textures and all the reported sizes,
(old method) pixelratio just scales textures without altering measures
(like qt pixelratio likes)

Change-Id: I304aa0d80abf76abafac239be185dd3b2ab741b7
REVIEW:122673
2015-03-10 18:02:15 +01:00
Kai Uwe Broulik
c9fd8fc1e5 When changing "active" load pixmap right away
The active property is usualy set in response to a hover event.
Loading the new pixmap right away, starting the fade animation immediately, provides
a more responsive user experience.

REVIEW: 122857
2015-03-08 19:57:25 +01:00
Sebastian Kügler
afc3cf2f34 Use semantically more correct units.largeSpacing
Also saves an evaluation of an expression, so should be slightly faster.

Suggested by Martin Klapetek.

REVIEW:122717
2015-03-05 23:40:25 +01:00
Sebastian Kügler
a2dd646a17 fix tooltip's horizontal sizing
This is Martin Klapetek's version of the fix, it also works nicely on my
machine, and seems otherwise logical.

CCMAIL:mklapetek@kde.org
REVIEW:122717
2015-03-05 23:40:25 +01:00
David Edmundson
1ce575cf5a Simple fix for huge icon sizes
Currently units is based on font metrics except icon size and some SVG
parts which use DPI directly.

Instead of taking the physical DPI we take the logical DPI which is used
for working out font point -> pixel sizes.

We can rely on this being correct as otherwise every other app would
appear broken.

REVIEW: 122799
BUG: 338308

Change-Id: I22f668ccea7d6d15ff475e1368c82964bdde1e60
2015-03-04 11:25:59 +01:00
Eike Hein
e090c77b10 Add a KF6 TODO note. 2015-02-27 19:05:06 +01:00
Eike Hein
80c32e6d51 Add a 'filterCallback' property to SortFilterModel.
Allows setting a callback function from QML to replace the
default filter implementation.
2015-02-27 19:00:32 +01:00
Martin Klapetek
54899c56ba Make the import 2.1 work
Change-Id: I12b6557a7a0e64dc4d55410da143d3d8d278bc94
Reviewed-by: Marco Martin
2015-02-27 18:37:41 +01:00
Sebastian Kügler
d285b818f6 Improve tooltip layouting
This patch ports the default tooltip away from custom spacing,
positioning and Row/Column to QtQuick.Layouts. It makes the sizing more
predictable, and the code more modern and readable. Tooltips feel to
behave a bit smoother with this patch.

In the process, this...
- fixes spacing when no icon or image is set
- limits the maximum height of the subtext to 8 lines (this prevents the
  klipper tooltip for example from growing super-high)
- Makes the icon on the LHS proportional to the text
- Limits the width a bit more to prevent super-wide tooltips
- makes it use units.gridUnit throughout

Changelog: Improve tooltip layout
REVIEW:122717
2015-02-26 16:25:52 +01:00
Martin Klapetek
ba9f6ff03c Store the filter string in the member variable
Doh.

Change-Id: I529e79e947614545a7bc9f1d4e4a2191e238feaa
2015-02-24 16:01:35 +01:00
Martin Klapetek
404ed07fb0 Revert "Raise the QML imports version to 2.1"
This reverts commit fa2109ccb6.

Turns out the plan to raise the version with every framework
release is not as simple as raising the version numbers as
this breaks pretty much everything.
2015-02-24 15:31:41 +01:00
Martin Klapetek
fa2109ccb6 Raise the QML imports version to 2.1
Change-Id: Ia753bbc7a55a256486f2d0f225571b9046f03cda
REVIEW: 122696
2015-02-24 13:06:48 +01:00
Martin Klapetek
0f3eee1bc7 Add REVISION to the filterString property
Change-Id: I8b5474995ec64c69e16d5209442f7351c10aa73f
2015-02-24 13:06:12 +01:00
Martin Klapetek
0230949b08 Add plain string filtering capability to SortFilterModel
Filtering only by regexps is not enough because as soon as filtering by
special characters is needed, they can get interpreted as regexp special
characters and stuff will break.

Change-Id: Ic5cd0309e1e77d790faeecedbe87fdaaeceffc33
REVIEW: 122695
2015-02-23 20:02:41 +01:00
Sebastian Kügler
2cf49abb3e Shorter animations
This patch cuts down animation time quite considerably. We've discussed
this during the sprint. The default long animation is now 120ms instead
of 250. We have played around with different values, and this seemed to
hit sweet spot between the interface feeling really snappy, but the
animations still visible, so no sudden transitions in the UI.

We should consider doing something similar for kwin animations.

Reviewed-by: Kai Uwe & Marco

CCMAIL:plasma-devel@kde.org
CCMAIL:kwin@kde.org
2015-02-21 19:53:01 +01:00