Commit Graph

1113 Commits

Author SHA1 Message Date
Marco Martin
7525a0db40 experimental brnch for inline edit menu 2015-07-15 19:23:30 +02:00
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
Kai Uwe Broulik
ffcb5c8046 Make units more finegrained
It's always if (ratio < n) { return size * (ratio - 0.5); } but with the
"< 3.0" condition that was not the case.

REVIEW: 122644
2015-02-20 12:28:53 +01:00
Kai Uwe Broulik
a717bac7a4 Make non-interactive tooltips outputOnly
This makes them significantly less annoying by having them close more reliably when
leaving the ToolTipArea and more importantly fixes the tooltip interrupting the
applet resize operation.

REVIEW: 122624
2015-02-18 14:32:36 +01:00
Kai Uwe Broulik
d0c5aa6fc9 Explain magical round ToolButton behavior on the documentation
Reviewed by David Edmundson
2015-02-17 23:21:54 +01:00
Kai Uwe Broulik
2a4812c9ba Drop size check for round ToolButton
It causes binding loops causing all sorts of weird behavior, like the buttons
in Klipper not always having a background.

Changelog: Fix rendering glitches with ToolButtons that don't have a label

REVIEW: 122609
BUG: 339303
BUG: 340588
2015-02-17 23:21:54 +01:00
David Edmundson
ae2b9f7099 Guard around a bug in older versions of Qt
Change-Id: I7d6c11bd426c87b3d1abcedbfc18ccc7b912b1a2
2015-02-16 16:46:34 +01:00
Kai Uwe Broulik
5cfe737618 Optimize DataSource
- Use QQmlParserStatus to provide event compression for setupDate() method
- Re-introduce interval alignment
- Cache sources and emit change signal only when it has actually changed

Changelog: DataSource can now align polling to full minutes

REVIEW: 122470
2015-02-16 14:55:49 +01:00
Kevin Funk
7e302a5236 Use Q_DECL_OVERRIDE where possible
REVIEW: 122542
2015-02-13 13:31:58 +01:00
Lukáš Tinkl
667eb808a9 correctly default to AutoText for tooltip contents
acked by notmart
2015-02-13 13:17:42 +01:00
Aleix Pol
3937b0453e Fix PlasmaCore.IconItem initialization when using QPixmap on it
I was getting the m_pixmapIcon cleared some times, instead of the
m_iconPixmap. This made it forget about my image.
m_iconPixmap should be renamed to something else.

Reviewed and done in collaboration with David Edmindson
2015-02-12 16:35:28 +01:00
David Edmundson
ecf922ab85 Put all non tiled frame textures in the atlas
Change-Id: I2525998ab3c1c76870fe8e395051127a673979af
Changelog: Faster rendering of Plasma frames from QtQuick
2015-02-12 13:05:12 +01:00
David Edmundson
5f9ecfb6e1 Fix warning when compiled without HAVE_XCB_COMPOSITE
Change-Id: I62dc7cc731cf6d05592ff8e4427740c76643178a
2015-02-11 14:28:41 +01:00
David Edmundson
2c535282d5 Re-order initialisation. Warnings--
Change-Id: Ie44a657364de72739f8d52822b9f50937ad777a3
2015-02-11 14:16:09 +01:00
David Edmundson
e0f0d3a948 Merge "Unify when tooltips are shown and kept alive." 2015-02-10 15:39:35 +01:00
David Edmundson
b71d33f2be Unify when tooltips are shown and kept alive.
A new tooltip would only be shown if it had content to show.

However in the old code if the tooltip was already visible we would keep
the tooltip alive and sync with empty contents regardless of whether we
had anything to show.

This seems to clear up the system tray where we have nested tooltip
areas for the tray applet and the icon itself and things would flicker

Change-Id: I7d9ded9edb70672c572e008c8d6f1ffe2d76b773
Changelog: Avoid showing an empty tooltip
2015-02-10 15:25:38 +01:00
Marco Martin
ef28deebfc use the proper colors
Change-Id: Ia507ba367ab47c1373f3c5b6fc7e1eef5e3eda3a
2015-02-06 11:21:53 +01:00
Marco Martin
b484b7faf0 document what happens to the page after pop()
Change-Id: I85b6cca525ced119329e1c28807efb6befcb4af3
2015-02-04 13:24:23 +01:00
Marco Martin
7ef09d883d reload the configuration when plasmarc changes
Change-Id: I77a5a1d49d6d260bc302203658cc9790858dbda7
CCBUG:343569
2015-01-30 16:44:12 +01:00
Marco Martin
2f0f7716e4 default to AutoText as textformat
yep, we don't have access to the proper enum :/

Change-Id: I47bc0662e4204e5f510704dbece1f64a2d1517ce
2015-01-30 14:56:16 +01:00
Marco Martin
2d7dfd2147 fix tooltip positioning
don't ever try to reposition the tooltip on showEvent

Change-Id: Ie1c159c092baf480ab3cbb83e537b28e354973bf
2015-01-29 13:17:39 +01:00
Marco Martin
993cdb54a6 collapse tooltips that only have text
if a tooltip has only text, expecially only title or only subtitle, make
it as small as possible

BUG:343390
Change-Id: I5eff081613c9c64c78b8c5741bac67409a112c98
2015-01-28 12:41:34 +01:00
Marco Martin
8044e15a71 export textFormat for the tooltip
in some cases richtext in the tooltip is not desired, like
in the case of klipper. export a property to set
the text format

Change-Id: Ib4e8e913e060b868188b4f0b46db2162f33d8bb1
2015-01-28 10:20:57 +01:00
Marco Martin
c17ed3a107 fix layout in reverse mode
Change-Id: Ib81611f149821fc79669ae191a03daeba840b802
2015-01-27 19:36:58 +01:00
Lukáš Tinkl
f29ba02777 fix tooltip docu 2015-01-26 15:09:48 +01:00
Kevin Funk
9dda1204c8 Run convert-to-cmake-automoc.pl over files 2015-01-20 00:00:31 +01:00
Marco Martin
05cea81fdd make sure animation is disabled the first time
make sure the animation is disabled when the tooltip appears
for the first time.
since the correct implicitsizes can be calculated only when the
tooltip window is visible, we need to show the tooltip window
then calculate the final size and position, and last move it
*without animations*

Change-Id: I2d0f653e860104f17a62203565d5002a16d0dfae
reviewed-by: David Edmundson <kde@davidedmundson.co.uk>
BUG:341933
2015-01-16 18:01:17 +01:00
Marco Martin
5d62905a03 make sure pixelration is not 0
fix rendering

Change-Id: Idb5716ded802f4b6e68dabd82449053726977641
2015-01-14 17:06:02 +01:00
Marco Martin
d96a8505d9 a check more on centering
Change-Id: Ib22fcc6fe727c8b2b5ddc2473663c1e56b1dad09
CCBUG:342537
2015-01-13 15:59:17 +01:00
Marco Martin
c1814477fd trigger button switch on mouse wheel
BUG:342778
Change-Id: Idfa06319ac84762040eea07074042061a4bc313c
2015-01-13 12:49:35 +01:00
Alex Merry
48e9c2f29e Update installation variables. 2015-01-10 17:47:31 +00:00
Kai Uwe Broulik
94ecb4ff43 Let month menu navigate in current year
Rather than jumping back to the current year unconditionally, just navigate
inside the current year.

BUG: 342327
REVIEW: 121774
2015-01-02 14:11:19 +01:00
Kai Uwe Broulik
11485738af Connect Plasma::Theme::themeChanged to ColorScope::colorsChanged
Changelog: Fix text not properly updating its color when switching themes (especially dark<-->light)

REVIEW: 121726
2014-12-28 23:02:34 +01:00
Kai Uwe Broulik
cf6cd3297c Use rgba color with 0.5 alpha channel for placeholder text
Changelog: Fix placeholder text in textfields being too strong when using a light theme

REVIEW: 121724
2014-12-28 21:32:42 +01:00
Kai Uwe Broulik
6d7ce28992 Merge "save some CPU cycle when busy indicator is not visible." 2014-12-16 22:18:39 +01:00
Kai Uwe Broulik
6531279771 Load IconItem immediately upon componentComplete()
This makes the IconItem load the icon immediately after component creation and not
wait 150ms there for no reason which prevents eg. flickering in the OSD when it shows up.

REVIEW: 121219
2014-12-15 20:21:06 +01:00
Weng Xuetian
267ddccbff save some CPU cycle when busy indicator is not visible.
Change-Id: Ia5c296cdbc6c0ccd2ca45444d4f3171723b50d23
2014-12-14 16:23:13 -08:00
Weng Xuetian
a11ac49717 stop animation if the pixmap change is triggered by geometry change
Making transition between two different size doesn't make much sense,
since repainting is usually happens at that time and it could take some
time to finish. And the animation need to be stopped if m_animValue is set
manually.

Change-Id: I240c19f46d4d13eb0e54b4e7b3fa3b6c31cfc6d8
REVIEW: 121411
2014-12-11 14:49:43 -05:00
David Edmundson
2de3f489d3 Don't create a Plasma::Theme in units which is unused
Unit now takes all fonts from the default system font, which we monitor
for with an eventFilter on the application object.

Change-Id: Ib17c01e2811c0c672be18a930d625d84ecd154a4
2014-12-11 18:33:16 +01:00
David Edmundson
2204d21be6 Add FocusFrameStyle to qmldir
Change-Id: I67fadd9f3d13557541a4873f8bbb3740e0eee427
2014-12-11 17:34:37 +01:00
David Edmundson
c546f314be Use the same text colour for comboboxes as buttons
Given comboboxes use the same background as buttons they should use the
same text colour too.

This prevents a situation in Breeze where a ComboBox could get white
text on a white background when using a colourscope with complementary
colours.

Change-Id: I21502186178a32ce480cd3e838335451bf644c3e
2014-12-11 15:06:54 +01:00
David Edmundson
2afeb22f42 Merge changes Ibb130779,I68521f90,Ica6ba027
* changes:
  Reparse settings when they change
  Use a shared config in tooltip
  Save SVGs only when a theme is unloaded, not on each theme proxy
2014-12-11 12:40:43 +01:00
David Edmundson
e9d760d93b Merge "Do not keep reparsing plasmarc configuration" 2014-12-11 12:40:37 +01:00
David Edmundson
d2707e795a Reparse settings when they change
Change-Id: Ibb13077943330417fa08d23ce1ea60f2aff5defc
2014-12-11 01:59:51 +01:00
David Edmundson
81a494b131 Use a shared config in tooltip
Change-Id: I68521f9066114a265c3f3444332e5e67016207f7
2014-12-11 01:57:10 +01:00
David Edmundson
901cc3e159 Do not keep reparsing plasmarc configuration
KConfig->reparseConfiguration is expensive. It throws away our cached
values.

The Units constructor was calling this every single time. Units is
created a _lot_; once per applet and once per FrameSVGItem.

This meant we were reloading the same config ~100 times on startup for
no reason.

Perf showed this as being ~5% of the total startup time.

-    7.47%     0.00%      plasmashell  libKF5ConfigCore.so.5.5.0
                   [.] KConfig::reparseConfiguration()

   - KConfig::reparseConfiguration()

      + 66.51% Units::settingsFileChanged(QString const&)

      + 25.95% KConfig::KConfig(QString const&,
QFlags<KConfig::OpenFlag>, QStandardPaths::StandardLocation)

      + 3.93% KDesktopFile::KDesktopFile(QString const&)

      + 3.61% Units::settingsFileChanged(QString const&)

Change-Id: Ia70b7001ba473c8063e6c999b8e4233ea5b206f5
2014-12-11 01:04:57 +01:00
David Edmundson
2c8dd8982d Merge "roundToIconSize(0) should return 0" 2014-12-10 19:46:19 +01:00
David Edmundson
aac89104bd roundToIconSize(0) should return 0
If an invalid icon size is passed to roundToIconSize we should return an
invalid icon size.

This can cause IconItem to load a small pixmap which will never be
shown.

Change-Id: Ia678f2e879b83317e2971069acf8f00d9ce2e052
2014-12-10 19:19:57 +01:00
Kai Uwe Broulik
23b590b90c Fix scaling in ProgressBar and Slider
REVIEW: 121417
2014-12-09 22:46:57 +01:00
Marco Martin
bf99d9c03c Merge "move the controls to an independent style" 2014-12-09 13:27:54 +01:00
Marco Martin
7d52397115 move the controls to an independent style
* Adapt the existing controls to be generic enough to work on stock QtQuickControls
* Add missing styles needed for the set to be complete (and applications actually work)

The full list of controls styles is now:
ApplicationWindowStyle
BusyIndicatorStyle
ButtonStyle
CalendarStyle
CheckBoxStyle
ComboBoxStyle
MenuBarStyle
MenuStyle
ProgressBarStyle
RadioButtonStyle
ScrollViewStyle
SliderStyle
SpinBoxStyle
StatusBarStyle
SwitchStyle
TabViewStyle
TableViewStyle
TextAreaStyle
TextFieldStyle
ToolBarStyle
ToolButtonStyle
GroupBoxStyle

Change-Id: Ic5d33bc20c7456d1478c07aca33bda63378d5c05
2014-12-02 15:59:42 +01:00
Sebastian Kügler
b4519bdffb Fix DialogStatus namespace in SelectionDialog
DialogStatus, as in other Dialog variants, can only be accessed through
the PlasmaComponents namespace.

Fixes 3 ReferenceErrors in SelectionDialog and makes it actually work.
2014-12-02 02:05:58 +01:00
David Edmundson
c1b5adf25e Fix documentation linking
Change-Id: I391d1c4c7d0aae63ebf99e19197f20484a78f315
2014-11-27 12:53:14 +01:00
Marco Martin
cb8175f1f6 use PlasmaCore.ColorScope when suitable
It is possible to put a PlasmaCore.ColorScope element, to automatically
change the colors:
if for instance the complementary scope will be set, all labels
descendent of such element would flip their color

Change-Id: I2214aca522eb094cf067d8726c5bf2a7ecbf36b3
2014-11-25 18:27:20 +01:00
Kai Uwe Broulik
f54ff55bc5 Migrate ProgressBar to QtQuick.Controls
Test is enhanced to also cover vertical bars. The ProgressBar does not yet use
the vertical assets since Qt just conveniently rotates the bar for us and
apparently just overriding the entire "panel" component is evil

REVIEW: 121085
2014-11-10 22:09:55 +01:00
Kai Uwe Broulik
65a6861476 Migrate BusyIndicator to QtQuick.Controls
Comes with a test for the seamless pause/resume

REVIEW: 121070
2014-11-09 01:16:30 +01:00
Kai Uwe Broulik
ce1ba8a687 Add thumbnailAvailable property to PlasmaCore.WindowThumbnail
This property tells us whether a thumbnail is actually being rendered or it has
fallen back to the window icon

REVIEW: 120946
BUG: 336524
2014-11-03 10:11:32 +01:00
Marco Martin
7a5342e970 fix paint and size hints
Change-Id: Icb42635f4d4d2f15fb6cd51805f3e0e0906c34a2
2014-10-24 18:12:36 +02:00
Hrvoje Senjan
99a6647437 Fix build with Qt 5.4
The include is no longer indirectly pulled in with latest qtbase changes

Reviewed-by: David Edmundson
2014-10-21 18:06:04 +02:00
Ivan Čukić
a9262c6fa4 Removed the dead code that used to calculate the direction of a tooltip
The value of the 'dir' variable is quite difficult to calculate,
and it is not used anywhere.

Change-Id: I806a559dde51bdf3b243271fe68ee138faa872f6
2014-10-17 09:31:22 +02:00
Marco Martin
1cb4501a11 remove the old icon when an empty source is set
BUG:339793

reviewer by:Bhushan Shah <bhush94@gmail.com>

Change-Id: I02910e7ec9397c5bb6ca4e5c0ed3793d19aa14e5
2014-10-15 16:11:19 +02:00
Aleix Pol
7a4998046e Adopt QuickAddons in plasma-framework
Removes the code that was moved to QuickAddons

REVIEW: 120596
2014-10-15 13:22:27 +02:00
Eike Hein
d3a9b5bb1f Add margins.horizontal/vertical helpers that return added up margins along one axis.
Adding up margins along the horizontal or vertical axis is often
done to calculate sizing or spacing. This tends to result in scary-
long and bug-prone expression being bound to props, since nobody
seems to like to blowing them up into a code block with a separate
variable assignment. This aims to increase the readability of com-
plex expressions by summing axis margins into a single operand.

Change-Id: I39a37dde80b9314da0c69f3b33d26d26a9ff54d1
2014-10-13 15:14:56 +02:00
Marco Martin
f5fb0dbc24 consider the case of fallback as well
consider the case of fallback as well when we are searching for a texture

reviewed by: Eike Hein <hein@kde.org>

Change-Id: I1faa119f9b3486d21ebd07a294b5063a896d7af1
2014-10-13 14:19:36 +02:00
Marco Martin
66a1a497ef add a property to tell if fallback happened
add a property in Svg (and framesvgitem) to tell if the current theme
has this image, or if some fallback did happen
useful for items that are better not displayed than showing the potentially different
default theme

Change-Id: Ib914c0e196c5c941d35d9a600cc7d38818fc754f
2014-10-10 17:36:44 +02:00
Kai Uwe Broulik
7cf9fb93d8 Hide ProgressBar inner item when value is 0
This fixes the situation where an empty progress bar still shows a little spot on the left.

REVIEW: 120489
2014-10-04 22:41:40 +02:00
Sebastian Kügler
cccfdf5a9e Proper color for placeholder text in TextFieldStyle
Fixes unreadable placeholder text in TextField with dark themes.

Reviewed-by:Kai Uwe Broulik
2014-10-01 18:04:04 +02:00
David Edmundson
764cd182cc Merge "Floor devicePixelRatio in ProgressBar before use" 2014-10-01 11:45:09 +02:00
David Edmundson
4d8f9c55c0 Floor devicePixelRatio in ProgressBar before use
This matches what happens in the C++ SVG code

Change-Id: Ide914751d3ba18d7e4d62c4872651998bc226900
2014-10-01 03:16:07 +02:00
David Edmundson
4233f7f38e Warning --
Change-Id: I7649fc9f9209816be909217f1c71e7bbe60ab10f
2014-10-01 03:04:52 +02:00
David Edmundson
56e1c9c48a warnings--
Change-Id: If41d2ebcec822002edb5282dd401b84fc2d40a10
2014-09-26 17:05:30 +02:00
David Edmundson
d9bf760c14 warnings--
Change-Id: Ide6d4301162f617ae0846df8ea2ef938982f9a7f
2014-09-26 16:34:09 +02:00
Marco Martin
87e3240f72 don't make the progressbar smaller than its borders
BUG:338225
Change-Id: Ia5926206b9185c82bcdf96956bc7f586c3b2d50e
2014-09-25 18:31:19 +02:00
Marco Martin
8aab4ac9c7 share icon rounding code between Units/IconItem
it should ensure both share the same behavior

Change-Id: I2de37f5fb43bdcdd482ede9252c68fc207efbe39
2014-09-25 14:48:45 +02:00
David Edmundson
8a70067e8c Don't duplicate background resizing to contents
The code in Button is
panel.implicitWidth: max(label+borders, backgroundImplicitSize)

by setting the background implicitSize to be max(size, labels+borders)
we just duplicate the functionality.

This worked, but icon only buttons became smaller because we weren't
setting the implicitHeight of the label properly.

(two wrongs were making a right)

We need to move the RowLayout inside an Item as we are modiyfing the
preferredHeight of RowLayout, but this doesn't sync back to updating the
implicitHeight which Button.qml uses.

This fixes all binding loops and the rather broken icon only flat
button.

Change-Id: Id2f9c2ab37b2280ee69dc1473f388fe686e3327e
2014-09-23 10:22:35 +02:00
David Edmundson
b2a5ebc926 Update hover effect to match QtQuickControls port
Change-Id: Ib3ad938f24d2a7c9e5d8c6cdd5d6717b3574351a
2014-09-22 19:01:31 +02:00
Marco Martin
b98fdd7753 introduce roundToIconSize(int size)
return a size rounded tothe nearest inferior standard icon size.
sizes larger than iconSizes.huge, it will be returned unmodified
Reviewed by: Kai Uwe Broulik <kde@privat.broulik.de>

Change-Id: I85c575ea1cc7965ae9bede9e5a8b7b4cb342580e
2014-09-19 16:38:22 +02:00
David Edmundson
4a95748249 Don't redeclare QQuickItem properties for implicitSizes
Change-Id: I96a8e6acd23cdee77048bc064963c7735b6615db
2014-09-17 23:23:15 +02:00
Marco Martin
ac0c457b65 partly revert last commit
revert part of
306e353fe6

if a framesvgitem has an implicitsize explicitly set, it shouldn't be overwritten

Change-Id: I931ca8acafdc2f6908945d03fca97487ced22988
2014-09-17 20:21:34 +02:00
Marco Martin
306e353fe6 take into account device pixel ratio
make sure framesvgitem returns the proper implicitWidth/height

Change-Id: I6d756e474c69bb32d2abef1a34d989c339d28ef9
2014-09-17 20:04:17 +02:00
David Edmundson
4ee2d5ca22 Fix binding loop in Toolbuttonstyle
Setting the implcit width to be the same as the current height is very
easy to end up looping.

actual height of the background is set by the base style, which is based
on the implicit sizes anyway.

BUG: 338750
Change-Id: Ic7606588cec09c6ff16515c208efe576466d31d6
2014-09-12 18:50:00 +02:00
David Edmundson
e61e311fc6 Fix Mainpage.dox linking
Change-Id: Icb1cf6bcc672de4f672eb9c1d4e85773f98b2342
2014-09-12 01:56:56 +02:00
David Edmundson
3db430156e Add documentation for colorscopes
Change-Id: I6b4eae9839bc13386ea7e07301f46e0852974aa6
2014-09-11 16:26:28 +02:00
Joseph Wenninger
1279b3d253 Fix a crash when shutting down plasma shell, while destruction models
fixed with help of David and Aleix
2014-09-09 13:45:40 +02:00
Kai Uwe Broulik
55fc160bc0 Restore original checkbox and radio button size
REVIEW: 119920
2014-09-06 14:37:36 +02:00
Kai Uwe Broulik
8678630a82 Allow changing the current month using mouse wheel
REVIEW: 120003
2014-09-02 20:14:26 +02:00
Marco Martin
db601cf291 fix toolbars 2014-09-02 14:47:14 +02:00
Marco Martin
a9370b744f assign default sizes
take them frm the old implementation
2014-09-02 14:35:29 +02:00
Nicolás Alvarez
0807dda74f Add missing cstdint include.
Needed for uint32_t.
2014-08-30 14:45:21 -03:00
Sebastian Kügler
714bb667fc Minor fixes
- Fix encoding in copyright
- compile-time syntax for iconLoaderSettingsChanged slot
- --stray ;
2014-08-28 23:26:12 +02:00
Marco Martin
b58a3ef754 add a FIXME comment 2014-08-28 16:15:12 +02:00
Marco Martin
f7eb69f078 comment++ 2014-08-28 16:06:48 +02:00
Marco Martin
60976b67ae more comment&docs 2014-08-28 16:04:02 +02:00
Marco Martin
846f740dae fix copyright 2014-08-28 14:25:48 +02:00
Marco Martin
4ac3652d10 some documentation fixes 2014-08-28 14:21:12 +02:00
Marco Martin
d6b08c303a style tickmarks 2014-08-28 13:15:09 +02:00
Marco Martin
4ec02e7b1d style handle and groove 2014-08-28 13:12:04 +02:00
Marco Martin
6d6ff41aee start port of Slider 2014-08-27 18:51:52 +02:00
Frederik Gladhorn
db6da1eb54 Make TabGroup a focus scope
This allows to manage the sub focus inside each tab independently.

REVIEW: 119870
2014-08-21 10:02:16 +02:00
Frederik Gladhorn
92928e38af Make ConditionalLoader a FocusScope
QQuickLoader is a focus scope so that it can automatically forward the
focus to it's item. Conditional loader should do the same and forward
the focus to its internal loader.
2014-08-21 10:02:16 +02:00
Marco Martin
da70f9e0bf Merge branch 'mart/QtControlsCheckBox'
REVIEW:119846
2014-08-20 20:46:59 +02:00
Marco Martin
770121d516 dd focus rectangles 2014-08-20 15:04:39 +02:00
Marco Martin
93052bf263 fill the anchors of tool contents in toolbar 2014-08-20 13:55:08 +02:00
Marco Martin
9c485f8427 fix of the radio svg size 2014-08-20 11:34:49 +02:00
Marco Martin
ff775e3ad7 support evil tristates 2014-08-20 10:56:50 +02:00
Marco Martin
df637bf5bb add a radiobutton style
almost identical to checkbox stuff, goes together
2014-08-19 19:14:36 +02:00
Marco Martin
c7ef2a34a9 switch is just a compat class for checkbox
since the guidelines forbid the switch looking switch
2014-08-19 19:14:03 +02:00
Marco Martin
b3c6c294ee style the ckeckbox 2014-08-19 18:07:19 +02:00
Marco Martin
1ab872181b start of a checkbox style 2014-08-19 17:54:49 +02:00
Marco Martin
d2a2ac18f7 Merge branch 'mart/QtControlsTextArea'
Conflicts:
	src/declarativeimports/plasmacomponents/qml/TextArea.qml
REVIEW:119781
2014-08-18 11:34:47 +02:00
Marco Martin
907da69251 properties don't need to be declared anymore 2014-08-18 11:32:49 +02:00
Marco Martin
21e47e6ab8 inherit QtQuickControlStyle, use internal ScrollViewStyle 2014-08-18 11:18:08 +02:00
Marco Martin
428e4736b6 add margins from svg 2014-08-14 12:43:42 +02:00
Marco Martin
7e71e0bf95 comments++ 2014-08-14 12:36:46 +02:00
Marco Martin
5ad59675df don't duplicate ScrollViewStyle 2014-08-14 11:57:36 +02:00
Marco Martin
f9d64e2b09 try with new documentation 2014-08-13 19:19:23 +02:00
Marco Martin
99cc40053f make old contentMaxWidth/height props kinda work 2014-08-13 19:14:05 +02:00
Marco Martin
5961bcaaa7 add a focus effect 2014-08-13 18:55:08 +02:00
Marco Martin
877c2a3325 use the background framesvg only in TextAreaStyle 2014-08-13 18:52:50 +02:00
Marco Martin
76d24e8fe2 beginning of official style for TextArea
for now it copies ScrollViewStyle.. the style will have to be an import as well
2014-08-13 18:41:57 +02:00
David Edmundson
1d83cc0baf Guard against Plasma::SVG giving us null pixmaps
On some themes Plasma::SVG gives empty pixmaps. Loading a null QImage to
an atlas texture causes a crash in old versions of Qt.

Guard against it.

BUG: 88039
Reviewed-by: Martin Klapetek
2014-08-13 15:07:53 +02:00
David Edmundson
d4c9c20144 State inheritance from QtQuick / QtQuick.Controls modules 2014-08-13 12:16:33 +02:00
David Edmundson
f817168d02 Fix remaining doxygen exporting in Plasma.Core 2014-08-13 01:07:55 +02:00
David Edmundson
9f18d8c9e1 hide non qml accessible internal member functions from QML docs 2014-08-13 00:57:42 +02:00
David Edmundson
a2c04745f1 Generate documentation on remaining PlasmaCore classes 2014-08-13 00:45:43 +02:00
David Edmundson
f17761d508 Explicitly link QML Types with the name exposed in QML (which may be different) 2014-08-13 00:45:43 +02:00
Martin Klapetek
2f3c411956 [calendar] Initialize the ints properly
Fixes a cppcheck report
2014-08-12 23:50:36 +02:00
David Edmundson
5478c7e3c2 Add more missing @class and @short descriptors 2014-08-12 23:15:57 +02:00
David Edmundson
ace0209e0e Hide member documentation in imports
These classes are exposed only as QML so we should only show members the
user can actually use.

The invokable is moved to the top for easier reading

REVIEW: 119745
2014-08-12 23:13:52 +02:00
David Edmundson
c92a2697fa Remove non-true comment about certain classes being exported to QML 2014-08-12 21:33:49 +02:00
David Edmundson
6bdf7487cd Provide documentation on FrameSvgItem and ColorScope
without an @class no documentation is generated at all
2014-08-12 21:33:49 +02:00
Marco Martin
1585c9b26a be aware of dpi changes
BUG:338093
2014-08-07 17:05:55 +02:00
Aleix Pol
ebe9011253 Have separate texture hashes for each window
Apparently in nvidia we get corruptions when a texture created for a window
is used in another one.
With this patch we tell the texture has changed when we move it from a
window to another, so it's re-created and we keep textures for all windows
separately. This way we ensure they don't mix.

REVIEW: 119465
2014-08-04 19:53:35 +02:00
Marco Martin
712de91021 leave space for the clear button 2014-08-04 19:44:34 +02:00
Marco Martin
d66e62116b reintroduce all removed properties and methods
reintroduced as dummy, so existing stuff doesn't break but gets a warning
2014-08-04 19:28:30 +02:00
Marco Martin
b93132fca7 use QtControls for the textField 2014-07-28 19:55:32 +02:00
Marco Martin
0aaf7db0e4 use QtControls.ToolButton 2014-07-25 18:51:12 +02:00
Marco Martin
f2a1824c31 proper colors for the labels and icons 2014-07-25 15:43:17 +02:00
Marco Martin
957eab570e support for attached buttons 2014-07-25 15:36:14 +02:00
Marco Martin
c8cb89faa9 support for round buttons 2014-07-25 14:40:13 +02:00
Marco Martin
a3266857ad initial port of ToolButton
wonder if will be possible to share something with Button,
but ToolButton is way more complicated
2014-07-25 14:21:05 +02:00
Marco Martin
a059748fbc Merge branch 'mart/QtControlsButton'
REVIEW:119455
2014-07-25 13:05:00 +02:00
Aleix Pol
daf7981820 Just pass the bigger textures from the !m_fastPath to the textures cache
It's a really cheap lookup, and maybe we get to skip some textures
uploading

Reviewed by David Edmundson
2014-07-25 12:57:16 +02:00
Marco Martin
05f4a44059 use implicitWidth as label minimum width 2014-07-25 12:54:27 +02:00
Aleix Pol
6641285d3b Remove deprecated code-path
hint-compose-over-border is now treated by the !m_fastPath
2014-07-25 12:42:31 +02:00
Aleix Pol
bc425f1809 Cache the textures created for the fast path
Create a cache that has pointers to all the textures that we've generated,
so in case we have one already created, we can re-use it.

REVIEW: 119425
2014-07-25 12:41:53 +02:00
Marco Martin
dbbb8056f5 use the minimumWidth gave by the Layout 2014-07-25 11:26:41 +02:00
Marco Martin
d29b3f051d don't mix anchors and layouts 2014-07-25 11:20:26 +02:00
Marco Martin
7538c3292c don't compute two times the same thing 2014-07-24 20:16:46 +02:00
Marco Martin
0c2138916e use RowLayout 2014-07-24 20:11:31 +02:00
Marco Martin
b538a1dca9 override iconSource for compatibility 2014-07-24 19:19:26 +02:00
Marco Martin
9301163142 support checked buttons 2014-07-24 18:30:55 +02:00
Marco Martin
2e06bb3214 create arrow on demand, layout it correctly 2014-07-24 18:29:48 +02:00
Marco Martin
9b06cbc392 style doesn't depend from control properties 2014-07-24 17:47:19 +02:00
Marco Martin
a39c8898b3 don't redefine iconSource 2014-07-24 17:38:13 +02:00
Marco Martin
9365123152 fix minimumWidth/height
don't try to access undefined properties

make the style and the control as independent as possible
2014-07-24 17:11:19 +02:00
Marco Martin
02c6bba518 initial port of Button to QtControls
still loads of layout problems
2014-07-24 15:58:14 +02:00
David Edmundson
c127b78d57 Always take the slow path for composeOverBorder
We previously only supported compose-over-border when the centre was not
set to tile.

It's possible to use compose over border with tile.. even if it doesn't
make much sense.

Given that creating an opacityMask loads most of the image anyway, we
can make use of the FrameSVG painter path and avoid any additional code
complexity here.

REVIEW: 119406
2014-07-23 15:54:13 +02:00
David Edmundson
bdb0b3b2ca Check for empty sized elements in original SVG
Reviewed-by: Aleix Pol
2014-07-22 13:35:44 +02:00
Aleix Pol
e613662ab5 Make framesvg unit test pass
Revert the changes in contentsRect, it was clearly not the best place to
put the code that contains the code that computes the content size.
Instead move the code in FrameSvgItem, duplicates data and code but works.
2014-07-22 03:14:26 +02:00
Aleix Pol
ab93d83890 Merge branch 'davidedmundson/framesvg_native'
Use FrameSVG as 9 tiles instead of uploading a big texture of the finished frame each time.
This also saves the cache being populated with full created frames in different sizes; which end up taking up space in the disk and shared memory cache as well as the GPU memory.
A code path falls back to the original uploading the entire texture if obscure settings are used, i.e overlay.

Benchmarks:
apitrace when resizing a frame goes from an average of 7.6ms per frame of CPU time just for the swizzling and uploading to 1.4ms
GPU time also drops from 40us to 10us

Themes will need to remove stretch-borders (when we gain nothing from stretching; i.e Breeze) to get the most out of it.

REVIEW: 119330
2014-07-21 18:38:11 +02:00
Aleix Pol
dca3958b44 Stop exposing that many things in FrameSvgItem
Move the shared code between FrameSvg and FrameSvgItem into a separate file
that both can link to.

Reviewed by David Edmundson
2014-07-21 18:01:26 +02:00
Aleix Pol
47c7688d02 Move some of the code and make some API public
It's unreasonable to use private API, so make everything public API so that
every user of FrameSvg have as much features exposed as possible.

Reviewed by David Edmundson
2014-07-21 15:44:25 +02:00
Lukáš Tinkl
3f07e41e2a i18n style fix 2014-07-18 22:36:42 +02:00
Aleix Pol
565b2b6f51 Add a guard after figuring out the contentRect for a framesvgitem 2014-07-18 12:44:06 +02:00
David Edmundson
3eee37bd81 Don't allow tiling + compose over border at the same time
It wouldn't make any sense. Just choose tiling
2014-07-17 22:42:26 +02:00
David Edmundson
371c9a53dd Add composeOverBorder support in FrameSVGItem 2014-07-17 22:29:54 +02:00
David Edmundson
2bf3466b53 Put compose over border onto the slow path that renders the entire item 2014-07-17 19:32:17 +02:00
David Edmundson
09e23eb675 Merge branch 'master' into davidedmundson/framesvg_native 2014-07-17 12:39:55 +02:00
David Edmundson
1924877140 Add code path FastStretch, which resizes without re-rendering 2014-07-16 22:51:29 +02:00
David Edmundson
be05a8394a Don't remove nodes from a parent whilst we're cycling through them 2014-07-16 22:22:43 +02:00
David Edmundson
6c0dadc1c2 tidy variable + method names + fix crash 2014-07-16 20:40:41 +02:00
David Edmundson
e037203748 Add tiling support 2014-07-16 20:40:41 +02:00
Aleix Pol
a4e3569bbd Introduce the FrameSvgItem fastPath alternative, opt out of it on overlays
Fallback to the old code if there's something not (yet?) handled by the
new implementation. This way we get to optimize for the the common use-case
without breaking former, complex, code-paths.

Reviewed by David Edmundson
2014-07-16 17:01:05 +02:00
Aleix Pol
cbe13ac765 Do a full repaint when frameSvg says a repaintNeeded 2014-07-16 13:51:53 +02:00
Aleix Pol
fc4e09df46 Add warning 2014-07-15 19:57:43 +02:00
Aleix Pol
0a94e1b1b8 Take composeOverBorder into accoun 2014-07-15 19:56:04 +02:00
Aleix Pol
cf0f8d0c91 Make sure all prefixes are being used 2014-07-15 19:54:45 +02:00
Aleix Pol
89536abd9c Take into account that the requested prefix is not always the actually used prefix 2014-07-15 17:26:25 +02:00
Aleix Pol
4bde2d48dd Iterate over svgitem
Don't upload textures every time we resize, makes the resize much smoother.
Make it possible to show and hide borders
2014-07-15 16:28:41 +02:00
Martin Klapetek
06827054f4 Replace Calendar grid with Canvas
This patch simplifies the grid a bit more by using Canvas instead of
Rectangles, so actually lowering the number of Items needed to create
the grid from 16 to just 1.

It works pretty neatly with no junctions problem at all.

REVIEW: 119283
2014-07-15 13:53:34 +02:00
Aleix Pol
83895d8e26 Use proper sizes and positions 2014-07-14 20:02:47 +02:00
David Edmundson
dcbcb8a490 Construct full frame image using nodes inside FrameSVGItem 2014-07-14 18:44:33 +02:00
David Edmundson
9fc470089b If SvgItem size is 0, remove any nodes in the scenegraph 2014-07-14 17:23:33 +02:00
David Edmundson
96941f6c55 Use Atlas textures 2014-07-14 17:23:33 +02:00
Martin Klapetek
2f933387af Refactor the Calendar component a bit
Currently the grid itself is composed of 88 rectangles that draw all the
lines in a way that two big rect draws the whole two topmost horizontal
and leftmost vertical border lines and then each day rectangle is
drawing small bottom and right rect.

This patch reduces it to 13 rects only where one rect draws the whole
frame around the grid and then 1px wide/high rects draw the inner lines.
Results in much cleaner & simple code.

Plus there's a small refactor on the id names so it makes more sense.

This does not require any additional changes in the applets.

REVIEW: 119232
2014-07-12 13:52:34 +02:00
Frederik Gladhorn
445331bba8 Improve TextField accessibility
Qt Quick accessibility already picks up the text automatically. Instead
set the name (which is a descriptive element) to the placeholder text
which is more descriptive of the element. Otherwise Orca will read the
text twice.
2014-07-09 09:57:23 +02:00
Frederik Gladhorn
5199c9778a Fix accessible roles 2014-07-08 21:46:13 +02:00
Frederik Gladhorn
2f93b7f764 Add Accessibility properties
Also clean up increase and decrease actions for Slider a tiny bit.
2014-07-08 10:49:16 +02:00
Marco Martin
18b6d854a0 add missing files
REVIEW:118972
2014-06-27 15:13:46 +02:00
Marco Martin
6c54fb596d Don't expose color properties in c++ api
the color properties are remotely useful only when used from QML
and risk to explode in number in the future,
it's not a good thing for a public c++ api.

Also, they will become kinda deprecated as in largely replaced by
the ColorRole api. Too late to remove those properties completely,
but still last days to move them at least out of c++ api.
(and in qml they could be removed in the future in a 2.1 version
of the import while still being present in 2.0 if needed)

This moves the color properties is a theme subclass available only from QML

REVIEW:118972
2014-06-27 15:06:52 +02:00
Marco Martin
ffcc0d43d8 use correct highlight color
CCBUG:336775
2014-06-27 11:11:24 +02:00
David Edmundson
3cfa88f8c4 Add workaround for scrollview disabling keyboard interaction
See https://bugreports.qt-project.org/browse/QTBUG-31976

Reviewed-by: Marco Martin
2014-06-26 15:51:36 +02:00
Marco Martin
655e7fcc0d base on tabbar minimum width to show scrollbuttons
be more deterministic and now usually kickoff never shows the
scroll buttons

BUG:335392
2014-06-24 16:35:50 +02:00
Kai Uwe Broulik
347e073df3 Add paintedWidth and paintedHeight properties to WindowThumbnail
REVIEW: 118886
2014-06-23 19:58:15 +02:00
Aleix Pol
ce5d182510 Make Application component async
We're not using it for concatenating process calls, so it doesn't make
sense to make it block.

Reviewed by David Edmundson
2014-06-23 15:37:47 +02:00
David Edmundson
c317939aba Add notify property to colorGroup
REVIEW: 118841
2014-06-20 00:21:33 +02:00
Marco Martin
2c9103ee19 position the slider bar at margins
is a way in between the verious fix attempts of 332587
BUG:336448
CCBUG:332587
2014-06-19 20:57:49 +02:00
David Edmundson
66e2b915f6 Replace ScrollArea with a QQuickControls ScrollView
Included is a plasma theme to make it look the same.
A known regression is that SectionScroller is temporarily removed
but that is currently not used in plasma-desktop
and this fixes a lot more problems than it causes.

REVIEW: 114283
2014-06-19 20:10:38 +02:00
Marco Martin
8eb1bc10f5 Introduce the ColorScope class
it's an import in core, and advertises itself as an "attached property"
with this we can:
say that all its chidren are of a certain context, like "button" or
"complementary"

then anywhere there will be available an attached property, as ColorScope,
so like:

PlasmaCore.ColorScope {
 group: PlasmaCore.Theme.Complementary

 PlasmaComponents.Label {
   text: "foo"
   color: ColorScope.textColor
 }
}
2014-06-19 17:40:14 +02:00
David Edmundson
f22dd8e571 Replace incorrect documentation 2014-06-19 15:14:03 +02:00