Commit Graph

214 Commits

Author SHA1 Message Date
Marco Martin
4f9f85cee9 don't let the popups escape from their containment
resolves part of 184983
CCBUG:184983

svn path=/trunk/KDE/kdelibs/; revision=942063
2009-03-20 22:17:44 +00:00
Marco Martin
47a6a491d7 popups aligned with the exact pixel of the panel
svn path=/trunk/KDE/kdelibs/; revision=941938
2009-03-20 18:45:21 +00:00
Chani Armitage
f406ed1d77 stuff that lets me move "add activity" to plasmaapp:
-added enableAction function to corona for convenience
-added immutabilityChanged signal so that plasmaapp can respond to lock/unlock
-removed "add activity" action from containment because it's on its way to plasmaapp
-stopped adding corona actions to the containment toolbox, plasmaapp can do a better job of it
-made lock action actually disable on SystemImmutable; sure it wouldn't have worked, but now there's no worries about it showing up in the UI

svn path=/trunk/KDE/kdelibs/; revision=938383
2009-03-11 18:37:12 +00:00
Chani Armitage
9af884bad7 update the lock action once, instead of having every containment do it
svn path=/trunk/KDE/kdelibs/; revision=938042
2009-03-11 04:46:13 +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
Ambroz Bizjak
a27a09fefc Fix regressions introduced by 914887.
On the other hand, Corona::addItem indirectly calls Containment::itemChange,
which ends up calling AppletPrivate::mainConfigGroup, which then creates a config
group in the wrong file (plasmarc) because isContainment was not set.
This also caused a regression where removed applets reappeared on next plasma run.

Fix:
Manually set isContainment before adding the item to the corona, then
call setIsContainment with a new argument to force the initialization.


svn path=/trunk/KDE/kdelibs/; revision=927886
2009-02-18 13:55:18 +00:00
Aaron J. Seigo
72d632a234 this started out as a self contained patch just to merge two actions, but rapidly got out of hand ;)
* default to no config interface for containments
* merge the Appearance Settings and Configure actions for containments
* be even more careful with about-to-be-deleted widget (d->transient) including giving them a fake-but-valid scratchpad of a KConfigGroup if requested after deletd
* replace some method calls with direct access to the private members

svn path=/trunk/KDE/kdelibs/; revision=914890
2009-01-22 00:00:16 +00:00
Aaron J. Seigo
c2aeb35b54 setIsContainment creates the toolbox, which now reads from the config, which requires Corona to be around or else we use the wrong config file.
svn path=/trunk/KDE/kdelibs/; revision=914887
2009-01-21 23:50:57 +00:00
Alessandro Diaferia
3716f6713a a useful method to retrieve free edges on the screen
svn path=/trunk/KDE/kdelibs/; revision=899574
2008-12-21 10:23:45 +00:00
Aaron J. Seigo
c8621101c1 allow for immediate syncs to be required
svn path=/trunk/KDE/kdelibs/; revision=898745
2008-12-18 22:12:49 +00:00
Aaron J. Seigo
32846f0e75 save immutability when it changes rather than on exit; prevents crashes from getting in the way
BUG:177756

svn path=/trunk/KDE/kdelibs/; revision=897281
2008-12-15 16:27:52 +00:00
Marco Martin
be2ae212ed don't cover the applet when the popup if from a top panel
BUG: 177621

svn path=/trunk/KDE/kdelibs/; revision=896197
2008-12-12 20:14:01 +00:00
Rob Scheepmaker
1b3d372062 (re)Add some kDebug lines temporarily to help me debug a bug I can't reproduce myself.
svn path=/trunk/KDE/kdelibs/; revision=896123
2008-12-12 15:03:18 +00:00
Marco Martin
43a7784230 take into account rotations when deciding the popup position
BUG: 177580

svn path=/trunk/KDE/kdelibs/; revision=896110
2008-12-12 14:41:15 +00:00
Rob Scheepmaker
72eaf8c5f7 No longer use a QGraphicsGridLayout to manage offscreen widgets in corona. Instead position them manually and give each one a spot where they can grow up to QWIDGETSIZEMAX. This has the advantage of not requiring hacks to work around QGL problems, and it avoids having to move all views when one item resizes. It feels snappier and the code looks cleaner.
svn path=/trunk/KDE/kdelibs/; revision=895118
2008-12-10 00:57:42 +00:00
Marco Martin
b2d528c0d3 flush pending constraint events after adding a containment, this makes
the close buttons appear and relayout when resized

svn path=/trunk/KDE/kdelibs/; revision=892097
2008-12-03 14:31:59 +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
Aaron J. Seigo
5bbb0685bb add containments to the collection sooner so that they can be positioned properly
svn path=/trunk/KDE/kdelibs/; revision=882247
2008-11-10 07:49:20 +00:00
Aaron J. Seigo
0ebbab0cc1 track QGraphicsWidgets in the offscreen layout as they get deleted; prevents a crash in the layout. QGraphicsLayout really ought to track this on its own, but it doesn't (problem is known upstream), so we work around it here.
thanks to asraniel for tracking down the culprit..

BUG:174411

svn path=/trunk/KDE/kdelibs/; revision=880873
2008-11-06 18:21:10 +00:00
Aaron J. Seigo
4b08c03726 change KDE includes to use the .h style now that we're in libs
svn path=/trunk/KDE/kdelibs/; revision=879795
2008-11-04 02:04:34 +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
c40e327130 make this work better for the default case
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=878937
2008-11-02 07:21:13 +00:00
Guillaume Pothier
bd7e7b10c9 Added screen management methods to Corona and removed usage of QDesktopWidget in plasmalibs.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=877451
2008-10-29 15:22:38 +00:00
Allen Winter
81d09742bb fix spelling
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870322
2008-10-12 11:12:24 +00:00
Allen Winter
a7aebfa60a a bunch more coding style fixes. still some lines longer than 100 chars.
this is definitely helping me find false positives in the Krazy style checker.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870161
2008-10-11 22:48:38 +00:00
Aaron J. Seigo
a062bbc901 * prevent some possibe crash interactions between extenders and applets
* proper save of geometry, transform and position post startup

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=866823
2008-10-01 23:52:50 +00:00
Aaron J. Seigo
d9a206dc22 SVN_SILENT: ws
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=864141
2008-09-24 02:49:21 +00:00
Aaron J. Seigo
56a9ad52ce make it harder for people to fall into the temptation of nesting containments
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=863619
2008-09-22 17:50:23 +00:00
Aaron J. Seigo
4ae5e8bdf7 respect "null" as a containment request: no wallpaper
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=858909
2008-09-09 01:16:10 +00:00
Rob Scheepmaker
dcaf4a4b8a And finally we can drag even the last ExtenderItem from PopupApplet without stuff
breaking all around, and some random crashes are avoided too, all by making the
Dialog in PopupApplet no longer of the type Qt::Popup and installing an event filter
to still hide the dialog when you click somewhere else on your screen.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=857095
2008-09-04 17:09:34 +00:00
Rob Scheepmaker
c066ea7027 PopupApplet monitors the size of the applet now. And fixed scenePosFromScreenPos so you can now
reorder extenderitems within a Dialog. Stuff still breaks when detaching the last item, I'm still 
working on that.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=854547
2008-08-29 19:00:10 +00:00
Rob Scheepmaker
1bae884531 Improved Extender support in popupApplet. Dialog resizes correctly, and even the last
item is removable. Implementation is still not perfect, but it's now a lot better then it 
was.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=853962
2008-08-28 14:32:48 +00:00
Alex Merry
df4423255f Move the clearFocus() fix to before "delete d", since we delete containments in ~CoronaPrivate
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=852814
2008-08-26 17:25:04 +00:00
Alex Merry
7d47005103 Hopefully fix bug 165051. It seems to be quite elusive, so I can't check whether it will for certain.
Clears the focus on the Corona before ~QGraphicsView runs.  See comment for more info.

BUG: 165051


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=851511
2008-08-23 21:59:27 +00:00
Alex Merry
c8823d1900 Don't call constraintsUpdated() before init(), even if an event loop is created in an applet constructor.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=849656
2008-08-19 21:36:52 +00:00
Rob Scheepmaker
a6293d363f Extenders enter trunk! The implementation still has some rough edges and fixmes, but the api
is in quite nice shape and basides a couple of bugs, it basically works. So what are you 
still doing reading this? Port your favourite applet to extenders today! ;)


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=840978
2008-08-02 11:48:56 +00:00
Aaron J. Seigo
0e5f15dc50 * add Corona::addContainmentDelayed for more control on the Corona subclass side during default layout loading
* accept bad config objectsin Applet::save and Containment::save
* move some initialization code around to be more robust with external use (will make more sense in next commit to workspace/plasma/plasma)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828940
2008-07-07 02:16:08 +00:00
Aaron J. Seigo
9ccc9336a5 * prevent removing active containments (brute force mechanism: just ignore the request totally)
* select the correct containment for removal when zoomed out (will have isses on multi-screen; see FIXME)
* move containment destruction logic out of Corona; it really doesn't belong there
* remove the hack to not set focus on a containment when clicked as that doesn't seem to reliably trigger it for me here and it doesn't address the issue of a new containment still messing things up, so we really ought to have a generic solution instead of a slightly ugly hack

BUG:id=165670

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828906
2008-07-06 22:43:53 +00:00
Aaron J. Seigo
92ee66d578 be extra sure that the applet has an entry in the config on being added so when we config sync we're guaranteed they are in there
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=827479
2008-07-03 05:46:25 +00:00
Marijn Kruisselbrink
21b148b963 change all ClassName::Private classes to ClassNamePrivate, and adjust friends accordingly; this makes plasma compilable with gcc < 4.2
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826893
2008-07-01 18:56:43 +00:00
Aaron J. Seigo
b1a56d99ee drop the max time until config sync to 30s
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826886
2008-07-01 18:41:42 +00:00
Aaron J. Seigo
8a602d02b4 no longer exists
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=821060
2008-06-16 09:01:37 +00:00
Aaron J. Seigo
92390049ed * bring back a publicly available scheduleConfigSync, but as requestConfigSync; the host app may need to trigger this
* signal when the config is sync'd, so the host app (or whomever else cares to) can hook into these syncs as well.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=820383
2008-06-14 01:31:53 +00:00
Aaron J. Seigo
272ca3002a save config when we add/remove containments
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=820344
2008-06-13 22:43:38 +00:00
Aaron J. Seigo
1f6736bb42 gut the drag/drop handlers in Corona; i don't want to remove them since that is apparently BIC (at least on my system it was =/), but it's certainly not the right place for this. if we wish to handle drops on the Corona itself (versus containments or applets, of course) we have the ability to do so in the future. right now it's wasted cycles.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=820229
2008-06-13 16:16:53 +00:00
Aaron J. Seigo
f1ce0ee124 safety in removing panels, aka "work around the inane requirement to first remove items from the scene before deleting them if they are a QGraphicsWidget and have a layout"
BUG:163205

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816760
2008-06-04 19:04:34 +00:00
Aaron J. Seigo
40e4b3e88e * global keyboard shortcuts for applets
* move the contents of setGeometry to itemChange and resizeEvent for greater reliability

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815043
2008-06-01 02:13:53 +00:00
Aaron J. Seigo
ec0c7486b7 move the checkerboard painting to DesktopView. now when we drag things around in top levels we don't see odd checkerboards =)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811898
2008-05-23 23:35:39 +00:00
Aaron J. Seigo
590b3cebd8 add initializeLayout and separate the start up stuff from loadLayout into it so that we can properly load add on layouts
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811892
2008-05-23 23:12:05 +00:00