Commit Graph

200 Commits

Author SHA1 Message Date
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
Aaron J. Seigo
26f7e83a53 give proper control over saving/restoring to the containment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811211
2008-05-22 15:53:48 +00:00
Chani Armitage
ccde7ded20 replace Panel::remove() with Containment::destroy()
now I can remove some of the ten desktop containments I accumulated :)
oh, and the code is cleaner too, yay!

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=810129
2008-05-20 04:02:36 +00:00
Dan Meltzer
f57cc1c623 Lotsa little ebn fixes.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805672
2008-05-09 05:32:15 +00:00
Chani Armitage
2a6a5fa6db :%s/NotImmutable/Mutable/g
because double negatives hurt my brain.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805296
2008-05-08 04:26:52 +00:00
Aaron J. Seigo
1847d60a1d API REVIEW: launchActivated -> releaseVisualFocus; more generic and a bit more obvious as to its purpose
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802286
2008-04-29 02:28:35 +00:00
Aaron J. Seigo
53a6938a87 schedule a configuration sync upon loading the default setup
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802285
2008-04-29 02:19:12 +00:00
Aaron J. Seigo
5d287cfcbb one more slot pimpl'd
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802282
2008-04-29 01:41:24 +00:00
Aaron J. Seigo
df1ba079e8 go back is isContainment. ActAs is just ugly ugly. i don't think anyone really gets confused over isContainment (e.g. confusing it with IsA ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801792
2008-04-27 19:05:06 +00:00
Marco Martin
694c822bb0 API reviews:
flushUpdatedConstraints()->flushPendingCostraintEvents()

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801443
2008-04-26 17:13:59 +00:00
Marco Martin
6d8a1752a7 API review:
isContainment(), setIsContainment() -> actAsContainment(),
setActAsContainment()
 set is protected

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801425
2008-04-26 15:52:48 +00:00
Aaron J. Seigo
a3ad7dca00 launch activation sanity: added it back to Corona since it is PUI relevant (and not just desktop specific), move the signal to Applet and chain them so that Applet -> Containment -> Corona
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801102
2008-04-25 17:21:24 +00:00
Marco Martin
282a18571b API review:
assContainment() is not a slot, and now there is a public version
without containment id and delayed init params (always assumed as 0 and
false in the public version) and a private version in Private with these
two params used only when restoring the configuration

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801100
2008-04-25 17:15:14 +00:00
Aaron J. Seigo
902d57ffcd * simplify the public API for addApplet, move the more complex version to the pimpl
* move applet loading to Containmnet
* rename loadConstraints to loadContainment since it does constraints, applets, etc in one go

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800822
2008-04-24 22:18:07 +00:00
Marco Martin
a9d9dfea46 API reviews:
the protected slots containmentDestroyed(QObject*) and syncConfig()
are now private and in the private implementation

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800755
2008-04-24 19:46:07 +00:00