Commit Graph

56 Commits

Author SHA1 Message Date
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
Joshua Levesque
fcb0f36d7f Prevent horizontal panels from bleeding over into positive coordinates by creating a positioning offset, much like that given to vertical panels.
CCBUG: 176280

svn path=/trunk/KDE/kdelibs/; revision=927169
2009-02-16 22:55:24 +00:00
Alexis Ménard
ef4b6c7187 Add an appletDestroyed signal instead of catching the destruction in containments with qobject destroyed signal.
THis fix errors because we give an invalid pointer to public appletRemoved signal.

svn path=/trunk/KDE/kdelibs/; revision=917619
2009-01-28 07:58:17 +00:00
Aaron J. Seigo
5c2927870d * consolidate the remove action enabling check into one method
* check the remove action on immutability changes (prevents "Remove" from showing up erroniously when locking then unlocking)

svn path=/trunk/KDE/kdelibs/; revision=897290
2008-12-15 16:54:09 +00:00
Marco Martin
d9c14c87ba show the toolbox as an external solid-background toolbar under the
containment, don't show text on icons except add windgets and add
activity
show the remove activity button in the toolbox for non active ones

svn path=/trunk/KDE/kdelibs/; revision=891209
2008-12-01 12:40:08 +00:00
Aaron J. Seigo
7b4de980b8 clarify this code a wee bit more and call positionContainments() in all necessary cases
svn path=/trunk/KDE/kdelibs/; revision=888637
2008-11-25 00:23:43 +00:00
Aaron J. Seigo
160e70ccd0 add proper support for virtual desktops, which really requires more than just the View being aware of it; given the default parameters, it's a detail most plasma based apps can ignore (just like screens in general, actually =)
svn path=/trunk/KDE/kdelibs/; revision=885330
2008-11-17 04:34:55 +00:00
Beat Wolf
a387ff3a29 correct import for kmenu
svn path=/trunk/KDE/kdelibs/; revision=884024
2008-11-14 00:34:36 +00:00
Beat Wolf
675b4b59b8 add general way to add context menus to containments. Reviewed by aseigo
svn path=/trunk/KDE/kdelibs/; revision=884003
2008-11-13 23:08:58 +00:00
Aaron J. Seigo
249a44ab8d don't overload the meaning of hasConfigurationInterface for containments, since that makes things difficult for applets-that-are-containments, e.g. folderview
svn path=/trunk/KDE/kdelibs/; revision=882205
2008-11-10 01:26:27 +00:00
Aaron J. Seigo
d6ac15c20f 4->2, makes amarokers more happy too
svn path=/trunk/KDE/kdelibs/; revision=882103
2008-11-09 19:51:31 +00:00
Aaron J. Seigo
1b523b9054 ok, this time JUST the plasma dir ;)
svn path=/trunk/KDE/kdelibs/; revision=879759
2008-11-03 23:08:39 +00:00
Aaron J. Seigo
fa5a2d87d9 bum-de-dum! plasma to kdelibs.
svn path=/trunk/KDE/kdelibs/; revision=879757
2008-11-03 23:03:26 +00:00
Aaron J. Seigo
b31b4da0ba ok, this is a much, much easier way to approach the grouping and doesn't require QDesktopWidget either
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=873703
2008-10-20 00:42:50 +00:00
Aaron J. Seigo
3fb4975896 swap the magic number for a constant
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=873689
2008-10-19 23:21:03 +00:00
Allen Winter
3674a94a99 more coding style fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870169
2008-10-11 23:28:20 +00:00
Aaron J. Seigo
99e664d0c5 make is possible to ask for the containment's own context menu
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=857605
2008-09-05 20:06:30 +00:00