Commit Graph

190 Commits

Author SHA1 Message Date
Marco Martin
6354e56a91 emit visiblechanged when it should 2011-07-12 20:31:29 +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
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
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
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
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
2abb295695 revert old deferred role update hack 2011-04-17 20:46:36 +02:00
Marco Martin
96fdce66c1 make connection to connectedSourcesChanged queued
Changing to Qt::QueuedConnection delays setupData().
this makes the dataChanged() signal arrive to qml only when the full
batch of setData has been done.
this in turn doesn't let incomplete data arrive to the model, making an
incomplete role mapping.
should fix the QML version of Lionmail
CCMAIL:sebas@kde.org
2011-04-17 20:01:45 +02:00
Aaron Seigo
85bfb715ee disconnect sources we get data for but don't have a connected vis to 2011-04-12 22:13:23 +02:00
Aaron Seigo
3a72217fe3 delete service objects 2011-04-12 22:13:23 +02:00
Aaron Seigo
273f5bfe13 minor ws clean 2011-04-12 22:13:23 +02:00
Marco Martin
98396208dc FEATURE: sourceFilter to exclude certain sources
sourceFilter to exclude certain from the model with a regexp
2011-04-09 20:16:36 +02:00
Marco Martin
2a54c9c416 use the engine access in DeclarativeWidget
now DeclarativeWidget itself steals the scriptengine, so use it instead of having the hack there
2011-04-07 22:39:18 +02:00
Montel Laurent
9a07bb2f93 Use const ref 2011-04-03 15:29:54 +02:00
Marco Martin
11b6e78640 re-set the prefix after setting the path 2011-03-27 12:38:01 +02:00
Marco Martin
2d27bd40e6 less debug output 2011-03-21 21:40:00 +01:00
Marco Martin
d7d08c46ef bind the dialog's window flags 2011-03-21 21:38:48 +01:00
Marco Martin
19ad72af78 showPopup() -> popupPosition()
makes possible to move the popup
2011-03-21 19:20:17 +01:00
Marco Martin
b958bf1480 monitor for declarativeitem resize 2011-03-19 18:36:29 +01:00
Marco Martin
c216fe47b8 resize DeclarativeItemContainer at item's size 2011-03-19 18:31:36 +01:00
Marco Martin
e76914ed89 update is not a slot, make one 2011-03-18 13:32:49 +01:00
Marco Martin
650e518c2e reparent items when they go in a dialog 2011-02-25 22:38:03 +01:00
Marco Martin
d8457ecd8d properties for dialog move 2011-02-25 20:37:56 +01:00
Marco Martin
fcfafcbc6e proxy to setAttribute() 2011-02-25 19:00:01 +01:00
Marco Martin
8128291fee fix setVisible 2011-02-25 15:01:18 +01:00
Marco Martin
9c6f2132ad support qdeclarativeitems as well
support qdeclarativeitems as well trough a parent qgraphicswidget that syncs the geometry
2011-02-24 23:47:45 +01:00
Sebastian Kügler
93790aec7f Merge branch 'master' of git://anongit.kde.org/kde-runtime 2011-02-24 21:32:23 +01:00
Sebastian Kügler
a211718f6d fix signals 2011-02-24 21:32:10 +01:00
Marco Martin
61abadfd25 bindings for Plasma::Dialog
setting the mainItem property of a Dialog element, it will create a top level window with that item as the graphicsWidget()
right now it works only with QGraphicsWidget{} elements, Plasma::Dialog will be given the api to make this work with any QGraphicsObject as well.
2011-02-24 18:29:56 +01:00
Marco Martin
145bcf4045 always set a DataEngineSource role in the model
FEATURE: each item will have a DataEngineSource role that makes possible to identify for delegates to what source that data belongs
2011-02-19 14:12:58 +01:00
Marco Martin
45c6ac7dfb don't remapp all roles each time, keep the old ones, with the same role number/name mapping: avoids role shuffle after an update
svn path=/trunk/KDE/kdebase/runtime/; revision=1216034
2011-01-20 22:03:52 +00:00
Marco Martin
ccf35dd608 don't emit dataChanged() when undesired data arrives
svn path=/trunk/KDE/kdebase/runtime/; revision=1216014
2011-01-20 20:29:00 +00:00
Marco Martin
8565829336 only set data that was explicitly connected to the dataengine
(some dataengines are a bit too exuberant in sending stuff, like the images of microblog)

svn path=/trunk/KDE/kdebase/runtime/; revision=1216008
2011-01-20 20:22:44 +00:00
Marco Martin
20e4b7ca35 smooth property (default off)
svn path=/trunk/KDE/kdebase/runtime/; revision=1204366
2010-12-06 22:19:33 +00:00
Marco Martin
4ff23c21ea put naturalSize property back in: turns out was necessary to make things clean
svn path=/trunk/KDE/kdebase/runtime/; revision=1204364
2010-12-06 21:54:58 +00:00
Marco Martin
8a92c6b5f3 gah, probably not useful, revert previous commit
svn path=/trunk/KDE/kdebase/runtime/; revision=1204317
2010-12-06 18:42:31 +00:00
Marco Martin
6b80b7a199 a new property: naturalWidth/height
is needed when painting compositions of various elements

svn path=/trunk/KDE/kdebase/runtime/; revision=1204315
2010-12-06 18:37:31 +00:00
Marco Martin
1dcc19c800 delay the reset signal after a setFilterRegExp: seems to make views behave a bit better:
avoids "holes" and some crash

svn path=/trunk/KDE/kdebase/runtime/; revision=1204228
2010-12-06 13:28:45 +00:00
Marco Martin
933b88e340 a new property for models: count (another thing badly missing from QML, where is necessary to hook it up to a view to figure out how many items there are)
svn path=/trunk/KDE/kdebase/runtime/; revision=1204004
2010-12-05 22:23:13 +00:00
Marco Martin
547adfd19c add the missing theme colors
svn path=/trunk/KDE/kdebase/runtime/; revision=1202701
2010-12-01 22:43:52 +00:00
Marco Martin
681000ff05 another fixme :/
svn path=/trunk/KDE/kdebase/runtime/; revision=1194426
2010-11-08 23:10:16 +00:00
Marco Martin
29f4ac0d99 propagate with signal sources removal, connection and disconnection
svn path=/trunk/KDE/kdebase/runtime/; revision=1194425
2010-11-08 23:07:25 +00:00
Marco Martin
6165b3cf6e build
svn path=/trunk/KDE/kdebase/runtime/; revision=1194410
2010-11-08 22:44:37 +00:00
Marco Martin
0797009207 possible again to access to sources without the model
svn path=/trunk/KDE/kdebase/runtime/; revision=1194365
2010-11-08 20:50:09 +00:00
Marco Martin
befceb8dee massive change in DataSource:
* possible to connect multiple sources
* use a normal QMap instead of the quirky qdeclarativepropertymap
* DataModel can be connected to multiple sources as well
* possible to use them with dataengines such as activities and tasks where the first level keys are the "roles" themselves

(all examples in playground have to be adapted)

svn path=/trunk/KDE/kdebase/runtime/; revision=1194216
2010-11-08 10:27:36 +00:00
Marco Martin
5d24d5759c enabledBorders property for FrameSvg enabled borders flags
svn path=/trunk/KDE/kdebase/runtime/; revision=1193395
2010-11-05 20:50:28 +00:00
Marco Martin
54daa3153d * share Svg in SvgItem
* the usecase is pretty different compared to FrameSvg, that will retain the old api

svn path=/trunk/KDE/kdebase/runtime/; revision=1193392
2010-11-05 20:22:47 +00:00
Marco Martin
7e0e77b970 case insensitive filter expressions
svn path=/trunk/KDE/kdebase/runtime/; revision=1191022
2010-10-29 12:27:38 +00:00
Marco Martin
0394675156 SortModel->SortFilterModel
svn path=/trunk/KDE/kdebase/runtime/; revision=1190655
2010-10-28 13:10:10 +00:00
Marco Martin
1b1ea1a1b3 export separately DataModel and SortModel
svn path=/trunk/KDE/kdebase/runtime/; revision=1190653
2010-10-28 13:06:40 +00:00
Laurent Montel
337cd237f1 const'ify
svn path=/trunk/KDE/kdebase/runtime/; revision=1190586
2010-10-28 07:44:05 +00:00
Marco Martin
a84b230ddc sortOrder/setSortOrder property
svn path=/trunk/KDE/kdebase/runtime/; revision=1190489
2010-10-27 21:19:03 +00:00
Marco Martin
ab064bedfa put the model into a QSortFilterProxyModel to mke possible to sort and filter trough a regular expression
svn path=/trunk/KDE/kdebase/runtime/; revision=1190082
2010-10-26 21:19:04 +00:00
Marco Martin
a780189547 make work both VariantMaps and QVariantHash
svn path=/trunk/KDE/kdebase/runtime/; revision=1190034
2010-10-26 17:32:08 +00:00
Marco Martin
7ec308a228 don't crash if the item list is empty
svn path=/trunk/KDE/kdebase/runtime/; revision=1190003
2010-10-26 15:48:39 +00:00
Marco Martin
27bff00756 the previous way to have models didn't work for most engines:
some have many keys one for each item.
bind a new DataModel into QML that will be associated to a specific DataSource and a key pattern

an exact one like "items" of rss
or a partial regexp one like "KnowledgeBase-[\d]*" like the ocs engine

in this way is not necessary to change how those dataengine works and is possible to use them in QML without headaches

svn path=/trunk/KDE/kdebase/runtime/; revision=1189953
2010-10-26 13:18:19 +00:00
Marco Martin
7ee1ebf5ac a crazy experiment: if one of the dataitems is a QVariantList of QVariantMaps (like many dataengines, like rss, microblog, opendesktop...)
make it available as a QAbstractModel, so will be possible to categorize it
(considering to put it behind a qsortfilterproxymodel to make it easy to do filtering)

svn path=/trunk/KDE/kdebase/runtime/; revision=1189920
2010-10-26 12:01:59 +00:00
Marco Martin
7dae2f58b8 use ${IMPORTS_INSTALL_DIR}
svn path=/trunk/KDE/kdebase/runtime/; revision=1187247
2010-10-18 19:20:08 +00:00
Pino Toscano
1cf0db3e2a install the declarative imports plugins in the proper place
(pending an addition to FindKDE4Internal.cmake for a nice variable for this)

svn path=/trunk/KDE/kdebase/runtime/; revision=1186527
2010-10-16 19:28:20 +00:00
Christophe Giboudeaux
258cfab04b Don't install files outside CMAKE_INSTALL_PREFIX
svn path=/trunk/KDE/kdebase/runtime/; revision=1186511
2010-10-16 18:22:02 +00:00
André Wöbbeking
8637029f79 -pedantic
svn path=/trunk/KDE/kdebase/runtime/; revision=1186462
2010-10-16 13:53:51 +00:00
Laurent Montel
c90b506d8e Fix includes
svn path=/trunk/KDE/kdebase/runtime/; revision=1185374
2010-10-13 07:20:22 +00:00
Laurent Montel
a2513a6a16 Fix forward declaration
svn path=/trunk/KDE/kdebase/runtime/; revision=1185373
2010-10-13 07:19:47 +00:00
Laurent Montel
1d9e7ff76f Clean up
svn path=/trunk/KDE/kdebase/runtime/; revision=1185368
2010-10-13 07:17:34 +00:00
Marco Martin
2a256d1e74 move the core, graphicslayouts and graphicswidgets imports in runtime
svn path=/trunk/KDE/kdebase/runtime/; revision=1185277
2010-10-12 19:51:57 +00:00