Commit Graph

205 Commits

Author SHA1 Message Date
Aurélien Gâteau
5220782be1 Add unit tests for SortFilterModel 2012-08-28 18:11:06 +02:00
Aurélien Gâteau
ea427e54c2 Check if filter and model needs to be updated in setters 2012-08-28 18:10:35 +02:00
Aurélien Gâteau
bfcc27e01d Allow model to be set to 0 2012-08-28 18:09:19 +02:00
Aurélien Gâteau
91313b5eb5 Add notify signals for SortFilterModel.sourceModel and filterRegExp 2012-08-28 11:42:56 +02:00
Luís Gabriel Lima
db1096edce FrameSvgItem: Add notify signals
REVIEW: 105987
2012-08-12 15:12:44 -03:00
Marco Martin
d2f729d000 modify the hack that doesn't break in some cases 2012-07-13 10:50:07 +02:00
Marco Martin
8a04030fdf less ugly workaround for disappearing Qt::Popup
still a workaround but slightly less ugly and works on Qt 4.8 too
2012-07-12 17:51:28 +02:00
Marco Martin
daa3c78241 use pointSizeF
BUG:296117
FIXED-IN:4.9
2012-06-25 11:18:59 +02:00
Marco Martin
ed1e691b2d avoid repaints when the same id is set again
CCBUG:301903
2012-06-20 14:06:23 +02:00
Viranch Mehta
a60d6db013 Fix sourceFilter in QML DataModel to actually
filter the sources of the dataengine

The sources were not getting filtered due to an
error in the loop that added all the sources
in any case

REVIEW: 105267
2012-06-16 20:10:08 +05:30
Aurélien Gâteau
5c1e49fa76 SortFilterModel: Do not sort by default
It seems QML sets properties to their default value at startup and thus
calls setSortRole(QString()), which causes SortFilterModel to sort by
default.

CCMAIL: mart@kde.org
2012-06-13 23:56:31 +02:00
Aurélien Gâteau
bb8eef7db1 Introduct mapRowToSource and mapRowFromSource
REVIEW: 105044
2012-05-29 17:42:11 +02:00
Aurélien Gâteau
0ddb12cf96 Do not reset model while changing the regexp
There is no need to do so, QSortFilterProxyModel correctly adjust rows

REVIEW: 105042
2012-05-29 17:42:11 +02:00
Luís Gabriel Lima
999dd60721 Adding notify signals to SvgItem
These signals are being added in order to keep track of property
changes in the QML side.

Signed-off-by: Luís Gabriel Lima <lampih@gmail.com>
2012-05-28 08:51:32 -03:00
Lamarque V. Souza
4f670c149b Update all CMakeLists.txt to use KDeclarativeConfig.cmake.
rebuild kdelibs from KDE/4.8 branch to install KDeclarativeConfig.cmake.
2012-05-14 12:40:02 -03:00
Stephen Kelly
73dc4f9a0c Simplify QtGui module includes. 2012-04-10 00:22:13 +02:00
Marco Martin
531031f753 can't use windowId in QML on Windows 2012-04-06 13:09:32 +02:00
Martin Gräßlin
e195c1d01f Export WindowId on Plasma Dialog
Exporting the window Id allows to use it in declarative KWin scripts
to embedd window thumbnails on the dialog.

REVIEW: 104393
2012-03-24 10:51:12 +01:00
Marco Martin
86908c9c31 avoid a model reset in certain conditions
should be slightly faster and avoid some of the flickering (items deletion and recreation) in ListView
2012-02-29 14:38:14 +01:00
Marco Martin
7da705ba8a export defaultIconSize
kept in sync with the kglobal desktop icon size
2012-02-20 15:09:26 +01:00
Marco Martin
0b17c0227a document 2012-01-10 12:29:35 +01:00
Marco Martin
ed7f5e630a document 2012-01-10 12:06:59 +01:00
Marco Martin
fc0b0b8ed1 guard against no scene 2012-01-01 20:04:35 +01:00
Marco Martin
53a4c9df61 document the Font property object 2011-12-23 16:30:04 +01:00
Marco Martin
2f2ce9ac34 document Dialog 2011-12-23 16:30:04 +01:00
Marco Martin
922029e27b document DataSource 2011-12-23 13:28:02 +01:00
Marco Martin
f75cef4f87 document DataModel 2011-12-23 12:17:48 +01:00
Marco Martin
f9c777c0ca ignore mouse presses
BUG: 288827
2011-12-16 11:53:07 +01:00
Marco Martin
7988a4a7e4 don't try to set the main widget multiple times 2011-12-01 19:55:09 +01:00
Marco Martin
9726906ed0 recreate the dialog if the Popup flag changes
a popup only works if it's created with that flag from the beginning
2011-12-01 19:55:09 +01:00
Aaron Seigo
35580a01be only set an image when we have one 2011-11-30 15:15:54 +01:00
Marco Martin
bda133a997 always be frameless 2011-11-27 18:12:24 +01:00
Marco Martin
42ddc80867 check for scene sxistence 2011-11-27 17:03:05 +01:00
Marco Martin
215306ee13 give the default models the get(row) function
some default components expect models to provide it
2011-11-25 18:48:42 +01:00
Marco Martin
855ced6672 more offscreen spacing 2011-11-19 11:46:28 +01:00
Marco Martin
3134f2a5bc fix the role mapping of some engines
by making sourceAdded a delayed connection, also add a long explanation why this is unfortunately needed
2011-11-18 16:19:34 +01:00
Marco Martin
7eaa8b9cc0 a way to activate the dialog window 2011-11-16 21:12:38 +01:00
Marco Martin
b24cc1646f guard against a null scene 2011-11-16 11:23:15 +01:00
Marco Martin
4a10379637 swap deletion to avoid a rare crash 2011-11-15 13:52:53 +01:00
Marco Martin
478cd9d3f0 add Dialogs
CommonDialog
QueryDialog
SelectionDialog

the base Dialog is still not exported
in future version on the desktop, QueryDialog will create a standard qt dialog instead
2011-11-03 14:46:05 +01:00
Marco Martin
2bb8101e6f check the pointer 2011-11-03 13:49:29 +01:00
Marco Martin
3accb9baf5 n mSize property in fontproxy: like em for css 2011-11-02 21:41:09 +01:00
Marco Martin
270b6296b9 fallback when there is no corona
autonomous positioning when there is no corona (usually relies on addoffscreenwidget and popupposition from it)
2011-11-02 18:15:17 +01:00
Marco Martin
7a325f4658 i_p suffix only for stuff not exported from qml
general rule:
if the header if from a class that will be made available as qml type, foo.h, otherwise foo_p.h
2011-11-01 19:27:55 +01:00
Marco Martin
43a069c681 bind types for dataengines in the palsmacore import 2011-11-01 19:18:41 +01:00
Marco Martin
2bb756cfe7 register extra types on QScriptEngine
only if hasn't been done yet
2011-11-01 18:55:57 +01:00
Marco Martin
3c8ff37491 Theme exports iconloader sizes 2011-10-30 19:07:58 +01:00
Marco Martin
6eba438a89 PlasmaCore.Theme is registered by the inport
no more need to declare it every time -> memory saving
2011-10-30 17:53:20 +01:00
Sebastian Kügler
5a4bef41ef Use Qt::DisplayRole when the lookup fails
This makes it do the right thing by default, and fixes filtering for
QStringListModels (and probably a few other ones as well).
2011-10-30 00:53:48 +02:00
Marco Martin
63fbf58b53 fix property/signal names 2011-10-27 21:25:34 +02:00
Marco Martin
9eda90088e defaultFont, desktopFont and smallestFont 2011-10-13 17:57:16 +02:00
Marco Martin
8c4c66a69d export all the font properties in Theme 2011-10-13 15:19:37 +02:00
Marco Martin
554399afc7 a method to fetch custom size wallpapers 2011-10-09 16:12:58 +02:00
Aaron Seigo
b0783ce5f7 a slew of clean ups and improvements to the code
DataSource still needs to be made to not keep a private copy of all the data
2011-09-22 22:45:26 +02:00
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
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
6d7b475468 location property that decides the sliding effect 2011-08-15 19:32:01 +02:00
Marco Martin
e8432fe351 don't reset the model if the source isn't ours 2011-07-25 19:11:36 +02: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
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