Commit Graph

1113 Commits

Author SHA1 Message Date
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
David Edmundson
21af3f8c81 Don't require mandatory subText in tooltip
REVIEW: 118838
2014-06-19 15:12:26 +02:00
Sebastian Kügler
a5f25771a2 Reduce Units footprint
- internally, smallSpacing, largeSpacing and gridUnit are entangled, and
  all use the font's rendered size. This means we can save a
  QFontMetrics construction by merging the updating of these three
  props.
- A wanted side-effect is that the updating of spacing and gridunit now
  happens at the same time, so they're updated consistently in the UI.
- Also, use compile-time connects for the Plasma::Theme::themeChanged
  connection
2014-06-19 03:12:27 +02:00
Sebastian Kügler
f8422b903c Fix APIDOX for some properties 2014-06-19 03:10:43 +02:00
Sebastian Kügler
453c40efee increase units.smallSpacing
1/8 is really ridiculously small, it ends up being 2px on almost all
systems, and using it between UI elements makes them look really
cramped. 1/4 works much better, and makes this property actually useful.
2014-06-19 02:50:14 +02:00
Marco Martin
b755bd1e32 ColorGroup is part of Theme 2014-06-18 19:22:02 +02:00
Martin Gräßlin
d7d71e8a66 [declarativeimports/core] Do not crash if FadingMaterialShader failed to complie
Without GLSL our shader doesn't compile and Qt aborts when accessing the
uniforms. We don't want that, abort is never nice.

BUG: 336272
REVIEW: 118813
2014-06-18 15:13:58 +02:00
Marco Martin
1f633ad0a1 fix tooltip resize in folderview
also, detach from old layouts if the mainitem changes
2014-06-17 21:55:45 +02:00
Martin Klapetek
de43b9b547 Remove bad merge leftovers 2014-06-17 17:56:05 +02:00
Martin Klapetek
6240b9e7d5 [calendar import]Fix months capitalization
Should be done by the view/label rather than hardocding it
2014-06-17 17:55:01 +02:00
Martin Klapetek
b0f56eed9b [calendar import]Set 'today' properly 2014-06-17 17:54:32 +02:00
Martin Klapetek
da33d6211f [calendar import]Remove useless function 2014-06-17 17:25:05 +02:00
David Edmundson
b44e0205bc Add icon size "tiny"
REVIEW: 118798
2014-06-17 17:14:15 +02:00
Martin Klapetek
3188b417f4 Split startDate property into today and displayedDate in calendar component
Basically splits the Calendar::m_startDate into 'today' and
'displayedDate', where displayedDate is the date that is displayed (it
controls the days model etc) and can be manipulated by the user by eg.
changing months in the plasmoid, and today is the current day, populated
by our dataengine (which means it auto-updates with no need for a
timer).

This allows for greater flexibility and things like "Go back to today"
when eg. the plasmoid is hidden or when the user have browsed too far in
the calendar and just wants to get back to today (the button to do that
pending).

Also this fixes a problem where the time dataengine is being polled
every 30secs for the clock and would reset the calendar view as the
startDate is currently bound to the dataengine and the view resets on
that change.

REVIEW: 118668
CCBUG: 336304
2014-06-17 10:43:13 +02:00
Sebastian Kügler
bcde055673 Add test for ContextMenu
This enables and disabled menuitems with a timer, so we can see whether
dynamically updating these properties are propagated to the QMenu in the
proxy.

CCBUG:336281
2014-06-17 03:14:24 +02:00
Sebastian Kügler
5b38b9f850 Fix MenuItem.visible and MenuItem.enabled
Update visible and enabled property of the action backing MenuItem when
these properties change.

BUG:336281
2014-06-17 03:14:24 +02:00
Kai Uwe Broulik
76175fafa6 Handle mouse wheel events in PlasmaComponents.Slider
REVIEW: 118753
2014-06-16 20:07:16 +02:00
Marco Martin
01fc75aa78 more precise actionbutton
specific 22x22 graphics and ensure the graphic elements always have an even size

BUG:335547
2014-06-16 19:07:58 +02:00
Marco Martin
992b64a167 small workaround to show all the highlight borders
BUG:336210
2014-06-16 15:57:45 +02:00
Kai Uwe Broulik
60ddc9f25d Use RotationAnimator for BusyIndicator
This makes the animation run directly on the scene graph to not stress the CPU that much

REVIEW: 118769
CCBUG: 311799
CCBUG: 336274
2014-06-15 22:28:21 +02:00
Marco Martin
05d71947c8 svgColorGroup -> colorGroup 2014-06-13 15:40:47 +02:00
Marco Martin
09d0c44267 leave a bit of room around headings
make sure heights are integer
CCBUG:336123
2014-06-13 11:43:41 +02:00
Martin Klapetek
72c5aff002 Make the calendar heading & grid have the same margins
BUG: 336121
2014-06-12 13:56:08 +02:00
Martin Gräßlin
0d61746784 Small improvments to FadingNode and IconItem
* trigger an update after the animation finished as the IconItem needs to
  switch to SVGTextureNode again
* Don't connect needlessly to a lambda slot
* FadingMaterialShader had the texture bind swapped
* Fix virtual method hidden warning in FadingMaterialShader
* Use dynamic_cast instead of static_cast to convert to SVGTextureNode
  or FadingNode.

REVIEW: 118251
2014-06-11 07:55:01 +02:00
Marco Martin
fa95680a51 use color groups instead
the Text and Background colors can become buttonText or ButtonBackground
based on the svg property ColorGroup
2014-06-09 19:35:58 +02:00
Marco Martin
cac2704d50 prototype of more flexyble svg stylesheets
experiment in dynamic repacement of Text and Background
colors, in order to be able to generate icons of different colors
based on where they are (for instance if the normal background
is dark and the button background is light

at the moment supported an option to invert colors, one
to use the "highlight" color (if we want colored icons
on mouse over)
2014-06-09 17:35:46 +02:00
Bhushan Shah
86c1f46eaa Prevent crash when requesting icon with negative size
REVIEW: 118613
BUG: 335939
2014-06-08 22:39:54 +05:30
David Edmundson
73bb587ee9 Set catalog name in QueryDailog
REVIEW: 118557
2014-06-05 13:21:18 +02:00
Marco Martin
61dadaa558 minimize x move/resize calls
ensure starting and ending point of the animation are correct
BUG:335789
2014-06-05 12:09:52 +02:00
David Edmundson
7ea8e24584 Remove more unused QApplication includes 2014-06-04 18:57:18 +02:00
David Edmundson
8277da7015 Remove unused includes 2014-06-04 18:54:55 +02:00
David Edmundson
05485cf36f Remove unused include 2014-06-04 18:48:00 +02:00
David Edmundson
67b6bfc0c3 Remove unused include 2014-06-04 18:48:00 +02:00
Aleix Pol
6608359333 No need to forward the implicit* properties
It's not modifying anything or similar either.

Reviewed by David Edmundson
2014-06-04 16:55:14 +02:00
Marco Martin
051dabae5e warnings--
BUG:335522
2014-06-03 15:57:42 +02:00
Harald Sitter
ce329f4402 qmax(qreal, double) is not valid as qreal may be float
adjust the call to use qreal for both (floor() returns double)

REVIEW: 118487
2014-06-03 14:37:38 +02:00
Marco Martin
80195aa149 check for currentTab 2014-06-03 14:29:48 +02:00
David Edmundson
23068fb2b0 Avoid references to QApplication
They cause problems when running in QGuiApplication

REVIEW: 118470
2014-06-02 17:44:47 +02:00
Aleix Pol
1419eea367 Fix warning on ToolButton
If there's no parent for the ToolButton, always show all borders.
2014-05-29 18:39:31 +02:00
Marco Martin
f7adc059ee warnings--
BUG:335488
2014-05-29 12:14:09 +02:00
David Edmundson
8a59fe3643 Fix wrapping in tooltip subtexts
REVIEW: 118376
2014-05-28 16:24:54 +02:00
David Edmundson
78684c46cd Remove unnecessary placeholder
Text.implicitWidth holds the size the text would be if it wasn't
truncated
2014-05-28 16:24:50 +02:00
Marco Martin
a8f73abfbe warning--
BUG:335393
2014-05-28 12:32:57 +02:00
Martin Klapetek
aca024c2e0 Fix copy-paste calendar component bug 2014-05-27 17:44:08 +02:00
Martin Klapetek
19f21ec507 Equal margins on calendar grid from both sides 2014-05-27 17:44:08 +02:00
Marco Martin
140d066021 check for slots existence before blindly connecting 2014-05-27 17:13:57 +02:00
Antonis Tsiapaliokas
7916c9d766 Fix the PlasmaComponents.Sheet
*location property is now using the PlasmaCore.Types
*DialogStatus => PlasmaCore.DialogStatus
*windowFlags property => flags property
2014-05-27 17:56:37 +03:00
Marco Martin
66d65f1b12 QML warnings-- 2014-05-27 16:38:14 +02:00
Marco Martin
157d0ed836 use Qt::BypassWindowManagerHint
BUG:335267
2014-05-27 13:57:34 +02:00
Marco Martin
71b22cb89b tooltip is override redirect
CCBUG:335267
2014-05-27 13:39:12 +02:00
Martin Klapetek
12811f1fc4 Add the current month name to the calendar component by default
Currently we have 3 applets using the calendar grid and all of them put
the extra heading to the calendar. We also offer ways to change the
displayed month so we should also show /which/ month is the current one
displayed, implicitly.

REVIEW: 118328
BUG: 334147
2014-05-26 16:25:15 +02:00
Martin Klapetek
9f0765b002 Make sure we update the calendar on date change
This introduces new property on MonthView - "today". This property is
updated by dataengine (or can be a timer too, but we already get signals
from dataengine every 30 seconds to update the clock) and is never
updated by the code itself.

Furthermore, the DayDelegate is now bound to it, so when "today"
changes, the selection rectangle in the calendar should also change.

And finally, the selected item in the grid is cleared if MonthView's
date property is cleared (which is second part of this patch, to the
applet itself).

REVIEW: 118277
2014-05-26 13:40:47 +02:00
Sebastian Kügler
511495caad Make sure gridUnit is always an even number
This prevents subpixel alignment when gridUnit / 2 is used, which is
quite common.
2014-05-23 16:10:21 +02:00
Marco Martin
4cc6d84a81 try harder to use a pixel perfect size 2014-05-22 14:04:27 +02:00
Marco Martin
524ff23f25 add support for tooltips
use qwidget tooltips, not plasma ones
BUG:335131
2014-05-22 12:18:30 +02:00
Marco Martin
ab27f8b945 use view text color 2014-05-22 11:44:26 +02:00
Marco Martin
357647577f use view color for text in textfield
BUG:333837
2014-05-22 11:42:20 +02:00
David Edmundson
b06fe8301c Calculate implicitWidth of both button and toolbutton properly 2014-05-21 21:15:18 +02:00
David Edmundson
8b86279298 Match toolbutton sizing behaviour with button
Removing eliding in Toolbutton, this causes a binding loop as the
sizeHint is dependent on the paintedSize, which will change if you
elide.

In all cases we are trying to make toolbuttons fit the contents, so this
actually got in the way of that.
2014-05-21 20:07:36 +02:00
Martin Klapetek
5aa1e18f97 Elide Components' Button label
Otherwise the label can get out of the button boundaries. Tested with
RTL text too, it's elided properly as the elipsis switches to Left on
its own.

Reviewed-by: Marco Martin

BUG: 334867
2014-05-21 17:46:04 +02:00
David Edmundson
78e6000e72 Fix member variable capitalisation 2014-05-21 16:54:05 +02:00
David Edmundson
394e29fa34 When changing geometry always update 2014-05-21 15:38:23 +02:00
Marco Martin
bb10131fd4 support inverted layout 2014-05-21 15:03:37 +02:00
Eike Hein
cfda5c4d70 Update containsMouse even if tooltips are disabled globally.
ToolTipAreas are often the critical path for mouse handling, since
hover events are not filterable from below in the item hierarchy.
When disabling tooltips also stops updating containsMouse code has
no way to adapt, since there's no API to read the pref from within
QML. This changes the implementation of the pref to only prevent
tooltips from being shown, but still continue to handle hover events.
2014-05-19 10:25:25 +02:00
David Edmundson
2f16595036 Do not create a QSGNode when size is 0
This fixes a crash when resizing an icon to be super small
2014-05-16 15:44:25 +02:00
Martin Gräßlin
9653fad2f0 [declarative/core] Use proper GLXFBConfig for glxpixmap
We need to use a GLXFBConfig which matches the depth of the window
pixmap's depth. So far it used the GLXFBConfig of the GL context.
This worked fine for RGBA windows, but failed for RGB windows on e.g.
some NVIDIA drivers.

After this change the FBConfig of the context is completely ignored,
instead it tries to find a good FBConfig for a given depth.

Whenever a FBConfig for a given depth is found it's inserted in a
cache shared between all WindowThumbnails so that we don't have the
X roundtrips all the time.

BUG: 334241
REVIEW: 118110
2014-05-16 07:49:42 +02:00
David Edmundson
72c134b80f Update includes to be from QtGui 2014-05-15 18:42:46 +02:00
Martin Gräßlin
5e057da091 Do not overwrite event mask in WindowThumbnailItem
The WindowThumbnail needs XCB_EVENT_MASK_STRUCTURE_NOTIFY on the window.
For this it needs to change the window attributes. But it needs to keep
the existing event mask to not break other code. Also it cannot remove
the event mask again, as there is no chance to know whether another
component requires STRUCTURE_NOTIFY.

This fixes the not updating items in the tasks applet as the event mask
needed for KWindowSystem got overwritten.

BUG: 331956
REVIEW: 118137
2014-05-15 17:28:21 +02:00
David Edmundson
096c6d247b Port IconItem to native QSGTexture
Port IconItem to native QSGTexture including the animation.
This will save constantly uploading a new texture to OpenGL throughout the animation.

REVIEW: 116024
2014-05-15 16:19:59 +02:00
Martin Klapetek
2bd7101314 Calendar QML imports cleanup 2014-05-13 17:51:43 +02:00
Martin Klapetek
a4b08b0db3 Fix calendar font sizing
Reviewed-by: Sebastian Kügler
2014-05-13 17:44:45 +02:00
Martin Klapetek
247e829332 Proper if-else {} style 2014-05-12 19:21:06 +02:00
Allen Winter
939e01f554 fix build
include <cmath> to declare floor()
2014-05-11 20:58:53 -04:00
Marco Martin
39047a0ab8 layout fixes 2014-05-09 13:12:30 +02:00
Aleix Pol
556c1e321a Remove random qDebug output
Makes it easier to spot the actual problems on the output. If there's
something that's actually indicating a problem, we should make it a
qWarning.
2014-05-06 19:57:37 +02:00
David Edmundson
f123671346 Check the right items are valid in iconItem
Reviewed-By: Marco Martin
2014-05-06 16:33:20 +02:00
Marco Martin
9d24b7e391 ensure to repaint on repaintNeeded
BUG:334394
2014-05-06 11:49:21 +02:00
Martin Gräßlin
491befb850 Add safety checks to XCB functions in WindowThumbnail
Prevents XCB warnings about BadWindow when a tooltip is shown for the
first time.

REVIEW: 117822
2014-05-05 07:18:06 +02:00
Marco Martin
944c1549ae avoid half pixels 2014-05-02 15:43:55 +02:00
Marco Martin
cee9c928e3 simplify theme
add an hint for the progressbar size, throw away the old elements legacy of pre-components
2014-05-02 15:39:08 +02:00
Marco Martin
90c8dbc255 simplify logic a lot 2014-05-02 14:55:43 +02:00
Martin Gräßlin
af5a855da4 Discard window thumbnail pixmap after texture got destroyed by SceneGraph
If the window holding the WindowThumbnail item goes away the texture hold
by the node is destroyed but our bound window pixmap is not yet freed.
This results in incorrect state the next time the WindowThumbnail is
shown.

To get back into a clean state discardPixmap() is called if there is no
texture but a bound low level pixmap.

BUG: 333482
REVIEW: 117824
2014-04-30 13:14:44 +02:00
David Edmundson
97d6ba2dab Add a ComboBox to PlasmaComponents
REVIEW: 117798
2014-04-29 16:24:22 +02:00
Sebastian Kügler
670135db50 Fix color in TextField and TextArea
viewTextColor is wrong here, we have to use buttonTextColor. This
follows Plasma 1, and makes texts in fields and areas in white-on-black
themes work.

BUG:333837
2014-04-29 00:24:09 +02:00
Aleix Pol
e6f1fec0c7 Install all plasma files in a prefix/share/plasma directory
At the moment, we could say that plasma is co-installable by chance,
it's only working because KF5 dropped the apps relative directory.
This change introduces a PLASMA_RELATIVE_DATA_INSTALL_DIR that will
be available to know where in share the components are and
PLASMA_DATA_INSTALL_DIR to know where data has to be installed to.

Reviewed by David Edmundson

CCMAIL: plasma-devel@kde.org
2014-04-27 17:14:22 +02:00
Aurélien Gâteau
d988b10870 Centralize Qt5 component loading and use same variable as other frameworks 2014-04-26 02:20:13 +02:00
Aurélien Gâteau
ae92074071 warning-- 2014-04-26 02:16:10 +02:00
Aurélien Gâteau
d0bd7f77bf cmake warnings--
No need to define projects if we don't use any ${project}_* var.
2014-04-26 02:10:23 +02:00
Aurélien Gâteau
c9a3fb4021 hardcoded searchpath-- 2014-04-26 02:07:16 +02:00
Kevin Ottens
72ba7b4146 Apply the astyle-kdelibs script 2014-04-26 01:48:37 +02:00
Marco Martin
65c5c0dfe8 slightly more deterministic tooltip animations 2014-04-25 22:44:08 +02:00
Aurélien Gâteau
b3b95fa77d Refresh doc to use README.md and markdown 2014-04-25 21:06:00 +02:00
Aleix Pol
3a150bb0e7 Don't overdo lambdas 2014-04-25 01:25:03 +02:00
Aleix Pol
7c83fd542e Finish ToolTip::containsMouse property
The documentation was copy-pasted and was wrong.

The property name started with m_, which is odd and I don't see a reason
for it. Also I didn't find any code that uses it.

REVIEW: 117760
2014-04-25 01:22:58 +02:00
Davide Bettio
ac1e50d3aa
TextArea.qml: Add backgroundVisible property (http://qt-project.org/doc/qt-5/qml-qtquick-controls-textarea.html#backgroundVisible-prop) so it will be possible to use this componenet to write Notes plasmoid.
Signed-off-by: Davide Bettio <bettio@kde.org>
2014-04-22 11:35:55 +02:00
Marco Martin
13016a42b4 don't make the tooltip dance
note: this is different from the "dancing dialog" bug.
the tooltip should now appear in the proper position
and behave reasonably good
2014-04-17 20:06:43 +02:00
Michael Palimaka
d488420dcb Move stray tests to the root directory to be more like
other frameworks.

REVIEW: 117599
2014-04-18 02:25:50 +10:00
Marco Martin
333bd207ac react dinamically to tooltip config change 2014-04-11 17:39:40 +02:00
Marco Martin
d342c2e186 use the global option for tooltips
still has to watch for config file changes
2014-04-11 17:18:28 +02:00
Jan Grulich
25bb220724 Propagate containsMouse property and move the paddingitem to the mousearea
Reviewed by Marco Martin on irc
2014-04-09 16:01:23 +02:00
Marco Martin
06d8fea792 get rid of displayAspectRatio
this property is broken by design: units doesn't know anything about views, therefore it can't know what is the current screem
BUG:333068
2014-04-09 12:00:10 +02:00
Marco Martin
9a9d85c5e9 emit statusChanged when it closes 2014-04-08 19:02:33 +02:00
Marco Martin
d68bd29e50 binding loop--
after repeateddly changing the orientation no elements go crazy size wise
CCBUG:332701
2014-04-07 16:53:17 +02:00
Marco Martin
2f10450c17 make the animate property do something
BUG:332884
CCBUG:332869
2014-04-03 18:08:13 +02:00
Marco Martin
857b0b8069 don't try to load dataengines with and empty name 2014-04-02 11:12:11 +02:00
Marco Martin
2fd322536b text areas use textViewColor 2014-04-01 17:18:12 +02:00
Martin Klapetek
461042a240 Use installEventFilter calls properly
Should fix some font-change related bugs
2014-03-31 18:49:45 +02:00
Marco Martin
82e9bd46d0 don't depend from Qt5Declarative
That's the qt5 port of QGraphicsView-based QML
2014-03-31 18:37:28 +02:00
Aleix Pol
018bd82aca Drop QApplication usages in units.cpp
Drop dependency to QtWidgets from this file. We can start assuming that it
might not be that functional in some platforms.
Use QGuiApplication counterparts, based mostly on QScreen, which could make
it more powerful in the future.

REVIEW: 117161
2014-03-30 23:05:51 +02:00
Marco Martin
91cb51e3c3 fix behavior of inverted sliders
BUG:332688
2014-03-28 11:51:19 +01:00
Marco Martin
f3aed6ac4a less groowe width rather reposition of handle
BUG:332587
2014-03-28 11:43:51 +01:00
Ivan Čukić
04bf0ddaed The icon dialog can now be closed on request 2014-03-27 20:11:28 +01:00
Bhushan Shah
79684002f6 Formats are now part of KDeclarative repo 2014-03-27 01:57:47 +05:30
Sebastian Kügler
dbbf69b4c5 Use Font.Light variants for PlasmaExtras' Heading and Title 2014-03-26 01:17:11 +01:00
Sebastian Kügler
84a212469f Disable elide in TabButton
This messes up the fontmetrics needed to size the tab button. Before,
the labels would be elided no matter what.

This is more a band-aid than a real fix, we'll need to investigate how
we can make the sizing work correctly, but at least it "unscrews" the
layout of all of our tabbars.
2014-03-26 00:13:54 +01:00
Marco Martin
91642b0868 qtextracomponents->kquickcontrolsaddons 2014-03-25 17:10:25 +01:00
Marco Martin
c8844799eb don't lose the final position on showEvent
if there is an animation running and a showEvent happens, set the position to the supposed endValue before killing the animation

BUG:331981
2014-03-25 16:24:20 +01:00
Marco Martin
1415c07d4b the bounds of the slider are centered on the handle
BUG:332587
2014-03-25 15:30:00 +01:00
Eike Hein
6a6bf8e80c Add back a public slot to procedurally hide a ToolTipArea's tooltip. 2014-03-24 15:19:02 +01:00
Martin Gräßlin
9ecdcf5ae0 Don't crash in WindowThumbnail if XCB is not available
In case that XCB is not available we need to use the window icon.
2014-03-21 22:07:56 +01:00
Marco Martin
0205aa1ec6 if not flat, use button color
BUG:332138
2014-03-20 17:55:22 +01:00
Marco Martin
e64ab583c5 delete imports now provided by kdeclarative repo 2014-03-20 16:20:59 +01:00
Marco Martin
b5a61d00a0 don't start if already running 2014-03-19 18:31:26 +01:00
Marco Martin
546dd32304 Dialog is now
it statically links FrameSvgItem and Units.. they may become libplasmaquick eventually but for now is fine like that
2014-03-19 12:47:09 +01:00
Marco Martin
4e03ec61e0 use PlasmaQuick:: namespace 2014-03-19 11:59:15 +01:00
Marco Martin
ac98abf67c documentation++ 2014-03-19 11:55:00 +01:00
Marco Martin
97bfabd4d7 remove transientParent property 2014-03-19 11:45:10 +01:00
Marco Martin
49252b0b5d adjustGeometry is protected 2014-03-19 11:32:01 +01:00
Marco Martin
8b114a3f59 move size adjustment in private 2014-03-19 11:21:54 +01:00
Marco Martin
fe45629b99 updateInputShape is private 2014-03-19 11:06:56 +01:00
Marco Martin
68ae939d04 move the slots in private 2014-03-19 10:23:25 +01:00
Marco Martin
7e07bd7a3e move screenForItem in the dpointer 2014-03-18 21:40:36 +01:00
Marco Martin
f412d1a9d0 remove :frameSvgItem() 2014-03-18 21:38:02 +01:00
Marco Martin
beac07c97d call the class Dialog 2014-03-18 21:34:58 +01:00
Marco Martin
1809fe5429 move private stuff to dpointer
it will be made into a library, prepare for it
2014-03-18 21:21:34 +01:00
Marco Martin
dd2c4c7c28 relicense all lgpl 2014-03-18 12:13:38 +01:00
Marco Martin
cc6a87cee4 remove unneeded dependencies 2014-03-18 11:56:54 +01:00
Martin Gräßlin
d2452e2917 EGL/X11 backend for WindowThumbnail QQuickItem
Introduces a new optional dependency to EGL. If EGL is found the
WindowThumbnail gets compiled with EGL support. The EGL support is
unlike Qt's XCB plugin not mutual exclusive to the GLX backend, thus
it's possible to compile with EGL and GLX at the same time.
By that this implementation is prepared for the case that Qt supports
EGL or GLX through runtime selection.

In practice EGL support is only useful if Qt is compiled with GLESv2.
In that case the corebindingsplugin gets linked against Qt5::Gui_GLESv2
to get the dependency to GLES.

The implementation makes use of the EGL_KHR_image extension
(or EGL_KHR_image_base and EGL_KHR_Image_pixmap) and
the GL_OES_EGL_image extension to bind the X pixmap to an EGLImageKHR.

REVIEW: 116627
2014-03-17 09:09:23 +01:00
Ivan Čukić
4b3ae32b17 Added IconDialog class to the platform components 2014-03-08 18:02:39 +01:00
Marco Martin
50b5c62d81 fix highdpi mode for slider and progressbar
progressbar looks like still needs some serious work
2014-03-07 17:59:33 +01:00
Ivan Čukić
924fd195ae Oprimized Units::devicePixelIconSize 2014-03-07 09:26:33 +01:00
Ivan Čukić
6008c889f5 Added the units.displayAspectRatio property 2014-03-06 20:24:41 +01:00
Marco Martin
ef1010f312 set maximum size only when there is actually an hint 2014-03-06 15:26:05 +01:00
Marco Martin
3d5f105c80 use hints to ensure proper size 2014-03-06 14:37:19 +01:00
Marco Martin
83b0c8cc3c re set the flags on show
ensured the dialog is a tooltip, on top and doesn't accept focus
2014-03-06 14:36:51 +01:00
Martin Gräßlin
3303f9b979 Set state in PlasmaCore.Dialog after Qt handled the show event
Qt's xcb plugin updates _NET_WM_STATE and ignores anything we set,
thus we need to ensure that our additional states are set after Qt
set the state. Luckily KWindowSystem does not remove the state which
is already set.

Reviewed-By: Marco Martin
2014-03-06 13:24:45 +01:00
Marco Martin
ba91c53c12 move the skiptaskbar flag set to showEvent 2014-03-06 13:10:55 +01:00
David Edmundson
58e45d97b1 Remove unused check against local shortcuts 2014-03-05 23:22:36 +01:00
David Edmundson
fdd627c629 Use promptStealShortcutSystemwide from frameworks 2014-03-05 23:20:56 +01:00
David Edmundson
a403c3f3ca Don't check for conflicts when first setting keyboard shortcut 2014-03-05 23:20:56 +01:00
Marco Martin
f4daf5f7d9 export location 2014-03-05 20:58:42 +01:00
Marco Martin
6fe147f4d7 new graphics for tabbars 2014-03-05 20:14:52 +01:00
Marco Martin
0f4654643f don't always do the "dialog inside panel"
if a window is not outsideParentWindow or all the borders are enabled, don't do the trick
this fixes positioning of systray tooltips
2014-03-05 20:14:52 +01:00
David Edmundson
1dc6d98aa3 Allow shift in global shortcut 2014-03-05 19:37:41 +01:00
David Edmundson
b5a04c55ea Add missing license 2014-03-05 18:09:47 +01:00
David Edmundson
48e8e588a6 Add documentation on FrameSVGItem updating 2014-03-05 18:07:54 +01:00
David Edmundson
7e7fe6f972 Add KKeySequence QtQuick clone 2014-03-05 17:28:50 +01:00
David Edmundson
6599c25087 Port FrameSVGItem to paint directly
REVIEW: 116618
2014-03-05 17:24:13 +01:00
Marco Martin
c3d6c00a95 if parent = 0, component is complete
the tooltip dialog is created from c++, not qml

this fixes dialog positioning for tooltips
2014-03-05 17:03:47 +01:00
Marco Martin
b388a0d76b expose hasElementPrefix() method 2014-03-04 18:13:46 +01:00
Marco Martin
9cac91b652 try harder to avoid scroll buttons
also event copmpress the relayout
2014-03-03 22:24:05 +01:00
Marco Martin
9c600c5d68 add a new property in TabBar: tabPosition
it makes the tabbar eventually vertical and appearing oriented differently towards the content

possible values:
Qt.TopEdge (default)
Qt.LeftEdge
Qt.RightEdge
Qt.BottomEdge
2014-03-03 19:43:13 +01:00
Marco Martin
31707f406c locally manage the ToolTipDialog singleton
ToolTipDialog is not a Q_GLOBAL_STATIC because QQuickwindows as global static
are deleted too later after some stuff in the qml runtime has already been deleted,
causing a crash on exit
2014-02-28 19:12:14 +01:00
Marco Martin
0a8df8895f don't access a global static when destroyed 2014-02-28 17:08:37 +01:00
David Edmundson
66bac622b4 Merge branch 'davidedmundson/svgrendering'
Conflicts:
	src/declarativeimports/core/svgitem.cpp
	src/declarativeimports/core/svgitem.h

REVIEW: 115923
2014-02-28 16:22:49 +01:00
David Edmundson
6968ab8117 Set filtering so SVG's look nice and smooth 2014-02-28 15:58:05 +01:00
David Edmundson
8bdbc034d4 Add SVG::image(QSize size,QString elementId)
This allows SVGItem to fetch elements at various sizes without resizing
the SVG.
2014-02-28 15:24:08 +01:00
Sebastian Kügler
f3cf993882 Shush 2014-02-28 14:54:19 +01:00
Marco Martin
f4225e95c2 correct positioning in vertical panels 2014-02-28 14:33:52 +01:00
Marco Martin
b2fec905b5 Merge branch 'mart/svgHiDpi'
REVIEW:116027
2014-02-26 16:39:52 +01:00
Marco Martin
53b2aba558 explain why we only consider integers right now 2014-02-25 19:39:12 +01:00
Marco Martin
449e659ded Dialog don't have borders. ever. 2014-02-25 16:30:13 +01:00
Marco Martin
a04a87bcec use units to understand the devicePixelRatio 2014-02-24 16:55:19 +01:00
Marco Martin
9976c47ad9 add a transientParent property
if this contextmenu is done from a Dialog, add this as transientParent
2014-02-24 14:01:05 +01:00
Marco Martin
ef879a7c7b transientParent property for Dialog
use it when a Dialog instance is a popup menu of another dialog
2014-02-24 13:52:24 +01:00
Martin Gräßlin
1249e5bfc1 Follow Qt's OpenGL compile flags
Only link against OpenGL if Qt links against OpenGL. This ensures
that we don't run into issues if Qt links GLES and plasma links
GL because that's found.

REVIEW: 115990
2014-02-24 09:43:13 +01:00
Marco Martin
c009c7f0cd concept of fixedMargins
sometimes we need to know what the margins are of a framesvg, even if some of them are disabled
2014-02-21 21:13:12 +01:00
Marco Martin
840a77b083 remove other excess devicepixelratio
Svg manages devicepixelration completely internally, multiplying any of its sizes by it makes it applied twice, therefore incorrect
2014-02-21 20:08:01 +01:00
Marco Martin
4a0be9acd9 Revert "Slider scales with devicePixelRatio"
This reverts commit 4b0e828e29.
2014-02-21 19:41:31 +01:00
Sebastian Kügler
4b0e828e29 Slider scales with devicePixelRatio
Conflicts:
	src/declarativeimports/plasmacomponents/qml/Slider.qml
2014-02-21 19:28:34 +01:00
Marco Martin
17332257d7 experimental devicePixelRatio in Plasma::Svg
Conflicts:
	src/declarativeimports/core/framesvgitem.cpp
2014-02-21 19:24:14 +01:00
David Edmundson
c825bd7509 Update SVG outside paint loop 2014-02-21 16:32:05 +01:00
David Edmundson
9e5727d15c Force repainting a texture if the theme changes 2014-02-21 15:15:22 +01:00
David Edmundson
1eb0deb0df Move QSGTexture memory management into QSGSimpleTextureNode subclass 2014-02-21 15:15:21 +01:00
David Edmundson
d7b8ba265b Cleanup whitespace 2014-02-21 15:15:21 +01:00
David Edmundson
fd4bf875a7 Remove manual isDirty tracking in SvgItem 2014-02-21 15:15:21 +01:00
David Edmundson
9492340ba6 Always resize the node geometry on resizes 2014-02-21 15:15:21 +01:00
David Edmundson
f104d171da Update to paint to fill the size of the object, not the size of texture 2014-02-21 15:15:21 +01:00
David Edmundson
d0bc8b2a75 Fix leaking texture 2014-02-21 15:15:21 +01:00
David Edmundson
318560c8c2 Avoid repainting if node is not changed 2014-02-21 15:15:21 +01:00
David Edmundson
9851f8c789 Render SvgItem natively rather than going through QQuickPaintedItem 2014-02-21 15:15:21 +01:00
Marco Martin
1a55ac0c8c outside parent if the parent window ignores WM 2014-02-21 11:55:37 +01:00
Sebastian Kügler
13ec787302 Improved contrast for highlighted and today's delegate 2014-02-21 01:22:24 +01:00
Marco Martin
c9ac5ebefb make private what should be private 2014-02-19 18:30:24 +01:00
Marco Martin
99e350bb34 take into account panel size while positioning
make the dialog look always inside the panel, to not have borders looking brutally cutted away
2014-02-18 18:16:17 +01:00
Sebastian Kügler
bc7a54bb09 Compile-time connect in PlasmaComponents.Menu 2014-02-18 01:05:26 +01:00
Sebastian Kügler
61e4b3bbd3 Fix assignment type error 2014-02-18 00:20:20 +01:00
Marco Martin
08e3fcfe65 requestActivate() in this place caused 100% cpu
if more than one dialog is shown in a loop, causes requestActivate called to different windows too fast, this causes 100% cpu usage both in the application and in the windowmanager (not kwin specific)
2014-02-17 19:49:40 +01:00
Sebastian Kügler
7fcb1b7889 Merge branch 'sebas/themeswitch2'
Conflicts:
	src/shell/panelconfigview.cpp
2014-02-17 17:59:32 +01:00
Marco Martin
11bdf0b5d3 repaint the svg icon when plasma theme changes 2014-02-17 15:45:20 +01:00
Marco Martin
317f19d658 event compression in icons generation
saves generation of useless qimages and speed improvement ruring manual resize: ludicrous
2014-02-17 15:39:01 +01:00
Marco Martin
1b21c1a5d9 call superclass in the proper place 2014-02-17 14:32:35 +01:00
Sebastian Kügler
566e2a8a42 Fix QPixmapItem::PreserveAspectCrop
This case was broken and would scale the image, while what we want is a
centered piece, from Qt::KeepAspectRatioByExpanding.
2014-02-13 14:56:10 +01:00
David Edmundson
6bff4ef469 Avoid frame resizing till componentCompleted 2014-02-13 12:45:30 +01:00
David Edmundson
7c135314aa Watch QQmlParserStatus in dialog
This way we only call the expensive syncToMainItemSize once we have all
the information to accurately position the window.

Using the timer to limit the calls doesn't work entirely (according to
qDebug) especially with the multiple threads to compile things.

Seems to prevent the dialog ever jumping around on load.

REVIEW: 115709
2014-02-13 11:27:35 +01:00
Martin Gräßlin
bada0c97ba Ensure that we can build without X11 or XCB
* X11 is optional dependency
* XCB is optional dependency
* Qt::X11Extras is only found if both X11 and XCB are found
* switch to HAVE_X11 instead of X11_FOUND in CMakeLists
* remove/fix custom added definitions
* use #if HAVE_X11 instead of #ifdef HAVE_X11 (that is always true)

REVIEW: 115698
2014-02-12 16:20:42 +01:00
Martin Gräßlin
31e301174a Ensure to not call X11 specific calls if we are not on platform X11
This fixes a bunch of possible crashy code when trying to run
applications linking plasma-framework on platform Wayland.

REVIEW: 115641
2014-02-12 16:20:04 +01:00
Marco Martin
68552f81dd take into account margins when propagating size hints 2014-02-12 15:34:34 +01:00
Marco Martin
a4f14a966a new property: interactive (default false)
if interactive is true, when the mouse cursor leavesthe tooltiparea and enters the tooltip,
it won't hide, so it will be possible to interacti with it
2014-02-11 19:28:28 +01:00
David Edmundson
63c62d6da8 Documentation++ 2014-02-11 18:52:51 +01:00
Aleix Pol
18473c9e9e Remove KRunner from Plasma-Framework
Have it as a separate KRunner framework instead
2014-02-11 18:03:06 +01:00
David Edmundson
66d10d5c5a Add a property to tooltip to enable/disable tooltips
This is useful to be able to disable tooltips when a dialog exists.

We don't use the QQuickItem::enabled property as this propagates onto
children and has side effects.

REVIEW: 115623
2014-02-11 12:10:43 +01:00
Marco Martin
3c74807791 don't alterate the position given the borders
eternal size dance--, don't take borders into account 2 times
2014-02-10 20:09:03 +01:00
Marco Martin
6f8f9a9c64 fix layout 2014-02-10 17:15:40 +01:00
Marco Martin
4e25b59b8e fix the condition 2014-02-10 17:04:39 +01:00
Marco Martin
4722cf45bc check the propert mainText() subText() 2014-02-10 17:01:25 +01:00
Marco Martin
022db8a9af don't show tooltips without tiles or custom item 2014-02-10 16:56:58 +01:00
Marco Martin
77214956e7 search trough parent hierarchy for locations
seems reliable to determine the applet location
2014-02-07 17:44:47 +01:00
Marco Martin
5ba990df15 invert parent relationship of the compact and expander 2014-02-07 16:19:11 +01:00
Sebastian Kügler
b2ead1fe09 Merge branch 'master' into sebas/themeswitch2 2014-02-06 23:56:47 +01:00
David Edmundson
2b7a1eef48 Initialise values
Fixes valgrind screaming about us doing a jump on unitialised memory
2014-02-06 19:07:43 +01:00
Sebastian Kügler
eebfb64d0a Merge branch 'master' into sebas/themeswitch2 2014-02-06 17:56:28 +01:00
Marco Martin
3858044d25 Merge branch 'mart/AppletAttached'
Conflicts:
	src/declarativeimports/core/dialog.cpp
	src/scriptengines/qml/plasmoid/containmentinterface.cpp
2014-02-06 13:16:11 +01:00
David Edmundson
e82b1dab9d Enable Plasma Controls for tab-navigation 2014-02-06 12:35:32 +01:00
David Edmundson
a3a434ced5 Upgrade all components to use QtQuick2.1
This has some new features like activeFocusOnTab which are awesome.
2014-02-06 12:16:43 +01:00
Sebastian Kügler
60e955784c PlasmaCore.Dialog respects contrast effect settings 2014-02-06 03:51:14 +01:00
David Edmundson
af82f2f0e7 Take into account screen positioning when detecting if out of bounds 2014-02-05 20:12:22 +01:00
David Edmundson
aada92247c Fix documentation 2014-02-05 20:04:33 +01:00
David Edmundson
3bbda089ed Add missing const 2014-02-05 20:04:23 +01:00
Martin Gräßlin
e69179e42e Fix cast error with new flags in NETWM 2014-02-05 17:42:24 +01:00
David Edmundson
b97e726ae2 Set minimumWidth of button to actually show the text
The minimumWidth of a plasma button is based on the paintedWidth
of the text item. There is no way to work out the correct width it
should be if we set the text to elide.
(except for the hack of using a hidden fake text item)

We should always fit contents. This won't cause any problems unless a
developer has a broken layout, at which point that should be fixed

REVIEW: 115500
2014-02-05 17:00:34 +01:00
David Edmundson
a951b7357b Remove leftover debug code 2014-02-04 19:16:07 +01:00
David Edmundson
27e5a2ab46 Fix multiscreen popup positioning
This patch makes two changes:
 1) don't rely on window()->screen() it's rubbish.

 2) if the dialog is parented to a desktop, we want to position
 inside the parent, not outside the parent object

REVIEW: 115448
BUG: 330546
2014-02-04 14:55:48 +01:00
Sebastian Kügler
3647ee36ef Add copyright also in .cpp file 2014-02-04 03:29:31 +01:00
Sebastian Kügler
52c489eee5 Units reads longDuration from config file.
This reads the global animation duration value from plasmarc, and gets
notified of changes: change the file, all animations are updated
automatically.

Put this into your plasmarc to disable animations globally:

[Units]
longDuration=0

As you might guess, other values will work as well.

shortDuration will always be 1/5 of this. (For now.)
2014-02-04 03:25:51 +01:00
Sebastian Kügler
09564783a3 Fix wrong property name 2014-02-04 03:15:01 +01:00
Sebastian Kügler
e8413e2703 Set default animation duration back to 250
Both, 0 and 250 works fine now across our imports and applets.
2014-02-04 02:08:44 +01:00
Sebastian Kügler
1d0c41f936 Fix animations with animations disabled
This may sound a bit weird, but we can't just switch off everything, as
in some cases, the animation is not just eye-candy, but carries
important semantics of the UI -- examples are BusyIndicator and
ProgressBar. Behaviour for those is restored.
2014-02-04 01:32:12 +01:00
Sebastian Kügler
86e458cdd0 Normalize animations in PlasmaComponents 2014-02-04 00:16:55 +01:00
Sebastian Kügler
27eae008d6 250ms animations become units.longDuration 2014-02-03 18:56:32 +01:00
Sebastian Kügler
2ba6bd6cbc PlasmaExtras' animations use units.*Duration 2014-02-03 16:41:57 +01:00
Sebastian Kügler
90d2afb722 Cleanups in units 2014-02-03 16:32:29 +01:00
Sebastian Kügler
30e98ba8f7 units.longDuration and units.shortDuration properties
These centralize the duration of animations, currently set to 250 and 50
milliseconds. They're notifiable since we want to be able to switch off
animations at runtime.

CCMAIL:plasma-devel@kde.org
2014-02-03 16:30:50 +01:00
Marco Martin
b68bbca6c8 check for validity 2014-01-31 20:03:33 +01:00
Marco Martin
89cb417e9f propagate sizehints from mainItem 2014-01-31 19:59:45 +01:00
David Edmundson
d7a3a10238 Align Dialog Popups to align to be outside the docks.
For the WidgetExplorer we want to show the tooltips to the right of the
scrollbar in the view, not to the right of the delegate the tooltip is
for.
This patch checks if the visualParent is in a dock. If so the popup is
positioned outside

I have also introduced a manual test for Dialog Positioning, and
includied some fixes in the original logic.

REVIEW: 115393
2014-01-30 15:03:28 +01:00
David Edmundson
60e0754f90 Reduce the number of times syncToMainItemSize is called in Dialog
syncToMainItemSize is rather expensive and gets called a lot in item
initalisation as various properties get set.
2014-01-29 18:49:06 +01:00
David Edmundson
9de921e34d Warnings-- if modelData.seperator is not set 2014-01-29 18:39:20 +01:00
David Edmundson
d43fa35c42 Remove triple include of the same file 2014-01-29 17:22:44 +01:00
David Edmundson
c9c79e7a42 Optimisation: Don't work out position based on visualParent if there isn't one 2014-01-29 16:54:56 +01:00
David Edmundson
a805af6e7d Don't emit widthChanged ourselves. QWindow does it in resize() 2014-01-29 16:49:50 +01:00
Martin Klapetek
2ea398f5a6 Detect current QScreen manually in Dialog
QWindow::screen() never ever changes if the window is moved across
virtual screens (normal two screens with X), this seems to be
intentional as it's explicitly mentioned in the docs.

Until that's changed or some more proper way of howto get the current
QScreen for given QWindow is found, we simply iterate over the virtual
screens and pick the one our QWindow says it's at.

This also fixes the OSD having proper shadows in multiscreen environment
2014-01-28 18:19:30 +01:00
Aleix Pol
87a7db3063 Create a MimeDatabase component that maps QMimeDatabase
Makes it possible to figure out mimetypes from QML.

REVIEW: 115348
2014-01-28 15:04:19 +01:00
Sebastian Kügler
6dfb4f240b Make setDevicePixelRatio(qreal) a simple slot 2014-01-28 13:49:23 +01:00
Sebastian Kügler
2a217dff0a Remove unneeded API
- dpi(QQI*) and printScreenInfo(QQI*) goes away, they're mainly useful for
  testing.
- setDevicePixelRatio goes private
- clarify DPI computation
2014-01-28 01:15:38 +01:00
Sebastian Kügler
b7fcea471c Add comment why we read the DPI the way we do 2014-01-28 00:17:32 +01:00
Sebastian Kügler
b102ae5e45 Complete apidocs for Units. 2014-01-27 19:51:08 +01:00
Sebastian Kügler
b1bc20259a units.dp and units.du be gone
- They're not used
- They're conceptually broken and arbitrary to our scaling concepts
- The implementation as Q_INVOKABLE isn't very useful
2014-01-25 03:35:00 +01:00
Sebastian Kügler
c8ba9746f2 iconSizes.default be gone
This is used nowhere, so better get rid of it before someone gets the
idea.

Leaves us with only one non-scaled icon size. Maybe worth considering to
get rid of this as well, and let Folderview decide?
2014-01-25 03:30:45 +01:00
Sebastian Kügler
11e3d687d9 Remove dialog and toolbar icon sizes
Add FIXME for small icon alignment
2014-01-25 03:25:07 +01:00
Sebastian Kügler
124ae423c1 Scale units.iconSizes with dpi
This is still pretty rough. It seems to work fine for larger icons, but
smaller ones get misaligned. This will need some corrections, such as
locking the smaller sizes to 16, 22, 32, 48, 64, which should take care
of this issue.

With this change, parts of Plasma scale depending on the DPI. This is
noticeable in Kickoff.
2014-01-25 02:40:52 +01:00
Sebastian Kügler
a2baa1c7c7 Merge branch 'master' into sebas/hidpi 2014-01-24 23:38:37 +01:00
Bhushan Shah
3c0007db22 Provide KFormat wrapper in PlasmaCore for unit conversion
REVIEW: 115284
2014-01-24 22:28:04 +05:30
Sebastian Kügler
6d9022dca2 Use int for units.gridUnit
It was an int already anyway, so let's be true about this and also
return an int. This reflects pixel-alignment in the API, not just in the
implementation.
2014-01-24 12:33:39 +01:00
Marco Martin
e0676f7501 use the new backgroundcontrast effect 2014-01-23 15:17:41 +01:00
Martin Gräßlin
188e421956 Do not overwrite the window type by calling setFlags
QWindow::setFlags is manipulating the same X property as
KWindowSystem::setType. Thus our setType never succeeded as the
setFlags overwrote the window type again. In the same way we
have to call setFlags when reverting to the default Normal type.

REVIEW: 115258
2014-01-23 14:26:59 +01:00
Sebastian Kügler
e346c751ec Allow to reset devicePixelRatio
Setting devicePixelRatio to 0 re-reads it and resets it to its default
value.
2014-01-23 04:05:45 +01:00
Sebastian Kügler
cca8a86f98 Rename units.dpiScale to units.devicePixelRatio 2014-01-23 02:18:06 +01:00
Sebastian Kügler
f305950a80 Fix tooltip spacing 2014-01-23 01:50:37 +01:00
Sebastian Kügler
a70dd8c299 theme.defaultIconSize moves to units.iconSizes.default 2014-01-23 01:47:42 +01:00
Sebastian Kügler
4da01ebce0 spacing hints move from theme to units 2014-01-23 01:26:19 +01:00
Sebastian Kügler
cc7bd8e11e Port from theme iconsize to units.iconSizes.* 2014-01-23 00:24:38 +01:00
Sebastian Kügler
e10b77f236 Move units from PlasmaComponents into PlasmaCore 2014-01-23 00:06:43 +01:00
Sebastian Kügler
7e5604cc56 icon sizes move into Units
They go into the propertymap, so are accessible now with

units.iconSizes.huge, units.iconSizes.large, etc.
2014-01-22 23:59:23 +01:00
Sebastian Kügler
d51711edc6 Add dpi function from theme
printScreenInfo() has the debugging prints for now, removes random crap
from the shell output.
2014-01-22 01:36:30 +01:00
Sebastian Kügler
847a61b3d8 Delete ThemeProxy 2014-01-22 01:34:56 +01:00
Sebastian Kügler
e81db11f05 Export Plasma::Theme as theme, remove proxy class
The last bits have moved out of ThemeProxy, units is used for iconSizes,
which means we can finally directly use Plasma::Theme, and don't need a
ThemeProxy class anymore.
2014-01-22 01:33:26 +01:00
Sebastian Kügler
0c3e49866a Add dpiScale property to dynamically scale the whole ui 2014-01-22 01:18:54 +01:00
Sebastian Kügler
60950e8333 Correct api docs 2014-01-22 00:39:54 +01:00
Sebastian Kügler
416029ec4f Default tooltip uses units.iconSizes -- works fine 2014-01-22 00:30:04 +01:00
Sebastian Kügler
0dc8a7ee53 Move iconSizes from theme here
This is means two things:
- icon sizes have moved from theme.iconSizes.* to units.iconSizes.*,
  will provide porting script and update docs
- we can kill PlasmaCore's ThemeProxy now. Icon sizing and dpi handling
  is kept outside of Plasma::Theme for now, as it pulls in too many
  deps.
2014-01-22 00:28:09 +01:00
Sebastian Kügler
c84e549715 Use msize.height, not width for gridUnit
This change does two things:

- it increases the gridUnit to 11 pixel on 102DPI, 18 on 170DPI. This
  means on the one hand larger sizing, but aligns gridUnit and
  theme.largeSpacing consistently, and thus makes these types work
  together better.
- it scales the gridUnit with the DPI. The width of the font's bounding
  box doesn't change on the displays I've tried, the height does.
  As a result, gridUnit now scales linearly with the DPI setting.
2014-01-21 23:47:32 +01:00
Sebastian Kügler
13a6a38628 Some debugging for gridUnit 2014-01-21 17:55:47 +01:00
Sebastian Kügler
af691a9897 Merge branch 'master' into sebas/hidpi 2014-01-21 16:47:52 +01:00
Sebastian Kügler
18c4fc7c60 Improve tooltip spacing, increase allowance for text 2014-01-21 02:47:41 +01:00
Sebastian Kügler
22c12b8424 Temporarily add an invokable to read dpi value 2014-01-21 00:28:40 +01:00
Martin Gräßlin
bdc2ad2a84 Add outputOnly property to PlasmaCore.Dialog
The outputOnly property allows to specify that the dialog should not
accept any input. Thus it's an output only window which supports click
through. This is obviously platform specific and so far it is only
implemented for the X11 platform using the shape extension.

The input shape needs to be set once the window is visible and thus
the functionality is bound to the visible changed signal. The code
ensures that the required shape extension version is present and only
fetches it once.

REVIEW: 115139
2014-01-20 15:57:44 +01:00
Martin Gräßlin
e4d4f5fc1c Allow dialogs to be Notifications
Extending the WindowType enum by NET::Notification.

REVIEW: 115138
2014-01-20 15:57:10 +01:00
Aleix Pol
db3dd7a994 Improve clipboard types support
Try to be more accurate about the translations mimetype <-> variant.
2014-01-18 16:21:57 +01:00
Aleix Pol
6b86584dd0 Make it possible to fetch data for a said format 2014-01-17 17:24:04 +01:00
Aleix Pol
1a68e9aabf --debug 2014-01-16 19:16:08 +01:00
Aleix Pol
2ad7b38392 Create a new Clipboard component
Can be used to keep track of the clipboard by setting and fetching
information from it.
2014-01-16 19:15:51 +01:00
Sebastian Kügler
ca76aa29f8 Fix some TypeErrors in DefaultToolTip 2014-01-15 12:50:18 +01:00
Sebastian Kügler
0a3a236dfb Merge branch 'sebas/theme' 2014-01-15 12:49:42 +01:00
Marco Martin
92fe107329 put namespace around KDeclarative 2014-01-13 21:21:14 +01:00
Sebastian Kügler
374d230932 wallpaperForSize moves to Plasma::Theme 2014-01-13 02:11:37 +01:00
Sebastian Kügler
cf049f28cb Merge branch 'master' into sebas/theme 2014-01-13 02:05:44 +01:00
Marco Martin
4235ec4842 export the location as tooltip property 2014-01-13 02:00:45 +01:00
Sebastian Kügler
ea2a4db7ab Move spacing, stylesheet and mSize into Plasma::Theme 2014-01-13 01:31:46 +01:00
Sebastian Kügler
563035a1fa themeName is already gone 2014-01-12 23:05:55 +01:00
Sebastian Kügler
a9b1f2c619 Most of iconSize moves to Plasma::Theme
The QQmlPropertyMap isn't moved with this commit, this needs a bit more
changing, so we do a separate one for that, once the more trivial stuff
is moved out.
2014-01-12 20:10:19 +01:00