Commit Graph

1113 Commits

Author SHA1 Message Date
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
Sebastian Kügler
25dcdd39a4 Color properties move into Plasma::Theme
They're now convenience API in Plasma:Theme, PlasmaCore.Theme is
becoming smaller and smaller. Another nail in its coffin.
2014-01-12 19:49:56 +01:00
Sebastian Kügler
13242c8a5f Move smallestFont and defaultFont properties into Plasma::Theme 2014-01-12 19:33:56 +01:00
Sebastian Kügler
eba1a79b57 themeName, useGlobalSettings and wallpaperPath move into Plasma::Theme 2014-01-12 19:17:37 +01:00
Marco Martin
69efa8d941 simplify the qml of the default tooltip 2014-01-12 19:10:06 +01:00
Marco Martin
331b6c5d0d resize and move the tooltip in one move 2014-01-12 17:29:49 +01:00
Aleix Pol
5c88e300bd Small changes
Fix typo on API documentation
Remove pointless debug output
Remove unneeded loop
2014-01-11 11:17:53 +01:00
Sebastian Kügler
b54b42fcc0 Merge branch 'master' into mart/ToolTipArea 2014-01-10 18:57:58 +01:00
Sebastian Kügler
30d1e6bdba Fix reference error 2014-01-10 18:57:42 +01:00
David Edmundson
d200bd0d16 Add a new component ModelMenu
This is a wrapper round ContextMenu that allows one to populate
the menu items from a model

REVIEW: 114925
2014-01-10 12:28:29 +01:00
Marco Martin
b233c6e735 simplify 2014-01-09 16:36:59 +01:00
Marco Martin
1f2f706c10 bit better with animations 2014-01-09 16:10:17 +01:00
Marco Martin
c53a00ce4b first crude direction support for tooltips
it still needs support for diagonal movements
2014-01-09 15:09:53 +01:00
Aleix Pol
9e46c82733 Remove duplicated calls
setPosition will call setGeometry internally, no need to do both.
Only call setEnabledBorder once, with the enabled borders
2014-01-09 13:35:07 +01:00
Marco Martin
3f094d59a5 tooltips always have all the borders 2014-01-09 13:13:29 +01:00
Marco Martin
5836128789 animated tooltips are back 2014-01-09 12:10:22 +01:00
Marco Martin
bb7157a59e reposition when resize if there is a visualparent 2014-01-09 11:39:18 +01:00
Sebastian Kügler
fb52783c48 Experiment with size limits in tooltip 2014-01-09 05:26:49 +01:00
Sebastian Kügler
62580bc331 Port calendar to ToolTipArea 2014-01-09 05:26:20 +01:00
Sebastian Kügler
f21ad15ed6 Fix up showing and hiding of the dialog
ToolTipArea.containsMouse allows the use to update the tooltip way
before it's shown, or when the contents of the tooltip should change
within an open dialog.

dismiss() and keepalive() allow handing over the tooltip dialog to
another item, in order to allow for a smoother handover when a new item
recycles the tooltipdialog. This avoids flickering when the tooltip
moves from one item to another.
2014-01-09 04:09:03 +01:00
Sebastian Kügler
b8fc3aea7f Merge branch 'master' into mart/ToolTipArea 2014-01-09 02:33:11 +01:00
Hrvoje Senjan
18def6e560 Fix accessdenied's install location
CCMAIL: notmart@gmail.com
2014-01-08 23:28:59 +01:00
Marco Martin
6a0525c1c3 ToolTip->ToolTipArea 2014-01-08 18:13:07 +01:00
Aurélien Gâteau
3b7fe5f2e6 K_GLOBAL_STATIC => Q_GLOBAL_STATIC
One less use of kde4support
2014-01-08 13:18:19 +01:00
Aurélien Gâteau
c6e0b56d79 sortfiltermodeltest: qtest_kde.h => QtTest 2014-01-08 13:18:19 +01:00
Marco Martin
9f3af64dac new way to do tooltips
manage it in c++
it still steals hover events from their target and not all features are there.

better than before tough
2014-01-07 21:44:50 +01:00
Aleix Pol
e1a868e4f6 Fix QMenuItem connections
Don't emit twice textChanged when changed.
checkableChanged signal doesn't exist anymore. Use changed instead as
suggested by the Q_PROPERTY
2014-01-07 16:45:27 +01:00
Marco Martin
3feb6ac3ae use a QQmlPropertyMap instead of a variantmap
this way when a source is updated, only that will be updated, and not the whole data

so whould be way more efficient.

it remains API compatible
2014-01-07 14:33:20 +01:00
Marco Martin
569ad6a41d applets can only import from their own private
importing from the private imports of another applet makes the applet fail to load
2014-01-07 11:16:11 +01:00
Sebastian Kügler
8c797fce42 Improve PlasmaCore.ToolTip
- Derive from MouseEventListener as to let input through
- react to target changes: reparent the MEL accordingly
- kill a bunch of warnings

This "helps" a bit, but still filters out input events since the MEL
only passes events down to children, but the tooltip's target becomes
its parent.

Reparenting the target crashes, and it seems a pretty ugly thing to do,
anyway, since we don't want to mess with the scenegraph structure just
to filter events out for tooltips. Grmblz.
2014-01-05 04:26:29 +01:00
David Edmundson
0bf60ad1b4 Add missing license 2014-01-03 19:27:55 +01:00
David Edmundson
919954ab90 Add a simple manual test for MouseEventListener 2014-01-03 19:24:39 +01:00
David Edmundson
04f2f8bd8d Fix memory issues in MouseEventListener
Delete KDeclarativeMouseEvent when emitted

Do not leak KDeclarativeMouseEvent press and hold events when the mouse
moves.

Do not create KDeclarativeMouseEvent when the mouse is hovered. It's
pointless.
2014-01-03 19:24:39 +01:00
David Edmundson
635d02e7c2 Add documentation for MouseEventListener 2014-01-03 19:24:39 +01:00
Marco Martin
2eaf80456f till sync the item size even without visualparent 2014-01-03 12:40:10 +01:00
Marco Martin
ad4fecf426 don't autoposition if there is no visualParent 2014-01-03 12:32:19 +01:00
Marco Martin
692c436960 get rid of toolbar-icons
simplify svg icon management: all svg icons are in icons/ and have the same style
2014-01-02 18:35:29 +01:00
Marco Martin
84df832f5c Merge branch 'mart/modelsInDataEngine' 2014-01-02 11:05:20 +01:00
Sebastian Kügler
e9a43b165b Quicker animation in pagestack 2013-12-28 06:57:57 +01:00
Sebastian Kügler
682affabf8 Allow to switch off pagestack transitions 2013-12-28 06:44:58 +01:00
Sebastian Kügler
e5ad29dabf Adjustments to theme.textColor changes
The larger headings are a bit softened, to make their stick out less,
the font is meant to take care of this. Result: visually more consistent
colouring, strangely. Human eyes are beautifully complex things.
2013-12-28 01:07:06 +01:00
Sebastian Kügler
781ba8b4c7 Make theme.smallSpacing useful
On normal dpi displays, this will give two pixels, but will scale up for
higher DPI.
2013-12-28 01:06:07 +01:00
Sebastian Kügler
84b6e6a245 Adjustments for theme.textColor
textColor is now used from the theme, there it is made grey, similar
effect, less code, more consistency.
2013-12-28 01:05:09 +01:00
Marco Martin
4f3228ab44 fix rendering issues 2013-12-27 11:23:16 +01:00
Marco Martin
f692b5aa74 crash-- 2013-12-24 17:11:27 +01:00
Marco Martin
3184551ddb install the example in the proper place 2013-12-24 16:58:47 +01:00
Marco Martin
4e2db852dc apidocs++ 2013-12-24 15:46:22 +01:00
Marco Martin
a721878fda use q QQmlPropertyMap, crash-- and more efficient 2013-12-24 15:42:44 +01:00
Marco Martin
124139c2bf working models, add an example applet 2013-12-24 15:21:21 +01:00
Marco Martin
3b24340cc8 manage the case loading is not immediate 2013-12-23 16:00:40 +01:00
Christophe Giboudeaux
26948d0cea Fix includes 2013-12-19 15:23:02 +01:00
Martin Klapetek
3e659dd29e Simply subtract the width from the edge 2013-12-19 12:53:37 +01:00
Bhushan Shah
c244f181af Fix typo 2013-12-19 17:14:27 +05:30
Àlex Fiestas
094303ee3f [popup] Use QWindow::width instead of item.boundingRect to fix X
Since we are checking if the width() is out of bounds we should also use
width() to correct the position.

Other cases might need change as well, but I think we better go in a case
by case bases to fix all possible issues.
2013-12-19 12:20:22 +01:00
Sebastian Kügler
79b7a3b271 Fix borders in dialog depending on location
- We would only check for the available screen, but not for the location
  when applying borders. Fix that.
- Cache dialog geometry when going fullscreen, so we can restore it when
  we're not fullscreen anymore.
- Remove temporary var l, we have m_location for that.
2013-12-18 00:47:09 +01:00
Sebastian Kügler
c0624d27e7 constness++ 2013-12-17 23:31:49 +01:00
David Edmundson
a36c2787b9 Merge branch 'davidedmundson/containmentcleanup2' 2013-12-17 16:44:54 +01:00
Sebastian Kügler
5c96de0c57 Minor cleanups in dialog.cpp 2013-12-17 05:11:50 +01:00
Sebastian Kügler
5ff0605529 Compile-time connection for dialog sizing 2013-12-17 03:54:37 +01:00
Sebastian Kügler
e352eb9157 Remove activeWindow property
This shadows and QWindow.active, so use that.
2013-12-17 03:37:32 +01:00
Sebastian Kügler
462cfdcdc7 Port from activateWindow to requestActivate 2013-12-17 03:05:16 +01:00
Sebastian Kügler
2edebc57c3 Remove windowFlags property
This is a needless duplication of the property, and it causes bugs.

Removing it, and porting all users to the flags property from QWindow
magically makes layering and resizability bugs vanish.

One problem is left: the dialog dismisses too easily, it should not
dismiss when being resized, moved or when a child dialog or QMenu opens
from it.
2013-12-17 02:39:26 +01:00
Sebastian Kügler
4c17887657 Remove hack, it does more harm than good. :/
CCMAIL:mgraesslin@kde.org
2013-12-17 02:39:10 +01:00
Sebastian Kügler
04fd5d719a Use visible property from QQuickWindow
Don't override it anymore, but react to the changed signal to do our
magic.
2013-12-17 01:21:59 +01:00
Sebastian Kügler
714042904f Abuse flags
Interestingly, this hack yields the correct behaviour in my system. We
quickly set the always on top hint once we're supposed to hide, so the
window stays on top for the duration of the animation -- without
apparent side effects on the positioning and resizability.

CCMAIL:mgraesslin@kde.org
2013-12-17 01:10:58 +01:00
David Edmundson
906caec817 Expose screen to MouseEventListener events 2013-12-16 15:30:13 +01:00
Aurélien Gâteau
02d6b37976 Renames for the KF5 prefix 2013-12-11 21:40:54 +01:00
Antonis Tsiapaliokas
4efb85e5d2 Replace tab with spaces 2013-12-11 21:40:54 +01:00
Martin Klapetek
3214bd8132 Add KF5 prefix to plasma framework
This changes the lib name and package names to follow other frameworks

libFoo -> libKF5Foo
find_package(KFoo) -> find_package(KF5Foo)

REVIEW: 114389
2013-12-11 21:40:54 +01:00
Martin Gräßlin
86d030efac Add a hideOnWindowDeactivate property to PlasmaCore.Dialog
This property is meant to bring back the functionality provided by
PopupApplet. If the property is set to true the dialog gets hidden
when it loses focus.

REVIEW: 114378
2013-12-11 11:15:07 +01:00
Antonis Tsiapaliokas
1ebb352a76 Replace tab with spaces 2013-12-10 18:36:30 +02:00
Aleix Pol
6c82a1ee86 Reduce compiler warnings
Remove unused and deprecated headers
Port some K_GLOBAL_STATIC to Q_GLOBAL_STATIC
2013-12-09 16:50:18 +01:00
Martin Gräßlin
1d28b028b1 Use IconEffect for disabled state in QIconItem
Reason for this change: a QIcon might not contain the disabled pixmaps.
Using the icon effect allows to get also the disabled state for such
icons.

REVIEW: 114334
2013-12-06 16:24:41 +01:00
Aleix Pol
fd3fe7d5f5 Try having code only verbose when there are problems
Random output on random components doesn't really help.
2013-12-05 19:34:12 +01:00
Martin Klapetek
13d1f5568f Remove KLocale bindings
KLocale is now kde4support and we have QLocale QML bindings. This patch
removes the KLocale bindings from plasma-framework (they are not used
anywhere anyway).

If we miss something from KLocale in QLocale, we should upstream it.

REVIEW: 114150
2013-11-27 16:28:46 +01:00
Martin Klapetek
c29773656e Make isToday compare actual dates
So we don't have to construct awkward strings everytime.
2013-11-27 00:23:41 +01:00
Martin Klapetek
6eea4da70d Use proper index validity checking 2013-11-27 00:22:57 +01:00
Martin Klapetek
cb4d7e8b4c Emit proper signals everywhere 2013-11-27 00:22:08 +01:00
Martin Klapetek
e80e2960c6 Shuffle the code around a bit
These methods are in the middle of other together-related methods, for
no reason. Looks like corn flakes in the middle of beer. Sure, you can
do that, but why would you. Actually I should try that.
2013-11-27 00:21:22 +01:00
Martin Klapetek
33f2670f07 Remove empty Q_SIGNALS & Q_SLOTS 2013-11-27 00:13:44 +01:00
Martin Klapetek
f9cca29bd1 Make MonthMenu items not hardcoded
That's just wrong.
2013-11-27 00:07:30 +01:00
Martin Klapetek
5c6b1c9251 Rename isTodayMonth() to today()
Whoever named the method like that should be slapped over his fingers.
2013-11-26 17:28:15 +01:00
Martin Klapetek
ab97884c00 Calculate days before current month properly 2013-11-26 16:24:04 +01:00
Martin Klapetek
d1dc311345 Reinstate the month name capitalization
Some CLDR (locale) data used by Qt have standalone month names
starting with lower-case letters. So if we want to provide consistent
look across locales, we need to capitalize it ourselves

See https://bugreports.qt-project.org/browse/QTBUG-35100
2013-11-25 17:00:19 +01:00
Martin Klapetek
580d7d198a Revert capitalizing the month's name
That's a locale thing/bug.
2013-11-25 13:42:54 +01:00
Martin Klapetek
ff47006845 Add some docs to Calendar binginds 2013-11-25 13:24:49 +01:00
Martin Klapetek
224e1a620b Make the calendar applet follow current locale with first day in week
Also rename startDay property to firstDayOfWeek property so it's more
clear what it does. Handling the first day of week is changed a bit too
as QML uses 0 for Sunday while QDate uses 7 for Sunday, so the
getter/setter is accomodated to that fact and converts from 0 to 7 on
setting and vice-versa in the getter.

REVIEW: 114099
2013-11-25 13:24:30 +01:00
Aleix Pol
f187db1e86 Remove KDE4Support dependency from plasma-frameworks (almost)
Stop using classes from kde4support:
- KComponentData is deprecated, it will be using QCoreApplication::
applicationName() and QCoreApplication::applicationVersion(). Of course,
this means that the existing shells will have to be ported. I have no
problem with doing that port myself, if I'm told where to look into.
- Drop usage of KLocale, ported to QLocale
- Drop usage of KStandardDirs, ported to QStandardPaths
- Drop usage of KIcon, ported to QIcon

Furthermore, there's a module in src/declarativeimports/locale that IIUC
exposes KLocale bindings to QML. A specific plan to port it should happen
as well.

REVIEW: 113920
2013-11-22 13:03:29 +01:00
Sebastian Kügler
ccca440859 Default to BottomEdge in Dialog
Also add a little bit of debugging to check sizing.
2013-11-20 04:05:35 +01:00
Aleix Pol
0fa21b4af5 Iterate over the cmake scripts
Prefer using imported targets rather than cmake variables.
2013-11-15 16:46:59 +01:00
Aleix Pol
3ef13c53dc Remove predicates on cmake end commands
http://techbase.kde.org/Policies/CMake_Coding_Style#End_commands
2013-11-14 17:25:10 +01:00
Mark Gaiser
d56f690fcf Add license to calendar component classes. 2013-11-13 13:41:41 +01:00
Sebastian Kügler
085e232641 Export MonthMenu, calendar 2013-11-13 06:05:52 +01:00
Sebastian Kügler
4337daa38e Various layout improvements 2013-11-13 05:28:42 +01:00
Sebastian Kügler
95dc36f0ee large spacing is defaultFont.mSize().height 2013-11-13 05:26:18 +01:00
Sebastian Kügler
d248fe1955 clean up a bit 2013-11-12 05:56:10 +01:00
Sebastian Kügler
6f8d1b6ab2 correct initial date setting, theming improvement 2013-11-12 05:51:45 +01:00
Sebastian Kügler
6134503899 Navigation improvements
- fix today highlighting
- click on month name opens menu to switch month
- jump to today works
2013-11-12 04:53:50 +01:00
Sebastian Kügler
19db9c9663 Add calendar QML components to the Plugin
This allows us to keep minimal API, since the calendar view and import
really belong together. Also makes it a lot easier to provide a separate
Calendar Plasmoid.
2013-11-12 03:40:52 +01:00
Sebastian Kügler
859e2ce352 theme.smallSpacing and theme.largeSpacing
Accessors to allow centralized control of spacing in a DPI-friendly way.
Will be used to unify spacing across default widget to make them look
more consistent.

Currently, smallSpacing is font height / 10, large is font height / 2.
2013-11-11 22:53:42 +01:00
Aleix Pol
1d3da96d88 Make sure that plasma-framework is not using anything from kdelibs4
Stop finding the packages
Remove KDE4_ includes
Remove unused LIBINTL finder, provided by kdelibs
2013-11-11 18:29:32 +01:00
David Faure
f4e6d019f6 Add missing include, after all-of-QtDBus-and-QtCore removal in kdelibs headers 2013-11-10 13:03:50 +01:00
Martin Gräßlin
9e32090b50 Do not add dialog to DialogShadows before it became visible at least once
Calling DialogShadows::self()->addWindow(...) will create the low level window.
If this is called before the property windowFlags is evaluated the window flag
X11BypassWindowManagerHint has no effect as that one must be present when the
window is created through the low level xcb call.

This was breaking declarative KWin scripts as KWin's windows need to have the
X11BypassWindowManagerHint.

REVIEW: 113700
2013-11-07 10:33:56 +01:00
Sebastian Kügler
44a27ca40a Update buttonDownPos in event filter
This basically fixes the clicked signal, probably a sutble change in Qt
between 4 and 5 revealed this bug.
2013-11-07 00:21:56 +01:00
Marco Martin
3530130b19 make sure is frameless 2013-10-30 18:39:42 +01:00
Sebastian Kügler
7b0faed939 Remove QIconItem 2013-10-30 17:20:57 +01:00
Marco Martin
1c435c56a4 ensure no borders 2013-10-30 15:18:14 +01:00
Marco Martin
1898432387 better window management 2013-10-30 14:08:32 +01:00
Kevin Ottens
8507084d62 Use the target now that KDE4Support exports one 2013-10-28 12:56:13 +01:00
Sebastian Kügler
79ad02c244 Out of bounds checking for array access
This fixes a crasher in v4, without backtrace. Trying to reproduce it
in a simpler case, but this at least makes PageStack work.
2013-10-28 04:20:52 +01:00
Sebastian Kügler
51de1b4a59 debug-- 2013-10-28 04:19:58 +01:00
Stephen Kelly
b071260d15 Use target name instead of variable. 2013-10-24 12:45:26 +02:00
Kevin Ottens
e79c58807a KLocale moved in KDE4Support 2013-10-22 17:58:24 +02:00
Marco Martin
e6151ac159 hide from taskbar 2013-10-22 16:36:41 +02:00
Marco Martin
c41a4f3761 smarter positioning when there is no visualparent 2013-10-22 16:19:09 +02:00
Marco Martin
d797985ffa some fixes in the dialog 2013-10-22 13:05:13 +02:00
Aleix Pol
af8a7bad7d Stop using Qt5Transitional in Plasma Frameworks
Removes the find_package(Qt5Transitional) and does the proper
find_package(Qt5) with the list of modules.

Most of the porting is about using the Qt5:: targets.

REVIEW: 113345
2013-10-22 00:40:17 +02:00
Marco Martin
876ade83a0 get rid of WidgetExplorerView
The widget explorer window is done by a Dialog, allowing for more flexibility in shell packages
2013-10-21 22:05:38 +02:00
Marco Martin
391d6ea70b sliding popups are back 2013-10-18 17:46:57 +02:00
Marco Martin
17e133b77b dead code -- 2013-10-18 17:23:20 +02:00
Marco Martin
f81fbea365 simpler and more correct border calculation 2013-10-18 17:20:59 +02:00
Marco Martin
9423ad57f2 use Plasma::Types::Location 2013-10-18 16:50:56 +02:00
Sebastian Kügler
d5bef21f7b Rename target plasma to Plasma
This is in line with the frameworks naming policy, camelcasing. Up until
now, libplasma was the only library being KF5::plasma, that is now
KF5::Plasma.
2013-10-16 00:47:47 +02:00
Alex Richardson
e597f66af2 fix some warnings
REVIEW: 113193
2013-10-13 15:44:08 +02:00
Sebastian Kügler
c7c9e8fefc Put steve's changes back in
CCMAIL:steveire@gmail.com
2013-10-13 02:00:32 +02:00
Sebastian Kügler
c2be5b6b12 Revert bef789642e
That commit breaks the build, not finding qtest_kde.h, and cascading
errors from there.

CCMAIL:steveire@gmail.com
2013-10-12 21:47:07 +02:00
Stephen Kelly
bef789642e Remove obsolete include_directories use. 2013-10-12 15:25:19 +02:00
Aurélien Gâteau
d53a7ff03c Fix build failing to find Qt5DeclarativeConfig.cmake 2013-10-08 17:48:18 +02:00
Sebastian Kügler
bf03242380 Disable krunner-related code from the build 2013-10-08 17:37:15 +02:00
Mirko Boehm (Endocode)
a4af408b59 Fix initiaization order for Calendar. 2013-10-07 00:40:50 +02:00
Mirko Boehm (Endocode)
b590226a24 Fix initialization order for DialogProxy. 2013-10-07 00:40:41 +02:00
Sebastian Kügler
6df4a21e8a Port declarative theme away from KGlobalSettings` 2013-10-05 06:19:51 +02:00
Sebastian Kügler
5b17b0f082 Reenable tests in declarativeimports 2013-10-05 06:19:51 +02:00
Sebastian Kügler
2ca0e0eff2 find KDELibs4 2013-10-05 04:30:19 +02:00
Sebastian Kügler
b036e790a2 build without kde4support 2013-10-05 02:48:09 +02:00
Sebastian Kügler
2ad8ff7c55 plasmacomponents builds without kde4support 2013-10-05 02:48:09 +02:00
Sebastian Kügler
3c81603a8b Crudely make corebindings kde4support free 2013-10-05 02:48:09 +02:00
Sebastian Kügler
7ee3a698b0 No more kde4support for dirmodel plugin 2013-10-05 02:48:09 +02:00
Sebastian Kügler
0aa6247dd9 Use target instead of var for KF5::KI18n 2013-10-04 23:44:36 +02:00
Sebastian Kügler
b2121c1e06 cmake fixes
- finally remove KDE4_KIO_LIBS
- change KDeclarative to KF5::KDeclarative
- add KService where needed
2013-10-04 19:18:34 +02:00
Aleix Pol
1891066fc2 Adapt to kdelibs ab56e2f. 2013-10-04 18:40:47 +02:00
Stephen Kelly
0e8f31644b Add some missing links.
The
2013-10-01 14:12:29 +02:00
Marco Martin
9b3b387b0b new install targe 2013-09-18 21:36:36 +02:00
Aaron Seigo
0c68fa35bc indentation is not rocket science, but without it we lose maintainability 2013-09-13 16:29:30 +02:00
Eike Hein
eaef6cfbcb Make KDeclarativeMouseEvent's button prop usable in QML.
Qt::MouseButton is not registered, so use int instead. This
matches QML's own MouseEvent.button property.

Ack'ed by Marco Martin.
2013-09-11 19:02:27 +02:00
Marco Martin
cdc778f417 test applet for config uis 2013-09-11 17:39:09 +02:00
Martin Gräßlin
52e96b41df Ensure that the WindowThumbnail is not trying to render a thumbnail of itself
Recursive window thumbnails would look awesome on the screen, but reality
is that X/OpenGL or $DEITY doesn't like it at all and decided to just
freeze the view.

So let's delay all the redirecting till the WindowThumbnail has been
added to its QQuickWindow and if the window id is the one of the own
window we just render the icon instead.
2013-09-11 13:57:40 +02:00
Marco Martin
a7e9b1261b just use c++0x for now
gcc 4.6 and msvc still don't have -std=c++11
2013-09-11 11:15:29 +02:00
Martin Gräßlin
91d306d2e8 QQuick item for live updating window thumbnails
New qquick item in PlasmaCore to render a live updating window
thumbnail. The implementation uses XCB to redirect the specified
window using the composite extension. This means a running compositor
is not required. Through the damage extension the item tracks changes
to the window and triggers updates of the texture. Furthermore the
item tracks geometry changes of the window to recreate the window
pixmap.

If the pixmap of the window is valid, a texture is generated from it
using the glx texture from pixmap extension. For this a new optional
dependency for glx is added. On platform where glx is not available
(e.g. Windows, Linux with OpenGL ES) this will not get compiled and
the window's icon is used instead as a fallback.

REVIEW: 112142
2013-09-11 09:45:47 +02:00
Martin Gräßlin
97ce3dc808 Rework finding of XCB
Uses the new components syntax of FindXCB. So far plasma frameworks
only need the XCB component and that one is optional just like XLib.

The find xcb is moved to the toplevel CMakeLists.txt together with
the find x11 and HAVE_X11 gets set only if both X11 and XCB are found.

REVIEW: 112499
2013-09-09 06:14:35 +02:00
Marco Martin
abbe19722f use native text rendering 2013-09-06 13:43:19 +02:00
Marco Martin
89ae53097f unbreak mouse release event 2013-09-03 15:51:25 +02:00
Marco Martin
5005f2c879 add acceptedButtons prop as MouseArea 2013-09-02 15:38:00 +02:00
Ivan Čukić
6657090107 Added documentation for the Application class 2013-09-01 13:35:18 +02:00
Ivan Čukić
f786c74020 Ported the broken branch to a new one 2013-08-31 17:47:29 +02:00
Marco Martin
e8a4332034 re-add the calendar qml component
CCMAIL:heena393@gmail.com
2013-08-31 15:23:04 +02:00
Marco Martin
5ecaf1d08b add shadows to dialogs 2013-08-29 15:11:07 +02:00
Marco Martin
4c79f8fcff fix datamodel (adapt to api change)
also, change some connects to the new syntax, so next time a thing like
that gets catched
2013-08-28 22:11:55 +02:00
Marco Martin
f3729cac2d correctly filter child events 2013-08-28 14:21:51 +02:00
Marco Martin
86a2847c84 revert bd6927138f
apparently we can't tap into the valuetype conversion of QFont at all
theme.mSize(font) it is
2013-08-28 14:07:07 +02:00
Marco Martin
82a880396f install i18n iff hasn't been done yet 2013-08-28 13:53:42 +02:00
Marco Martin
04f11788ea stub for drag and drop and paste mechanism 2013-08-28 13:23:27 +02:00
Marco Martin
bd6927138f restore mSize attached property of theme fonts 2013-08-27 17:35:10 +02:00
Sebastian Kügler
19c4b555d5 Less warnings in TabButton 2013-08-27 04:27:28 +02:00
Sebastian Kügler
fd7ba8497a Use QVariantMap for data argument in newData
We need to pass the data as QVariantMap to the QML runtime, otherwise
the object can't be decoded client-side.
2013-08-27 04:26:00 +02:00
Sebastian Kügler
fa20d4b99b Parent QDrag to Item's parent
This seems more in line with general semantics, although it probably
doesn't make much of a difference here.
2013-08-26 21:43:52 +02:00
Sebastian Kügler
acba1e9471 Fix a bunch of leftovers from porting, add debug 2013-08-26 02:23:24 +02:00
Sebastian Kügler
20e9241c3a Remove KDE4Defaults 2013-08-26 02:21:53 +02:00
Sebastian Kügler
663b394d5e hasColor method for mimedata 2013-08-26 02:19:31 +02:00
Sebastian Kügler
3ccf499854 Paint a row of icons for the mimetypes 2013-08-24 03:43:26 +02:00
Andreas Cord-Landwehr
24c60ed48c Fix button width computation when height is set.
This commit fixes the button label overlapping over the button borders
when the button height is manually set to a value bigger than the
icon's smallsize.

Review done by notmart on IRC.
2013-08-22 21:14:42 +02:00
Marco Martin
0a73ce2850 if hover events are accepted, intercept them too 2013-08-20 23:03:57 +02:00
Eike Hein
4d5bac5f22 Ignore child event types we're not explicitly interested in.
MouseEventListener listens to both child events and events passing
through itself; child events are recorded so the handler for the
latter can perform a comparison and avoid emitting signals for the
same event again. However, this comparison could fail because the
member used to record the last child event would also be updated
for events we were not actually interested in.

A real-world example of this is opening a popup menu in repsonse to
a Press event. This causes an Ungrab event on the child, which would
cause the comparison to fail and mousePressEvent to announce the same
press yet again.

CCBUG:323067
2013-08-20 19:53:46 +02:00
Martin Gräßlin
531e6c3db5 Fix linking
KDEUI is dead which caused quite some collateral damage in our
CMakeLists.
2013-08-20 07:47:09 +02:00
heena mahour
b17ca9f007 Merge branch 'heenamahour/gsoc' of git://anongit.kde.org/plasma-framework into heenamahour/plasma2 2013-08-17 08:15:01 +00:00
heena mahour
3fb515ca6d Added margin Hints to highlight and indent Desktop.qml 2013-08-16 15:36:32 +00:00
Sebastian Kügler
2256c5ad1c Fix text elide in button and toolbutton
Also use a Plasma.Label, instead of doing it on our own
2013-08-14 05:46:55 +02:00
Sebastian Kügler
7fb579610a Return QObject* instead of Service*
Service* is not understood as return type, QObject is.
2013-08-14 03:26:43 +02:00
Martin Gräßlin
f50a5412ba Drop windowId property from PlasmaCore.Dialog
Property windowId was according to the comments only provided because
KWin needed it. KWin's usecase was to know the window Id of the window
where a given item is rendered to. In QtQuick a QQuickItem provides a
pointer to the QQuickWindow holding the item. This means this hack is no
longer needed.

REVIEW: 112033
2013-08-13 06:47:10 +02:00
Sebastian Kügler
fd3f1eaa35 Reduce KDE4 usage in cmake setup 2013-08-09 05:22:20 +02:00
Sebastian Kügler
db9b0016d1 remove last remains of kdebug 2013-08-09 04:14:26 +02:00
Kevin Ottens
418bcfa75a Add missing includes
The latest changes to KImageCache are slightly source incompatible, so
some types have to be included earlier.
2013-08-06 18:59:47 +02:00
Alex Richardson
7e8f62acad fix including sortfiltermodeltest.moc 2013-08-06 18:21:25 +02:00
Eike Hein
f63357bd29 Make the setData() accessor take a QVariant as payload.
The implementation now specifically tries to support byte arrays
being passed in, which is what the base class speaks. To try and
retain the previous behavior anything else is attempted to be
converted to a string and failing that, silently dropped.

REVIEW:111748
CCBUG:322567
2013-08-06 12:01:53 +02:00
Sebastian Kügler
b89451fb25 Merge branch 'master' into sebas/kplugins 2013-08-05 16:30:23 +02:00
Marco Martin
ea42678895 make minimumWidth/maximum/implicit exportable
both the applet and its compact representation can now export minimumWidth,implicitWidth etc and those are exported to the root graphics item.

the minimum width of the applet is used to collapse in popup
2013-08-05 15:37:21 +02:00
heena mahour
18266f3ab7 import org.kde.dirmodel 2.0 installed 2013-08-03 10:21:05 +00:00
Kevin Ottens
3eaa4d83f4 runnermodeltest is manual not automated 2013-08-01 12:38:47 +02:00
Sebastian Kügler
f034b84daf add ctor back in that got lost during the merge 2013-07-30 21:31:12 +02:00
Kevin Ottens
0e590217f8 Port away from kdebug 2013-07-30 08:05:09 +02:00
Giorgos Tsiapaliokas
6d000fe183 s/QVariantHash/QVariantMap.
QVariantHash isn't consumable from QML
2013-07-29 19:09:06 +03:00
Sebastian Kügler
d3b9cf5f35 merge 2013-07-25 14:45:49 +02:00
Kevin Ottens
c42406cabc Pull in the KDE4Attic dependency 2013-07-25 11:54:15 +02:00
Sebastian Kügler
06925637a7 Merge branch 'master' into sebas/kplugins 2013-07-18 11:59:42 +02:00
Marco Martin
c0f3730686 forward port the scrolling fixes of plasma1 vers 2013-07-16 19:30:25 +02:00
Sebastian Kügler
84cd704368 Merge branch 'master' into sebas/kplugins 2013-07-12 10:35:09 +02:00
Alex Neundorf
454bf83be3 -adapt to current changes in kdelibs regarding kde4support: use ${KDE4Support_LIBRARIES} when using it
Search for KDE4Support, but after searching KDELibs4, this is hackish, but currentlx necessary due to
cyclic dependencies we still have

Alex
2013-07-11 22:57:04 +02:00
Sebastian Kügler
21c04fd3d3 Merge branch 'master' into sebas/kplugins
Conflicts:
	CMakeLists.txt
2013-07-09 02:34:36 +02:00
Sebastian Kügler
a9c022f5b9 Cleanups 2013-07-03 05:12:30 +02:00
Sebastian Kügler
95aa0eee7d remove tdata accessor again 2013-07-03 00:41:54 +02:00
Sebastian Kügler
f9502edb14 Convert to use QVariantMap throughout
This makes it possible again to use DataSource.data from QML. Some more
optimizations are needed, but it already basically works.
2013-07-03 00:39:54 +02:00
Sebastian Kügler
ad08301db4 Add temporary QVariantMap data accessor 2013-07-02 03:21:30 +02:00
Marco Martin
5b0b17f86a respect contents hints 2013-07-01 18:21:29 +02:00
Kevin Ottens
c36c625d9c Port away from KUrl 2013-06-27 16:39:03 +02:00
Sebastian Kügler
6389825172 User Q_ macros for signals and slots 2013-06-21 02:22:02 +02:00
Marco Martin
b324f520fb qt5 port of DirModel 2013-06-19 17:38:06 +02:00
Sebastian Kügler
2b6eea985e use ecm macros for tests in qtextracomponents 2013-06-19 02:51:59 +02:00
Sebastian Kügler
66ed317518 Port and enable unit tests for core bindings
All pass.
2013-06-19 02:48:09 +02:00
Sebastian Kügler
eafac77910 clean up include 2013-06-19 01:15:08 +02:00
Sebastian Kügler
728cf2e53f don't use startdragdistance here
emit click if the cursor is still in the area regardless of the
distance travelled
this because MouseEventListener doesn't start drags

BUG:320893
FIXED-IN:4.11

cherry-picked from ac9592832893cd6562dc0747f8afc1d7f89442c8 in
kde-runtime
2013-06-17 15:25:29 +02:00
Sebastian Kügler
057d592a1a Ensure the busyindicator is square 2013-06-17 15:22:15 +02:00
Marco Martin
50ee44b70d Merge branch 'PlasmaTypesClass' 2013-06-12 11:24:03 +02:00
Marco Martin
7a7914126e Switch is a CheckBox on desktop
the sliding Switch is touch specific
2013-05-25 12:50:32 +02:00
Marco Martin
669ed7a35c register Units 2013-05-16 13:39:30 +02:00
Marco Martin
570d0bdc05 export the Plasma::Types object 2013-05-15 19:51:05 +02:00
Marco Martin
75cbf80f47 add Units from Plasma1 2013-05-15 17:58:30 +02:00
Marco Martin
e07cbe99af allow last column to be bigger
last column wisth is regulated by the page's implicitWidth, but the
final with will always be a multiple of columnWidth
2013-05-15 14:16:44 +02:00
Marco Martin
812b9a06ab get rid of Plasma::Location 2013-05-14 18:27:27 +02:00
Marco Martin
e07600a83f Put all Plasma emums in a Types class
This makes possible to use them directly frmo QML
as a minus, is not pretty and requires tons of search and replace in old
c++ code
2013-05-10 19:29:13 +02:00
Marco Martin
c13a58cf11 checkable and checked properties 2013-05-09 16:16:16 +02:00
Marco Martin
4692c941af add ServiceOperationStatus binding
this class is used to monitor the enabled status of service operations
2013-05-02 18:56:00 +02:00
Marco Martin
08ed91d7e0 Data is a QVariantmap again
this means that DataEngines and the Storage Service are directly usable from QML2 again
2013-05-02 18:02:38 +02:00
Sebastian Kügler
47c63deb6f elegantly work around
the hack
2013-04-30 02:59:02 +02:00
Sebastian Kügler
b68317e930 Use QVariant for MenuItem::icon
This way, we can cover string and QIcon assignments transparently,
another backwards compatibility fix, and easier thing in Plasma2: Now
the user doesn't have to worry about creating QIcons, but can just
assign the icon name, and it will get loaded from the theme. Models that
provide QIcons (such as QStandardItems) now work correctly with
PlasmaCore.MenuItems.
2013-04-30 02:50:42 +02:00
Sebastian Kügler
e4976005c6 Fix crasher with 0x0 windows
It can happen that the visualParent has no window attached, so don't
access it. In this case, use the visualParent's geometry.
2013-04-30 02:33:17 +02:00
Marco Martin
31e39640ce correct kdeclarative includes 2013-04-26 17:36:45 +02:00
Stephen Kelly
268f44fc3b Remove use of qt4_automoc.
It is obsolete.
2013-04-12 11:09:43 +02:00
Anant Kamath
f66a3608c0 Fixed exporting flags to QML 2013-04-12 03:12:04 +05:30
Sebastian Kügler
39de2a637c Fix crash in SortFilterModel::mapRowFromSource()
It was not using the correct model to get the source index from the
row.

Patch by Aurélien Gâteau

CCMAIL:agateau@kde.org
REVIEW:109946
2013-04-10 16:19:34 +02:00
Sebastian Kügler
63366d4218 a few more optimizations and better docs for tooltip 2013-04-09 04:38:06 +02:00
Sebastian Kügler
3859dbdd07 Improve API docs 2013-04-09 04:02:19 +02:00
Sebastian Kügler
e7887ee199 more removal of unnecessary stuff 2013-04-09 03:52:59 +02:00
Sebastian Kügler
3bd1d939e8 remove maincomponent and target properties from tooltipproxy 2013-04-09 03:50:43 +02:00
Sebastian Kügler
50a4abac6d ToolTip polishing
- manage mainComponent entirely in ToolTip.qml
- less resizing/setvisible makes it faster and smoother
- fix timer connects in dialog
- Kill dead code
2013-04-09 03:42:54 +02:00
Sebastian Kügler
2cc96aac45 kill tooltipwindow implementation
We use a dialog subclass-singleton now.

I love the smell of dead code in the morning.
2013-04-09 01:27:25 +02:00
Sebastian Kügler
9eda3882ca Make tooltip positioning work 2013-04-09 00:09:07 +02:00
Marco Martin
c3e2a6e671 smaller sectionscroller 2013-04-05 11:08:30 +02:00
Sebastian Kügler
e0c7eaafad dynamic object creation inside tooltip
The mainItem is now a Component, which gets created on demand and passed
to the tooltip dialog.

Positioning is a bit off now, but it basically seems to work as we'd
like it to.
2013-04-05 04:27:55 +02:00
Sebastian Kügler
8eab0f20f2 tooltip now uses a dialog
A bit crude, and only half-working, but shows up
2013-04-05 01:10:53 +02:00
Sebastian Kügler
feda4f5013 make tooltipdialog a singleton 2013-04-05 00:30:17 +02:00
Sebastian Kügler
e48908eb70 add tooltipdialog class
Let's try to share more code with dialog -- especially sizing, frame
painting and positioning with dialog. This means a bit of rewiring, but
should result in more lazy-loaded, shared objects.

The idea is to have at most one window, which is recycled for all
tooltips, making it possible to animate transitions.
2013-04-04 23:50:44 +02:00
Sebastian Kügler
95dddcea35 split tooltip and tooltipwindow 2013-04-04 23:33:05 +02:00
Sebastian Kügler
d207025d8f Blur behind for tooltips
Also clean up flags a bit.
2013-04-04 16:00:57 +02:00
Sebastian Kügler
010f471bc7 Restore API: ToolTip.visualParent becomes target 2013-04-04 05:11:31 +02:00
Sebastian Kügler
e4ee4d6dd0 basic tooltip featureset finished
This implementation deviates a bit from the Plasma 1 tooltips:
- image is now a string
- tooltips align to the parent by default, or the visualParent set
Otherwise, the changes should be fairly transparant.

A crude basic featureset works.
2013-04-04 05:02:51 +02:00
Sebastian Kügler
c739f3ae58 Increase margins a bit, wm hints 2013-04-04 02:02:10 +02:00
Sebastian Kügler
7e6d750f2a Window size synching with tooltip content 2013-04-04 01:46:02 +02:00
Sebastian Kügler
efd12a5ec1 Add components to default tooltip, fix layout 2013-04-04 01:27:14 +02:00
Sebastian Kügler
20a4e6ca43 add ToolTip.qml 2013-04-03 20:23:51 +02:00
Sebastian Kügler
a6526d7bbe Start rewrite of tooltip
ToolTipProxy is now a QQuickWindow and renamed to ToolTipWindow.
This is done in C++.
ToolTip itself is a QML file, which internally uses tooltipwindow to
display the attached item.

Basic showing / hiding and embedding an Item works, positioning,
margins, etc are not implemented yet. Neither are special windowmanager
hints and flags.
2013-04-03 02:23:22 +02:00
Sebastian Kügler
1c5faf9271 add fixme 2013-04-03 02:22:56 +02:00
Sebastian Kügler
0bac65e374 Strip down tooltip so it builds 2013-04-03 00:50:00 +02:00
Sebastian Kügler
76ced6ff80 Remove fixed FIXME 2013-04-03 00:49:36 +02:00
Sebastian Kügler
cbe0d39b99 add spacing in buttonrow and column 2013-03-27 22:27:22 +01:00
Sebastian Kügler
ad1311ddd3 Attach an image to the drag
it now works with delegate, color and image, urls in the form of icons
tbd.
2013-03-27 02:50:45 +01:00
Sebastian Kügler
a0fb4356dc Positioning of Menu on screen
Actually quite a bit more lightweight than its QGV predecessor.
2013-03-26 22:34:35 +01:00
Sebastian Kügler
0ef4080e4f positioning for context menu 2013-03-26 22:17:25 +01:00
Sebastian Kügler
335e0b6d9d Port Menu and MenuItem to QtQuick2
In MenuItem, we can't inherit QAction anymore (our MenuItem has to be a
QQuickItem), so we need to aggregate, which means adding glue API.

Positioning code is disabled, icons broken, but a QMenu with our items
inside shows up and is works.
2013-03-26 20:15:56 +01:00
Sebastian Kügler
9c6b7539bc fix namespacing in ContextMenu 2013-03-26 01:12:04 +01:00
Marco Martin
ed36b6aab4 bigger clear button 2013-03-20 21:14:04 +01:00
Sebastian Kügler
f972925392 these signals have gone 2013-03-19 03:34:28 +01:00
David Faure
c82ff42e76 remove old include 2013-03-13 12:16:35 +01:00
Marco Martin
99bab1825e get rid of PaintUtils
the only one using it was PlasmaCore.IconItem, move the transition() function there
2013-03-13 12:05:06 +01:00
Marco Martin
620478614a remove unused QGraphics* includes 2013-03-13 11:45:34 +01:00
Marco Martin
3bfbc31381 remove some not used includes 2013-03-13 11:32:00 +01:00
Sebastian Kügler
a3b39a8321 All imports are now 2.0
This patch changes the version numbers of the plugins to 2.0. This
includes the previously 0.1 plasmacomponents, extras and
qtextracomponents. DragandDrop, which was at 1.0 is now also at 2.0.

Also, all the QML code has been changed to import the 2.0 plugins.

As a side-effect, we now share a version number with QtQuick 2.0 now.
2013-03-13 02:34:53 +01:00
Sebastian Kügler
4cfc6863af change all 0.1 imports to 2.0 in qml files 2013-03-13 01:56:19 +01:00
Marco Martin
dd0cc2464d ThmemeProxy is a subclass of Theme 2013-03-12 16:49:33 +01:00
Marco Martin
fd97160327 remove the singleton usage from everywhere 2013-03-12 16:29:04 +01:00
Marco Martin
b7a079f87d replace homepage() with pluginInfo()
a KPluginInfo will have the homepage from the desktop file but also the other data as well such as author and description
2013-03-11 18:01:22 +01:00
Marco Martin
62c8a7b500 don't expose windowTranslucencyEnabled 2013-03-11 17:39:42 +01:00
Marco Martin
2894eef3c4 add notify signal for font properties 2013-03-11 17:26:01 +01:00
Marco Martin
83baa3691e theme.defaultFont.mSize api changed
QML2 has QFont directly binded, but doesn't have mSize, so move it to Theme
theme.defaultFont.mSize to theme.mSize(theme.defaultFont)
2013-03-11 17:06:05 +01:00
Marco Martin
74d1a62bdd remove fonts from Plasma::Thmeme
replace FontProxy with default QFont QML2 bindings
2013-03-11 16:59:39 +01:00
Marco Martin
a4b22cc7d4 warnings-- 2013-03-07 12:01:29 +01:00
Marco Martin
e6eae78f06 propagate size hints 2013-03-07 12:01:29 +01:00
Marco Martin
7d79041e2a propagate size hints 2013-03-07 12:01:29 +01:00
Sebastian Kügler
1a31c22e57 debug-- 2013-03-07 02:42:13 +01:00
Sebastian Kügler
5a30426e07 test mimedata attachment and transport from drag to drop area
Works for me.
2013-03-07 01:08:55 +01:00
Sebastian Kügler
37e3ef99f0 Make mouse interaction work
- events need to be accepted, otherwise they don't have effect on the
  drag, and it doesn't get released
- slightly more intelligent starting of drag, saves quite some cycles
  and is way more correct this way

The "attach pixmap of dragged item" is still disabled. This probably
needs to be rethought entirely. One option would be to ditch this class
in favour of QtQuick 2's Drag, DragEvent and DropArea. Food for API
discussion.
2013-03-07 00:26:39 +01:00
Marco Martin
f4de55af67 use KAction from kde4support
it should buld again, usingkaction as type for kactioncollection
2013-03-04 15:46:47 +01:00
Marco Martin
be06b06015 support for panel icon sizes 2013-03-01 16:11:08 +01:00
Sebastian Kügler
8a386d065c add a bit of debugging info
which shows that we're getting wrong events right now. :/
2013-02-27 22:13:14 +01:00
Sebastian Kügler
3ee1474c17 draganddrop: all classes build and are enabled 2013-02-27 19:24:44 +01:00
Sebastian Kügler
b60983ca1f Port DeclarativeDragDropEvent 2013-02-27 18:55:53 +01:00
Sebastian Kügler
4fc1dbef00 draganddrop: more porting, build some bits already 2013-02-27 17:59:03 +01:00
Sebastian Kügler
2168bdec75 no i18n right now 2013-02-27 14:54:55 +01:00
Sebastian Kügler
112fb3f78a Fix API 2013-02-27 14:54:55 +01:00
Sebastian Kügler
f79c3833bd Start port of drag and drop import 2013-02-27 14:54:55 +01:00
Marco Martin
6777a7dc56 call superclass event handlers 2013-02-27 14:51:12 +01:00
Marco Martin
854ecdcf5b make sure the dialog is resized before showing
crash--
probably there is a bug in scenegraph when one calls show() of a 0,0 size wondow
2013-02-27 14:35:34 +01:00
Aaron Seigo
4cb892dd04 only create a new svg item if we don't already have one 2013-02-26 14:50:41 +01:00
Sebastian Kügler
45147081e7 Fix comment 2013-02-26 05:47:12 +01:00
Sebastian Kügler
2032816118 Disable borders when we're hitting the screen's edge 2013-02-26 05:39:49 +01:00
Sebastian Kügler
d6b66ecb96 Switch enabledBorders based on popupPosition 2013-02-26 04:50:00 +01:00
Sebastian Kügler
6a73133da4 positioning for popups
- default top TopEdge
- Swap edges if specified
- shift on non-specified edges
- all borders, edge-cases (ha!) are confirmed working
- cleaned up some cruft

Not taken care of yet:
- framesvg border disabling
- sliding effect w/ kwin
- smarter resolution of visualParent
2013-02-26 03:58:55 +01:00
Sebastian Kügler
9b4db5a7b4 Basic edge locations working inside PlasmaCore.Dialog 2013-02-26 02:17:21 +01:00
Sebastian Kügler
8131ad0abc Add PlasmaNamespace as PlasmaCore.Plasma
This is not beautiful, so we'll change it later on, for now, this allows
us to test enum settings.
2013-02-26 01:10:28 +01:00
Sebastian Kügler
e2a2a9f6d2 revert int -> Qt::AlignmentFlag for location 2013-02-25 17:55:06 +01:00
Sebastian Kügler
9e8f112be0 a few lingering bits of dialog layout code, not enabled 2013-02-25 16:48:04 +01:00
Sebastian Kügler
0faa120641 Convert alignment to Qt::AlignmentFlag
Also start a bit on the logic of setting location. Does nothing yet, but
build.
2013-02-22 16:45:08 +01:00