Commit Graph

72 Commits

Author SHA1 Message Date
Marco Martin
e463c4af4f QGraphicsSceneDropEvent -> QDropEvent 2012-11-08 18:33:56 +01:00
Marco Martin
64fde089f2 correctly build applet and containment 2012-11-08 18:23:28 +01:00
Marco Martin
cc21f6fcfe applet doesn't inherit from QGraphicsWidget 2012-11-08 18:23:00 +01:00
Antonis Tsiapaliokas
87c70a42b4 appletDestroyed() is emitted in ~Applet(). But this can happen even if
it isn't destroyed but it just have been deleted. So we rename the
appletDestroyed() to appletDeleted().
2012-09-24 15:05:17 +03:00
Marco Martin
f65d8b2abb move all ContainmentPrivate impl in own file 2012-07-17 14:21:45 +02:00
Aaron Seigo
3c55a5489a Merge remote-tracking branch 'origin/KDE/4.7' into frameworks
Conflicts:
	plasma/runnermanager.cpp
2011-11-22 12:56:16 +01:00
Ben Cooksley
7f0e9fb3b2 Don't crash on exit.
BUG:284989
REVIEW:103202
2011-11-22 21:18:04 +13:00
Aaron Seigo
90b02f3973 massive step towards QGraphicsView being separated from libplasma
* remove extenders (never panned out, used by exactly two components that we can find .. anywhere)
* move animations to libplasmagqv
* schedule js anims to be put into the js scriptengine
* move all QGraphicsProxyWidgets, except for IconWidget which is still used by PopupApplet, into libplasmaqgv
* create a subclass-able private class for Applet

TODO: move out icon widget, address FIXMES in graphicswidgetappletprivate.cpp and decide how to register the "right" private class for instantiation in Applet ctors
2011-11-17 14:43:37 +01:00
Aaron Seigo
4cc44f6a92 Merge remote-tracking branch 'origin/master' into libplasma2
Conflicts:
	plasma/package.cpp
2011-05-28 00:25:07 +02:00
Aaron Seigo
dd122bc011 move applet handle handling (*cough*) to applet instead of contaiment
much cleaner and eliminates the possibility of odd crashes

BUG:253421
2011-05-28 00:23:37 +02:00
Aaron Seigo
5717088b57 remove references to Context classes, activity stored by id 2011-05-20 09:41:19 +02:00
Aaron Seigo
fbb50df067 ensure that the containment configChanged() routine always happens 2011-04-25 16:43:48 +02:00
Marco Martin
79bbb39468 initialize
svn path=/trunk/KDE/kdelibs/; revision=1212108
2011-01-05 18:54:37 +00:00
Chani Armitage
31e2c5a0d4 shared containmentactions
svn path=/trunk/KDE/kdelibs/; revision=1195744
2010-11-11 22:22:39 +00:00
Kevin Ottens
c0f66faad7 Allow to build libplasma without KIO. Only issue is that the
copying/moving/removal of folders is defunct (so is the package
install/uninstall).

svn path=/trunk/KDE/kdelibs/; revision=1185865
2010-10-14 12:27:15 +00:00
Aaron J. Seigo
b5b4ea581a allow setting a bogus desktop value on startup; prevents containments kept around due to desktops disappearing on us from becoming activity spawners
BUG:252264

svn path=/trunk/KDE/kdelibs/; revision=1179185
2010-09-24 19:03:45 +00:00
Aaron J. Seigo
23ebeb3bf6 * appletActions -> addAppletActions
* containmentActions -> addContainmentActions
* make both take an event for positioning purposes
* make prepareContainmentActions a more generic so that one code path for handling setting up a ContainmentActions plugin is used everywhere; this also shrinks addContainmentActions down to just being a permissions checker
* make PopupApplet use ContainmentPrive::addAppletActions directly; fewer code paths to track, as it allows removal of ContainmentPrivate::showApplContextMenu

svn path=/trunk/KDE/kdelibs/; revision=1173567
2010-09-09 18:37:28 +00:00
Aaron J. Seigo
d436911241 simplify/clarify the handling of context menu events; ensure it _always_ goes via the context menu event, and clean up the helper methods in the private class
svn path=/trunk/KDE/kdelibs/; revision=1173182
2010-09-08 21:51:22 +00:00
Aaron J. Seigo
1f0ecedca3 put all the applet restore/init code in one place so that the order of ops is more obvious when debugging
svn path=/trunk/KDE/kdelibs/; revision=1134668
2010-06-04 21:36:28 +00:00
Chani Armitage
3a10a5c507 added lastScreen and lastDesktop, to remember where things belong
svn path=/trunk/KDE/kdelibs/; revision=1128358
2010-05-19 02:43:07 +00:00
Chani Armitage
ffc6ae289e API change: instead of Containment having activityId functions, it just
exposes the whole Context*.
The activity functions have to be left in for BC, and they still work as
they did before.

svn path=/trunk/KDE/kdelibs/; revision=1125570
2010-05-11 19:02:24 +00:00
Aaron J. Seigo
dcba3a27a6 aggregate applet status in the containment
CCBUG:236461

svn path=/trunk/KDE/kdelibs/; revision=1123366
2010-05-05 22:33:52 +00:00
Aaron J. Seigo
dbd43adad7 use appear/disappear anims, not hardcoded stuff
svn path=/trunk/KDE/kdelibs/; revision=1120243
2010-04-28 17:42:12 +00:00
Aaron J. Seigo
42d4fe3edf * provide a way to check that the standard items for a containment are around; allows earlier setting of containment type
* provide means to get preferred positions of containments


svn path=/trunk/KDE/kdelibs/; revision=1114488
2010-04-13 18:36:38 +00:00
Artur Duque de Souza
060bf4148f Let corona layout the containments
Now corona will layout it's containments instead of letting
them do this task. This was created as a slot so we could preserve
BC. Subclasses of Plasma::Corona must be sure to skip containments
of Panel type during layouting if they wish to reimplement it to
have their own layout.

If subclasses doesn't care about it, just leave it alone and
everything will work just as before. :)

Reviewed-by: aseigo, notmart

svn path=/trunk/KDE/kdelibs/; revision=1095549
2010-02-24 14:24:52 +00:00
Aaron J. Seigo
5eb78f23ea zooming is gone; activity switching can be done for now using the activity switcher or the keyboard shortcuts. a new activity manager will be built up from here
svn path=/trunk/KDE/kdelibs/; revision=1080793
2010-01-26 23:35:32 +00:00
Aaron J. Seigo
c4ed36ca0e zoom anim doesn't need to be a member, and this way it doesn't mess up when lots of applets are added at the same time
svn path=/trunk/KDE/kdelibs/; revision=1070142
2010-01-04 23:45:38 +00:00
Adenilson Cavalcanti Da Silva
32121a4bdf Migrating Plasma::Containment appear animation to ZoomAnimation (it works
smoother and the code is simpler).


svn path=/trunk/KDE/kdelibs/; revision=1063088
2009-12-16 22:33:30 +00:00
Marco Martin
08ae083579 now the toolbox can be accessed by subclasses, so funny things can happen, bury it under a QWeakPointer so
svn path=/trunk/KDE/kdelibs/; revision=1054267
2009-11-25 19:46:33 +00:00
Aaron J. Seigo
75e482fae2 only insert a delay before moving the drop zone the first time its shown; be sure to also reset the drop point
svn path=/trunk/KDE/kdelibs/; revision=1045332
2009-11-05 20:27:08 +00:00
Aaron J. Seigo
c765e808a7 * the drop position is always relative to the containment; don't need to do store the scene pos. this fixes drops on panels
* allow drops on the toolbox, this gives is a place to drop things on the panel at all times, similar to the context menu on toolbox
* small delay on showing the drop zone indicator so that when dragging into the tasks widget, for example, we don't end up flickering as it crosses the panel containment edge

svn path=/trunk/KDE/kdelibs/; revision=1039186
2009-10-22 22:14:22 +00:00
Marco Martin
6b0a4590d2 Export a really simple AbstractToolBox
add a setToolBox function

svn path=/trunk/KDE/kdelibs/; revision=1038024
2009-10-20 14:14:53 +00:00
Aaron J. Seigo
ee461e739e activity naming consistency, take 2
svn path=/trunk/KDE/kdelibs/; revision=1034920
2009-10-13 23:07:35 +00:00
Chani Armitage
cd65144478 rightclick on popupapplet's dialog behaves like
rightclick on the applet itself

svn path=/trunk/KDE/kdelibs/; revision=1029866
2009-09-30 23:07:42 +00:00
Aaron J. Seigo
4cd5189513 in case of job failure, be sure we don't leave the context menu just hanging around there
svn path=/trunk/KDE/kdelibs/; revision=1029846
2009-09-30 21:42:05 +00:00
Rob Scheepmaker
5b56a34dfa Support drag & drop of plasma:// and plasma+zeroconf:// urls onto plasma containments.
svn path=/trunk/KDE/kdelibs/; revision=1026777
2009-09-22 15:29:08 +00:00
Aaron J. Seigo
432ad10dbe clean up after a drop
svn path=/trunk/KDE/kdelibs/; revision=1022560
2009-09-12 02:38:10 +00:00
Sebastian Kügler
36b30b8751 Don't special-case local files for dropped content
Now all (local and remote) file drops use KIO to retrieve the mimetype.

svn path=/trunk/KDE/kdelibs/; revision=1022557
2009-09-12 01:44:01 +00:00
Chani Armitage
024d23a07f for contextmenu events triggered by the mouse on the containment, fall
through to the mouse events. it's easier to handle that way

svn path=/trunk/KDE/kdelibs/; revision=1017492
2009-08-30 18:52:10 +00:00
Chani Armitage
93aead97a1 allow click-throughs for the containment's graphicsitems
this makes folderview happier, yay

svn path=/trunk/KDE/kdelibs/; revision=1017491
2009-08-30 18:52:05 +00:00
Chani Armitage
2ab601f945 various bits of cleanup:
load requires a containment
    fix @since (I could've sworn I did this already..)
    rename ContextAction->ContainmentActions
    misc. improvements from aaron
    no more warnings
    qDeleteAll
    don't iterate with keys()

svn path=/trunk/KDE/kdelibs/; revision=1012647
2009-08-17 22:31:32 +00:00
Chani Armitage
69365ddada paste is triggered by a plugin now.
also, clean up the drop/paste handling a bit

svn path=/trunk/KDE/kdelibs/; revision=1012643
2009-08-17 22:31:03 +00:00
Chani Armitage
493196dff3 use contextaction plugins.
there are a few defaults, only one real plugin exists so far
rightclicks are still overridden by the contextmenu event.
the user is warned about plugins that need configuring.

svn path=/trunk/KDE/kdelibs/; revision=1012636
2009-08-17 22:30:34 +00:00
Sebastian Kügler
5ea600487a Make dropping remote content onto Plasma work
The idea is that you drop a file from a webpage, or basically a URL onto Plasma and Plasma creates a suitable applet to display this URL. For example an image frame for picture, or a previewer for pdf files. Downloading the data itself (and possibly saving it) is left to the applets. The mimetype needs to be retrieved as it cannot be determined from the URL.

The code pathes I've changed or added are, roughly:
- "something" is dropped onto Plasma
- if it's a remote URL, we don't know the mimetype of the object behind the URL yet
- a KIO::TransferJob is used to retrieve the mimetype asynchronously, and will call back
- we open a QMenu that says "Fetching file type..."
- If the user closes the menu while the mimetype is being retrieved, we will open a new one
- When the TransferJob calls back, and we have our mimetype, we offer a list of applets suitable for this kind of content
- If the user chooses to create an applet, we put the transfer job on hold to make it available for recycling by the applet
- If the user dismisses the offering, we kill the job

Thanks to marco for reviewing and everybody else for the input :)

Next steps are making some more applets work with this.

CCMAIL:plasma-devel@kde.org


svn path=/trunk/KDE/kdelibs/; revision=1009004
2009-08-08 22:01:16 +00:00
Chani Armitage
571367cec2 middle-click pastes data onto containments now :)
svn path=/trunk/KDE/kdelibs/; revision=963659
2009-05-05 05:19:35 +00:00
Chani Armitage
c756fd29c4 configurable keyboard shortcuts
svn path=/trunk/KDE/kdelibs/; revision=963051
2009-05-03 20:22:14 +00:00
Aaron J. Seigo
447ade0a4f Toolbox -> ToolBox
svn path=/trunk/KDE/kdelibs/; revision=958823
2009-04-24 19:28:17 +00:00
Marco Martin
43af4a45b4 signal void toolBoxVisibilityChanged(bool); that notifies when the
toolbox gets open/closed

svn path=/trunk/KDE/kdelibs/; revision=953372
2009-04-13 20:26:17 +00:00
Chani Armitage
aa34398a80 give corona its own action collection.
this is a place for things which shouldn't be duplicated over every single containment, like "lock" and "new activity".
for now we still add the lock action to every containment, so that none of the code lower down notices the change - but we only have one action behind it all :)

svn path=/trunk/KDE/kdelibs/; revision=937923
2009-03-10 19:52:50 +00:00
Aaron J. Seigo
1f6e98c957 revert r#176280 as it's just a work around for the real problem
svn path=/trunk/KDE/kdelibs/; revision=928670
2009-02-19 19:47:24 +00:00