Commit Graph

610 Commits

Author SHA1 Message Date
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
5ef4d99a6b always call the (virtual) contextMenuEvent
svn path=/trunk/KDE/kdelibs/; revision=1172750
2010-09-08 00:00:19 +00:00
Aaron J. Seigo
54e3837b10 now that handles are children of the applet, this shouldn't even be necessary
BUG:250137

svn path=/trunk/KDE/kdelibs/; revision=1171752
2010-09-05 00:33:35 +00:00
Aaron J. Seigo
f02786e31a SVN_SILENT: ease giulio's pain in generate diffs
svn path=/trunk/KDE/kdelibs/; revision=1171395
2010-09-03 18:09:18 +00:00
Jaime Torres Amate
57bbfe755c delete some uneeded if (pointer not null)
http://reviewboard.kde.org/r/5021/

svn path=/trunk/KDE/kdelibs/; revision=1167869
2010-08-25 14:48:41 +00:00
Marco Martin
72a06cdd14 The Desktop ToolBox and the Panel ToolBox becomes plugins, shipped with
Plasma-Desktop (so shells have to implement their own plugins or pick
one already installed)

Unfortunately, 3 virtuals were needed in AbstractToolBox
void restore(const KConfigGroup &group);
void save(const KConfigGroup &group);
void reposition();

since this is not possible for obvious BC reasons, they are "faked" with
slots, not really nice butthe most painless way.

There shouldn't be significant regressions, but wise to keep an eye on
it in the immediate future

CCMAIL:plasma-devel@kde.org


svn path=/trunk/KDE/kdelibs/; revision=1157537
2010-07-31 13:02:07 +00:00
Aaron J. Seigo
6dfeeb5fe9 uncessary to call it here; restore takes care of this
svn path=/trunk/KDE/kdelibs/; revision=1152622
2010-07-21 15:58:25 +00:00
Aaron J. Seigo
836e012dd4 set the target widget, and reverse the flow of the animation (temporary workaround for 4.5 release)
svn path=/trunk/KDE/kdelibs/; revision=1148348
2010-07-10 10:49:34 +00:00
Aaron J. Seigo
bf60c264ac restore; usually not needed as this path is usually for new applets (and so the values won't do anything) but can also be used for applets created elsewhere; will be useful for the kpart work
svn path=/trunk/KDE/kdelibs/; revision=1141866
2010-06-23 17:50:16 +00:00
Aaron J. Seigo
4c3f1104b3 when initializing the applets, restore from config, then init, then flush the containment's constraints, then flush the applet's constraints. ensures that constraint events always happen after both restoration and initialization of the applet
BUG:241298

svn path=/trunk/KDE/kdelibs/; revision=1136767
2010-06-10 17:07:50 +00:00
Aaron J. Seigo
fd535c68e1 pass on the screen constraint to applets when changing the screen of a containment. thanks to Sebas for figuring out what was triggering it (lack of constraints events being passed on)
BUGS:201247,233054

svn path=/trunk/KDE/kdelibs/; revision=1136747
2010-06-10 16:30:54 +00:00
Marco Martin
85d9343669 add a toolBoxOpen getter to complete the property
svn path=/trunk/KDE/kdelibs/; revision=1136303
2010-06-09 13:18:04 +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
fcd713f149 don't emit nonsense :)
svn path=/trunk/KDE/kdelibs/; revision=1128641
2010-05-19 20:11:37 +00:00
Aaron J. Seigo
7c64c65251 ensure we don't multiply connect
svn path=/trunk/KDE/kdelibs/; revision=1128635
2010-05-19 20:02:10 +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
Aaron J. Seigo
5247459859 SVN_SILENT: ws
svn path=/trunk/KDE/kdelibs/; revision=1126401
2010-05-13 21:48:13 +00:00
Chani Armitage
5d68a5bc56 don't save containment stuff if you're not a containment
svn path=/trunk/KDE/kdelibs/; revision=1126393
2010-05-13 21:40:02 +00:00
Chani Armitage
67180894e9 write the activity ID on save.
svn path=/trunk/KDE/kdelibs/; revision=1126391
2010-05-13 21:39:45 +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
cd1cb881b9 SVN_SILENT: tidy ups
svn path=/trunk/KDE/kdelibs/; revision=1125280
2010-05-11 07:14:54 +00:00
Chani Armitage
a18d89b4d2 add activity ID to containment & context
svn path=/trunk/KDE/kdelibs/; revision=1124740
2010-05-10 01:43:06 +00:00
Stephan Binner
5ddac55dcc SVN_SILENT i18n style guide fixes
svn path=/trunk/KDE/kdelibs/; revision=1124547
2010-05-09 11:03:13 +00:00
Aaron J. Seigo
19a9d2f4f6 put menus nearer the menu if they are positioned awkwardly
svn path=/trunk/KDE/kdelibs/; revision=1124355
2010-05-08 23:17:17 +00:00
Aaron J. Seigo
32fd43651d SVN_SILENT: a note for later
svn path=/trunk/KDE/kdelibs/; revision=1124304
2010-05-08 19:08:00 +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
80bc92740f move context menus on applets according to their popup position when we're a panel containment
svn path=/trunk/KDE/kdelibs/; revision=1123209
2010-05-05 15:49:37 +00:00
Aaron J. Seigo
b77e461a0b Applet::init() is always ok. patch by Vincenzo Di Massa
svn path=/trunk/KDE/kdelibs/; revision=1122515
2010-05-04 03:50:11 +00:00
Aaron J. Seigo
839204b6ea this works better when the size of the containment is 0 or some other nonesense
svn path=/trunk/KDE/kdelibs/; revision=1120900
2010-04-30 02:10:55 +00:00
Aaron J. Seigo
1b7f06d209 explicitly set the applet as movable; this is because the containment isn't and this gets propagated when setting the containment as the parent.
svn path=/trunk/KDE/kdelibs/; revision=1120801
2010-04-30 01:05:52 +00:00
Aaron J. Seigo
1834648ded SVN_SILENT: code style
svn path=/trunk/KDE/kdelibs/; revision=1120769
2010-04-29 22:29:07 +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
Chani Armitage
40cff6825c plasma-desktop changed actions
anyone know a better way of making the keyboard shortcut work?

svn path=/trunk/KDE/kdelibs/; revision=1118489
2010-04-24 20:36:43 +00:00
Aaron J. Seigo
9278caf4a0 don't do the Containment resizeEvent dance unless it is actually being used as a containment
svn path=/trunk/KDE/kdelibs/; revision=1118056
2010-04-23 19:06:55 +00:00
Aaron J. Seigo
644859eec4 a sensible default position for non-panel containments
svn path=/trunk/KDE/kdelibs/; revision=1118043
2010-04-23 18:23:53 +00:00
Aaron J. Seigo
548ca104e2 use ContainmentPrivate::isPanelContainment() for more readable code
svn path=/trunk/KDE/kdelibs/; revision=1114542
2010-04-13 21:10:28 +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
Marco Martin
8a9603eec6 propagate immutability of a containment to the applets (not backporting, still to see if it's really correct and the only use case has a different partial fix in branch)
svn path=/trunk/KDE/kdelibs/; revision=1111042
2010-04-04 17:59:12 +00:00
Aaron J. Seigo
9554b17ce8 * don't remove items from our scene if they aren't part of our scene (avoid a warning from inside qt)
* always reset the borders of dragged extender items when needed
* minor cleanup in appletActions

svn path=/trunk/KDE/kdelibs/; revision=1099725
2010-03-06 01:41:18 +00:00
Artur Duque de Souza
6934ba2672 Repeat after me: it's not a virtual method :)
Should use QMetaObject::invokeMethod for the trick.

svn path=/trunk/KDE/kdelibs/; revision=1095696
2010-02-24 21:11:02 +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
Richard Dale
2025c72039 * Add an Applet::init() call in Containment::init() so that scripting
containment instances are initialized correctly

svn path=/trunk/KDE/kdelibs/; revision=1095288
2010-02-23 22:51:30 +00:00
Aaron J. Seigo
acc4b9ce1f it's ok if the X-KDE-ParentApp line exists but is empty
svn path=/trunk/KDE/kdelibs/; revision=1094363
2010-02-22 16:32:05 +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
321c298a96 standarize the authorization restrictions with other ones found in KDE; one of these is new in 4.4 and neither of the other two were ever documented anywhere
svn path=/trunk/KDE/kdelibs/; revision=1070582
2010-01-06 04:16:28 +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
368f6e5896 Adding pulse animation when a new plasmoid is inserted in the desktop.
I'm looking for feedback to know if it is worthwhile to have it as default.


svn path=/trunk/KDE/kdelibs/; revision=1070133
2010-01-04 23:34:05 +00:00
Aaron J. Seigo
7a46df7066 adapt to Animation API cleanup
svn path=/trunk/KDE/kdelibs/; revision=1069731
2010-01-04 09:19:08 +00:00
Aaron J. Seigo
1181a53e3c tag the actions; now the desktop toolbox is sanely ordered
svn path=/trunk/KDE/kdelibs/; revision=1069705
2010-01-04 06:37:41 +00:00
Chani Armitage
a2e7f090a1 give wallpaper priority over containmentactions in all events
CCMAIL: plasma-devel@kde.org
note that the wallpaper is only getting wheel events and move events
when itemAt != this, which is different from the "if there's no applet
there" logic that's used for containmentactions stuff. this could
have... odd... effects for containments that use graphicsitems, like
folderview.
in general it seems like this code's gotten crufty and could do with
some cleanup, once someone decides what the 'proper' behaviour actually
is.

svn path=/trunk/KDE/kdelibs/; revision=1067596
2009-12-29 23:23:25 +00:00
Marco Martin
83d671bf2f SVN_SILENT: style
svn path=/trunk/KDE/kdelibs/; revision=1065550
2009-12-23 16:36:16 +00:00
Marco Martin
d16be0c15a if we are switching two containments in Containment::setScreen()
let's before emit a screenchanged with -1 as the new screen for both.
this will make the views forget about them and they won't try to swao them again
makes possible to switch containments on multimonitor or pervirtualdesktopviews=true


svn path=/trunk/KDE/kdelibs/; revision=1063989
2009-12-19 18:48:56 +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
77928c0141 create a mimetype job instead of a generic transfer job, that is confised to death if the url is a directory instead of a file
BUG:218097

svn path=/trunk/KDE/kdelibs/; revision=1061657
2009-12-12 16:07:25 +00:00
Trever Fischer
1377d35138 Fixes a bug for when no event is passed.
In ContainmentPrivate::dropData, some bits assumed there was a dropEvent passed.
This doesn't always happen, for instance with ContainmentActions::paste(). The
points needed are instead taken from the scenePos and screenPos.

BUG: 196416

svn path=/trunk/KDE/kdelibs/; revision=1060831
2009-12-10 02:16:49 +00:00
Aaron J. Seigo
bf404da15e double check the clipboard object
BUG:217098

svn path=/trunk/KDE/kdelibs/; revision=1057509
2009-12-02 17:16:18 +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
7751044026 move connecting the update() signal to right after we actually initialize the wallpaper; prevents the possibility of double paints we may not want
svn path=/trunk/KDE/kdelibs/; revision=1044507
2009-11-03 22:27:05 +00:00
Marco Martin
06d2502d2a check the cast success: crash--
svn path=/trunk/KDE/kdelibs/; revision=1044329
2009-11-03 13:09:41 +00:00
Sebastian Kügler
fbcf0e484e Add capability for Applets to specify X-Plasma-DropUrlPatterns, a QStringList of globs to match a URL dropped onto Plasma. This is orthogonal to the mimetype checking.
http://reviewboard.kde.org/r/2005/#review2848

svn path=/trunk/KDE/kdelibs/; revision=1042124
2009-10-29 09:09:01 +00:00
Marco Martin
432fd2f610 InternalToolBox, not PanelToolBox
BUG:211689

svn path=/trunk/KDE/kdelibs/; revision=1039834
2009-10-24 18:16:05 +00:00
Petri Damstén
042ed56b39 * Add support to load PopupApplet and Containment from path
* AppletScript::addStandardConfigurationPages adds also publish page
* AppletScript::standardConfigurationDialog does not add standard pages (there is addStandardConfigurationPages)

svn path=/trunk/KDE/kdelibs/; revision=1039471
2009-10-23 13:48:29 +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
fbae18a177 not a static cast since it can fail
svn path=/trunk/KDE/kdelibs/; revision=1038049
2009-10-20 14:53:49 +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
Chani Armitage
386a38052e make rightclick work properly in folderview containments
svn path=/trunk/KDE/kdelibs/; revision=1037430
2009-10-19 04:11:05 +00:00
Aaron J. Seigo
d7915a8dff don't crash if the containment config dialog is open
BUG:210653

svn path=/trunk/KDE/kdelibs/; revision=1035776
2009-10-15 20:43:12 +00:00
Aaron J. Seigo
c5833d1939 handles are now children of the applet, so we don't need to destroy them ourselves; we do need to clear the applet pointer in the handle before it is destroyed, however.
BUG:209058

svn path=/trunk/KDE/kdelibs/; revision=1035446
2009-10-15 03:25:07 +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
cfd8409432 make a class to hold a map of default containmentactions plugins
svn path=/trunk/KDE/kdelibs/; revision=1031735
2009-10-05 20:50:57 +00:00
Aaron J. Seigo
82a8ee68dd we care about our immutablity, not scene immutability alone
svn path=/trunk/KDE/kdelibs/; revision=1029909
2009-10-01 01:21:52 +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
44c763a752 once we process the job, ignore any further results from it
svn path=/trunk/KDE/kdelibs/; revision=1029848
2009-09-30 21:45:19 +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
Chani Armitage
ba3b1b753b merge-squash of first containment-removal branch
svn path=/trunk/KDE/kdelibs/; revision=1027320
2009-09-23 20:37:17 +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
Marco Martin
08d49e6fd0 introducing the concept of associated application:
an an application and/or an url list can be associated with an aplet
and a context menu entry and an applet handle button will be added to
launch that application.
the applet will be considered a preview of something, where the
application its full view, for example the picture frame can open
gwenview

svn path=/trunk/KDE/kdelibs/; revision=1024487
2009-09-16 17:08:45 +00:00
Aaron J. Seigo
7d23823095 label the widgets section with a title as well
svn path=/trunk/KDE/kdelibs/; revision=1022572
2009-09-12 03:48:56 +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
Aaron J. Seigo
860e54d92c support wallpaper drops
svn path=/trunk/KDE/kdelibs/; revision=1019584
2009-09-03 23:22:48 +00:00
Aaron J. Seigo
e41352c6ec move our data files into a common place with some decent organization
svn path=/trunk/KDE/kdelibs/; revision=1019549
2009-09-03 20:40:22 +00:00
Chani Armitage
bf8eb6de86 Revert "give contextmenuevent a chance to run"
ooops. that patch relies on 4.6, didn't mean to commit it yet

svn path=/trunk/KDE/kdelibs/; revision=1018488
2009-09-01 18:46:28 +00:00
Chani Armitage
0afd8efd8c give contextmenuevent a chance to run
this is icky and depends on scene()->sendEvent
but we need it to know whether the containment plugin has child items
expecting a contextmenuevent, before we eat the event.
by the time contextmenuevent runs normally it's too late.

svn path=/trunk/KDE/kdelibs/; revision=1018486
2009-09-01 18:42:26 +00:00
Chani Armitage
eab10293a8 consider the handle part of the applet for mouseevents
svn path=/trunk/KDE/kdelibs/; revision=1017591
2009-08-30 23:41:23 +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
f725121a2a don't use qgraphicsitem_cast, + some cleanup
svn path=/trunk/KDE/kdelibs/; revision=1017490
2009-08-30 18:51:58 +00:00
Chani Armitage
22506da412 make rightclick-on-folderview work
svn path=/trunk/KDE/kdelibs/; revision=1017489
2009-08-30 18:51:51 +00:00
Chani Armitage
af4925f777 SVN_SILENT: less negative
svn path=/trunk/KDE/kdelibs/; revision=1017488
2009-08-30 18:51:32 +00:00
Aaron J. Seigo
87b743188e update the toolbox when the activity changes as it may be showing the name of it
svn path=/trunk/KDE/kdelibs/; revision=1016743
2009-08-28 19:07:56 +00:00
Aaron J. Seigo
1f57b0c726 send in both press and release events
svn path=/trunk/KDE/kdelibs/; revision=1015482
2009-08-25 16:14:05 +00:00
Aaron J. Seigo
de4e6d5bf1 remove the handle from the scene before deleting it; this prevents full screen repaints whenever a widget has the mouse passed over it. will backport.
svn path=/trunk/KDE/kdelibs/; revision=1012691
2009-08-17 23:40:07 +00:00
Chani Armitage
0ecafe8131 use trigger for config group
svn path=/trunk/KDE/kdelibs/; revision=1012648
2009-08-17 22:31:37 +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
ae2378a8da some code cleanup
fix copyright
    always init a contextaction before trying to use it
    no more unexpected click-throughs
    contextAction() returns the plugin name instead of a pointer

svn path=/trunk/KDE/kdelibs/; revision=1012645
2009-08-17 22:31:18 +00:00
Chani Armitage
5070e300f5 API changes needed for configurable contextmenu.
-setContainment, so that we don't have to try and use the parent any
more.
-hasConfigurationInterface; this should've already been there.
-default values for a couple of functions that I think make sense

svn path=/trunk/KDE/kdelibs/; revision=1012644
2009-08-17 22:31:08 +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
464df207d1 API review stuff
-have one virtual QEvent function
-move eventToString to ContextAction
-remove needsConfig reason
-remove configurationAction
-remove dataengine stuff

svn path=/trunk/KDE/kdelibs/; revision=1012642
2009-08-17 22:30:58 +00:00