Commit Graph

222 Commits

Author SHA1 Message Date
Marco Martin
734d0e15df unfortunately this is still needed 2011-09-16 19:20:49 +02:00
Marco Martin
27c857db82 pre-populate the model if needed
since DataModel is a consumer of a consumer, in the case DataSource as already data, populate the model with it without waiting for the signal
2011-09-15 23:05:44 +02:00
Marco Martin
ccc5bf7b90 queued connection is not necessary anymore
all data is checked for possible roles now
2011-09-15 21:06:05 +02:00
Marco Martin
e18e08c2f1 don't cache empty sources 2011-09-15 21:05:06 +02:00
Marco Martin
0fec8e54c5 move rangemodel in a components plugin 2011-09-13 21:21:29 +02:00
Marco Martin
e5b43a7357 Merge branch 'master' into plasma/declarative
Conflicts:
	plasma/declarativeimports/core/CMakeLists.txt
	plasma/declarativeimports/core/corebindingsplugin.cpp
	plasma/declarativeimports/plasmacomponents/BusyIndicator.qml
	plasma/declarativeimports/plasmacomponents/ScrollBar.qml
	plasma/declarativeimports/plasmacomponents/qmldir
2011-09-13 20:43:59 +02:00
Marco Martin
b68fb0a060 be sure to include ALL role names
some dataengines can have a different set of keys for each item (ie metadata dataengine) the whole mapped roles must be the complete superset
this is not very efficient, but unfortunately is necessary.
(another reason  why DataContainers should become models)
2011-09-12 21:34:55 +02:00
Marco Martin
d48888e7ac default to 0 interval (no polling) 2011-09-01 16:25:31 +02:00
Marco Martin
e24624f80c graphics for checkboxes and radio buttons 2011-08-30 23:04:45 +02:00
Marco Martin
019617f3bc paint grey when disabled 2011-08-20 17:43:36 +02:00
Viranch Mehta
3a5367fcbf Directive changes + licensing 2011-08-17 23:26:21 +05:30
Viranch Mehta
e677aafcad Rename QMenuItem to QMenuAction, QMenuItem was already defined. Add support for separators in QMenus 2011-08-17 23:21:04 +05:30
Viranch Mehta
220cae4242 Make QMenuItem a derived class of QAction (to minimize its implementation) 2011-08-17 20:30:53 +05:30
Viranch Mehta
c34d4ea456 Make QMenu fairly usable in QML plasmoids, separate out QMenu and QMenuItem classes 2011-08-17 03:22:25 +05:30
Marco Martin
6d7b475468 location property that decides the sliding effect 2011-08-15 19:32:01 +02:00
Viranch Mehta
cd6d910a2f Implement ability to add actions in the QMenu and hence create QMenuItem 2011-08-07 05:11:21 +05:30
Viranch Mehta
2c6677aaf4 QMenu QML binding (with test 'hello','world' menu entries) 2011-08-02 19:43:48 +05:30
Marco Martin
e8432fe351 don't reset the model if the source isn't ours 2011-07-25 19:11:36 +02:00
Daker Fernandes Pinheiro
90123fa75e Add gallery example for ProgressBar plasma component
Also refactored the busy indicator gallery code and
agregated it with the progress bar gallery.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-25 00:20:16 -03:00
Daker Fernandes Pinheiro
1edb412e52 Add ProgressBar plasma component
The ProgressBar is defined in the Qt Components common API.
It has a orientation property, usign Qt.Horizontal or
Qt.Vertical to set the orientation of the component.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-25 00:14:51 -03:00
Daker Fernandes Pinheiro
dd136c42bd Add gallery example for TextArea plasma component
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-22 16:13:26 -03:00
Daker Fernandes Pinheiro
decbcb0439 Add TextArea plasma component
The TextArea is defined in the Qt Components common API.

Some features were added as a plasma specific behaviour for this component:

- It emit the keys pressed and released signals
- Implements a focus policy
- The current implementation only covers the desktop use case.
    For mobile use, a flickable text area with scroll decorators
    would be more appropriate.
- Scroll bars appears only if the content is bigger than the content.
- The width of the the scroll bars can be setted through the scrollWidth
    property
- The size of the text content can also be setted. For this the properties
    contentMaxWidth and contentMaxHeight must be used. The default value
    is the dimensions of the TextArea.

The current state of the implemention lacks of:

- A behaviour for hover state, present in other components
- A errorHighlight usage
- Polish the visual alignment of the SVGs items
- Lacks of right mouse button interaction.
    Would be interesting to use it to cut & paste operations.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-22 16:12:36 -03:00
Daker Fernandes Pinheiro
d318641dcf Fix ScrollBar plasma component incrementValue function
- The function was not bounding the value after incremented
    inside the flickable content size.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-21 17:48:31 -03:00
Daker Fernandes Pinheiro
db7cd67033 Add gallery example for TextField plasma component
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-21 10:16:42 -03:00
Daker Fernandes Pinheiro
b37a2230b7 Add TextField plasma component
The TextField is defined in the Qt Components common API.

Some features were added as a plasma specific behaviour for this component:

- It emit the keys pressed and released signals.
- Implements a focus policy

The current state of the implemention lacks of:

- A behaviour for hover state, present in other components
- A errorHighlight usage

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-21 10:16:34 -03:00
Daker Fernandes Pinheiro
3a984f05b0 Add enabled/disable support for ScrollBar plasma component
- The current disabled scroll bar have less opacity when disabled
   instead of custom graphics. Needs to be defined if this is
   the expected behaviour.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-18 19:17:19 -03:00
Daker Fernandes Pinheiro
b9e69695bd Add enabled/disable support for Slider plasma component
- The current disabled slider have less opacity when disabled
   instead of custom graphics. Needs to be defined if this is
   the expected behaviour.

- The gallery example was also updated.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-18 19:16:38 -03:00
Daker Fernandes Pinheiro
3ab58b3877 Fix comments about graphics for plasma components enabled/disabled properties
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-18 18:49:45 -03:00
Daker Fernandes Pinheiro
4ff2523d13 Add enabled/disable support for CheckBoxes, RadioButtons and Switches plasma components
- The current disabled CheckBoxes, RadioButtons and Switches,
   have less opacity when disabled instead of custom graphics.
   Needs to be defined if this is the expected behaviour.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-18 18:41:07 -03:00
Daker Fernandes Pinheiro
487d79bce3 Add enabled/disable support for Button plasma component
- The current disabled buttons have less opacity when disabled
   instead of custom graphics. Needs to be defined if this is
   the expected behaviour.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-18 18:20:49 -03:00
Daker Fernandes Pinheiro
83bd875a44 Add focus and key events handling on Buttton plasma component
- When a button is clicked it aqcuires the focus.
- The space and return keys now can be used to press the button if
  it has the activeFocus

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-15 21:21:06 -03:00
Daker Fernandes Pinheiro
38284f8e1a Fix Highlight plasma component margins
The SVG margins was not being considered.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-15 20:51:42 -03:00
Daker Fernandes Pinheiro
93f4b0efb5 Add handleSize property to control the handle size of the plasma Slider component
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-15 20:45:08 -03:00
Daker Fernandes Pinheiro
8a3162b431 Fix Plasma ScrollBar flickableItem position binding when mouse or keys are used
The RangeModel value was being incremented directly by the mouse and keys
events, and it was overriding the binding with the flickableItem position.
Once the ScrollBar button was clicked, the direct manipulation of the
flickable component was not updating the scroll position.

The new function 'incrementValue' now does the correct work.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-15 10:03:17 -03:00
Daker Fernandes Pinheiro
cba7e6204a Add Color Picker on Sliders Plasma Components Gallery
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-15 09:24:44 -03:00
Aaron Seigo
e3f18bded0 only let a source be valid if there is an engine and the engine is valid 2011-07-15 13:18:48 +02:00
Aaron Seigo
e2f4b4ecc2 protect against accessing a null 2011-07-15 13:18:47 +02:00
Aaron Seigo
201baafc1c mainitem can be null according to the if() below, so respect that 2011-07-15 13:18:47 +02:00
Daker Fernandes Pinheiro
d9cc5a1ba6 Refactor Plasma Components Gallery
- Move columns present in the gallery into separate files
- Move Gallery into a subdir of tests

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-14 12:10:08 -03:00
Daker Fernandes Pinheiro
355655e0d4 Add ScrollDecorator component
ScrollDecorators API is defined in QtComponents's common API
This component just diplay how a Flickable content size and
content position is. It's similar to a ScrollBar but is not
interactive.

The current implemetation makes it visible only when flickable
content is moved.

The plasma implementation has 2 extra properties:
- orientation: Qt.Vertical / Qt.Horizontal orientaion
- inverted: true if the scroll decorator should appear inverted
  (the same logic of Slider and ScrollBar)
  it has a false default value

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-14 11:04:20 -03:00
Marco Martin
6354e56a91 emit visiblechanged when it should 2011-07-12 20:31:29 +02:00
Daker Fernandes Pinheiro
00576442cc Add ButtonRow and ButtonColumn
- Add ButtonGroup.js which contains the logic behind ButtonRow/Column
- Code taken from desktop qt-components

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 19:56:50 -03:00
Daker Fernandes Pinheiro
69670fcd56 Add copyright for BusyIndicator
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 19:21:24 -03:00
Daker Fernandes Pinheiro
33b63aa125 Change BusyIndicator smoothAnimation property default to be true
- Also simplified the BusyIndicator gallery example

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 18:52:40 -03:00
Daker Fernandes Pinheiro
363e341f66 Remove ListItemView supports
- ListItemView, ListItem were removed because could be easily built using ScrollBar
- ListHighlight was renamed into Highlight

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 18:49:40 -03:00
Montel Laurent
addf0945a1 Fix compile warning 2011-07-08 22:06:29 +02:00
Daker Fernandes Pinheiro
30889de6e7 Refactor Switch, CheckBox, RadioButton to extend a single DualStateButton
- To extend the dual state button, just add the visual component in the view property

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 15:11:55 -03:00
Daker Fernandes Pinheiro
a650da9ee5 Add Switch component
API and code based on CheckBox

- Misses the Switch resources
2011-07-08 14:53:52 -03:00
Daker Fernandes Pinheiro
8dc9dcd090 Add keyboard events handling in RadioButton and CheckBox
When space or return is pressed, it changes the component state.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 14:41:46 -03:00
Daker Fernandes Pinheiro
5ac7ececa9 Add keyboard events handling in Slider
Using the arrow keys enables the user to increase/decrease stepSize units
from the Slider's value.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 14:41:13 -03:00
Daker Fernandes Pinheiro
decf76214c Add keyboard events support in ScrollBar
Pressing up/down/left/right keys makes the ScrollBar move

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-07-08 14:40:28 -03:00
Marco Martin
a9d22b9877 build drag and drop plugin 2011-07-05 21:16:28 +02:00
Marco Martin
93bfcfe8fc drag and drop plugin by Gregory Schlomoff
CCMAIL: gregory.schlomoff@gmail.com
2011-07-05 21:14:04 +02:00
Marco Martin
7c947d8e96 reset models in the proper way 2011-06-24 23:54:07 +02:00
Marco Martin
c4fb39de30 guard pointers, crash-- 2011-06-24 17:58:21 +02:00
Marco Martin
86d4283ff9 read only property: activeWindow 2011-06-19 23:08:15 +02:00
Marco Martin
3475f99f96 guard against crash 2011-06-19 19:07:55 +02:00
Marco Martin
f257efe7f0 fix item removal with one source per item 2011-06-16 19:29:58 +02:00
Aaron Seigo
05c405c17b allow dataEngine: as well as engine: -> more consistent with documentation 2011-06-15 14:18:42 +02:00
Marco Martin
fe8ccf1d71 guard mainItem, crash-- 2011-06-13 13:56:55 +02:00
Marco Martin
201a1d1d17 correct width qpropoerty 2011-06-13 13:46:07 +02:00
Dawit Alemayehu
5199d71e54 GIT_SILENT: Shut the compiler up about unused variables. 2011-06-08 13:53:46 -04:00
Marco Martin
42f8d04f6c a dialog has margins, take them into account 2011-06-08 17:53:55 +02:00
Marco Martin
9cd8721f61 support for centering 2011-06-08 13:02:48 +02:00
Marco Martin
e8b1374ff0 initialize member 2011-06-07 21:07:27 +02:00
Marco Martin
d3868a8b65 revert last commit
popups are done correctly now
(is necessary so show, set the flags and show again)
2011-06-07 19:12:04 +02:00
Marco Martin
230a15d475 correctly manage popup menus
similar fix in the taskbar coming
2011-06-07 18:11:30 +02:00
Marco Martin
f000f07b08 make the notify signals actually be emitted 2011-06-07 16:41:06 +02:00
Marco Martin
90ecc73536 return the correct mainItem() 2011-06-06 17:33:02 +02:00
Marco Martin
ccdb4cebdf sync dialog size when a declarativeitem changes size 2011-06-06 16:47:28 +02:00
Marco Martin
c77d815ec7 export servicejob in qml 2011-06-05 14:11:19 +02:00
Aaron Seigo
5759af35d1 duplicated from libplasma now 2011-06-03 22:04:36 +02:00
Daker Fernandes Pinheiro
aada03fb18 Rename Plasma Components Gallery.
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-05-18 19:01:05 -03:00
Daker Fernandes Pinheiro
a2597e35a2 Add plasma default ListView (ListItemView)
- Components added to the api: ListItemView, ListHighlight and ListItem
- Example added in the components gallery

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-05-18 16:38:21 -03:00
Daker Fernandes Pinheiro
dada80f42d Fix BusyIndicator
- RotationAnimation was targeting wrong item
- Removes deprecated properties
- Keep the rotation values smooth when running changes

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-05-18 11:29:30 -03:00
Marco Martin
13e17abf15 a basic primitive ListItem element 2011-05-01 16:05:57 +02:00
Diego Casella
97bfbf07a5 use QWeakPointer for m_declarativeItemContainer 2011-04-29 12:50:18 +02:00
Diego Casella
80b71fe2f4 check m_declarativeItemContainer before deleting it 2011-04-29 11:22:44 +02:00
Daker Fernandes Pinheiro
79d17528f6 Add buttons to ScrollBar when stepSize is defined
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-28 19:22:51 -03:00
Daker Fernandes Pinheiro
6b291d0ac6 Add ScrollBar component
- The stepButtons are not yet implemented

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-28 10:22:05 -03:00
Daker Fernandes Pinheiro
cb00a42cb8 Refactor Slider component
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-28 07:44:28 -03:00
Artur Duque de Souza
e3db04f3ff Add Tooltip to the build system
Let's compile the tooltip and also export it to our QML plugin.

Signed-off-by: Artur Duque de Souza <asouza@kde.org>
2011-04-27 19:45:49 -03:00
Artur Duque de Souza
f1e61647b6 QML Bindings for Plasma::ToolTips
Implementation of a proxy to make it easy to declare tooltips in QML,
that will use Plasma::ToolTipManager to display tooltips in any item
that is declared in QML.

The syntax is:

import org.kde.plasma.core 0.1 as PlasmaCore

PlasmaCore.ToolTip {
    target: id_of_the_target
    mainText: "hello"
    subText: "world"
    image: "konqueror"
}

The syntax looks pretty straightforward and simple. "id_of_the_target"
is the id of the element which will show the tooltip in case it's hovered.

If the target is a QGraphicsWidget, the code path is really simple but if
it's a QDeclarativeItem, then we create a wrapper (that is a QGraphicsWidget)
and setup that in a way that we set this wrapper as the target on Plasma's
API. For libplasma2 we may want to change this so it's more generic (and
also put this together with the components).

Right now there is two open issues for me:

 1) we should use "image" or "icon"? Allowing the use of a image that is
a string that identifies the icon for KIconLoader seems simpler and more
beautiful to me, but it would be nice to specify a random QPixmap. Besides
being able to use the bindings for QIcon it doesn't look very good. Marco,
do you have any thoughts on this issue?

 2) for touch oriented UIs, the tooltip as it is right now is not very
useful. Is there any "touch" scenario where we may want to use them?

CCMAIL:mart@kde.org
Signed-off-by: Artur Duque de Souza <asouza@kde.org>
2011-04-27 19:45:48 -03:00
Artur Duque de Souza
436fd7e762 Separate the DeclarativeItemContainer so it can be used by others
We are going to need the declarative container for the tooltips,
so it makes sense to put this guy in it's own files.

Signed-off-by: Artur Duque de Souza <asouza@kde.org>
2011-04-27 19:45:48 -03:00
Daker Fernandes Pinheiro
564f565c36 Add Slider component
- An example was added into the gallery
- The Keys and Mouse Wheels events are not being handled yet
- The value indicator is not yet created

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-27 16:21:01 -03:00
Daker Fernandes Pinheiro
45b5b480f9 BusyIndicator smooth is switch off when animating
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-27 16:19:02 -03:00
Daker Fernandes Pinheiro
72f4b7c778 Add RangeModel for QtComponents
RangeModel will be used by as a logical backend to Slider and ScrollBar

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-27 16:17:34 -03:00
Daker Fernandes Pinheiro
56fbe5e67b Rename and Fix BusyWidget to BusyIndicator component to fit the common API
- An example also was add in ComponentsGallery.

Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-27 06:47:08 -03:00
Sebastian Kügler
0aaa04c2dc build++ 2011-04-27 03:49:03 +02:00
Sebastian Kügler
9dab5df492 Merge branch 'master' of git://anongit.kde.org/kde-runtime 2011-04-27 03:43:08 +02:00
Daker Fernandes Pinheiro
0a9670b381 Create a gallery for plasma components
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-26 20:18:01 -03:00
Daker Fernandes Pinheiro
8a7f71dfba Add RadioButton component
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-26 20:13:45 -03:00
Daker Fernandes Pinheiro
d38321afec Add CheckBox component
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-26 20:00:51 -03:00
Daker Fernandes Pinheiro
c0bb0bb955 Add Button component with QtComponents compatible api
Signed-off-by: Daker Fernandes Pinheiro <dakerfp@gmail.com>
2011-04-26 19:52:47 -03:00
Artur Duque de Souza
3dbe535dec Last bits to theme bindings
We are going to need a proxy for the theme anyway, so we need
this guy complete anyway. Let's forget about the idea of exporting
Plasma::Theme directly.

Signed-off-by: Artur Duque de Souza <asouza@kde.org>
2011-04-26 16:50:05 -03:00
Sebastian Kügler
e5dbbdc8f1 bind Plasma::Theme::styleSheet() in declarative imports 2011-04-26 20:27:13 +02:00
Artur Duque de Souza
d54f9bbb5a Export more properties of the Plasma's theme
We should export name, font, windowTranslucencyEnabled and homepage
as well. Later we will just put all the properties on the Plasma::Theme
itself and export it.

Signed-off-by: Artur Duque de Souza <asouza@kde.org>
2011-04-26 15:09:59 -03:00
Artur Duque de Souza
add8249568 Do not allow the adition of a source that is already connected
If you try to connect a source that is already connected, it should
return and not create a duplicate of that source.

Signed-off-by: Artur Duque de Souza <asouza@kde.org>
2011-04-24 19:18:14 -03:00
Marco Martin
24f673a014 Revert "remove what can't still be merged"
This reverts commit 21dfef4f330bbee22d5154cadeb6c92fb46e1c51.

to resume the plasmacompoents directory that still need to be indipendent
2011-04-21 17:13:48 +02:00
Marco Martin
57975567cf remove what can't still be merged 2011-04-21 17:05:59 +02:00