Commit Graph

284 Commits

Author SHA1 Message Date
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
Marco Martin
3a295e1062 API reviews:
removing launchActivated() signal from Corona.
it was not used here, but still needed in Containment and Applet

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800751
2008-04-24 19:29:28 +00:00
Marco Martin
8387f8651e API reviews:
loadApplets() and saveApplets() became loadLayout() and saveLayout()

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800738
2008-04-24 19:04:15 +00:00
Marco Martin
f197c428b4 API reviews:
loadDefaultSetup() is now protected and renamed loadDefaultLayout()

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800732
2008-04-24 18:36:39 +00:00
Marco Martin
7d057a2bc2 API review:
isImmutable(), setIsImmutable() and isKioskImmutable() of applet and
corona are merged in one property so they becamed
immutability() and setImmutability() using the new type
ImmutabilityType defined in plasma.h as:
NotImmutable: normal behaviour
UserImmutable: the user locked the desktop, can unlock it
SystemImmutable: the system locked the desktop and the user can't unlock
it

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800724
2008-04-24 18:24:11 +00:00
Aaron J. Seigo
0fe77de70f when checking for custom containments, use >= now
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800672
2008-04-24 16:16:50 +00:00
Marco Martin
2e695fa1ad API review:
removed maxSizeHint()

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800654
2008-04-24 15:47:30 +00:00
Marco Martin
06f5b7bc72 API review:
remove IsKioskImmutable() from the public api

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800623
2008-04-24 14:32:47 +00:00
Marco Martin
34d3cbcee0 API review:
removed constructors with size parameters

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800596
2008-04-24 13:38:24 +00:00
Dmitry Suzdalev
c2b28413dd /me done another round of simple stuff renaming :)
(corresponding wiki items <s>-ed out)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797824
2008-04-16 21:15:38 +00:00
Alexis Ménard
4467261c95 Merge woc branch to trunk, say good bye to old plasma, there is a lot of stuff to port
applets, 
please update to another revision to use the version that works

green flag from aaron


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796368
2008-04-13 13:23:39 +00:00
Aaron J. Seigo
a76cce7919 SVN_SILENT: more random minor edits
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796307
2008-04-13 08:24:59 +00:00
Aaron J. Seigo
e2e0745748 still use the loaded id even when we fail to load the requested containment so that applets get their configuration still
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=795776
2008-04-11 11:54:59 +00:00
Aaron J. Seigo
b35c64adc6 remove all desktopy stuff from Plasma::Corona. irrelevant to non-desktop apps
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=789233
2008-03-23 17:39:28 +00:00
Chani Armitage
3a6c262665 fix the panel size loading
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=788869
2008-03-22 18:56:59 +00:00
Aaron J. Seigo
863e0f7797 various fixes for xinerama and non-isContainment() containments (e.g. applets which are Containment subclasses)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=786175
2008-03-16 07:20:42 +00:00
Aaron J. Seigo
fcbc0fc0b7 --deadCode;
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=785276
2008-03-13 17:15:14 +00:00
Aaron J. Seigo
eb0bf064ab instead of announcing new screens and not announcing new containments, announce new containments as well as screen affinity changes and let the host app worry about what to do from there
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=784941
2008-03-12 20:41:03 +00:00
Aaron J. Seigo
ef5ce1b506 slightly less BOLD
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=783028
2008-03-06 20:23:37 +00:00
Aaron J. Seigo
ff5d238e73 tile a background
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=783023
2008-03-06 19:50:25 +00:00
Aaron J. Seigo
05a8c2c56c sprinkle with some custom containment; this code hadn't been adapted since the addition of custom
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=782434
2008-03-05 05:56:43 +00:00
Aaron J. Seigo
8c1990f49b put the applet notification of immutability in the containment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780750
2008-02-29 22:17:55 +00:00
Sebastian Sauer
241f31a32a let the applets know about the updated ImmutableConstraint too.
ok?!
CC_MAIL:aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780735
2008-02-29 21:50:16 +00:00
Dan Meltzer
7f624f85d9 Revert one large git mess
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780657
2008-02-29 17:50:57 +00:00
Dan Meltzer
64f0ce7739 Fix some problems aseigo pointed out in the code.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780655
2008-02-29 17:43:35 +00:00
Dan Meltzer
a081559257 Commit initial progress of work to port to qt4.4
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780654
2008-02-29 17:43:31 +00:00
Aaron J. Seigo
7cf7109266 load* -> load .. simpler, less verbose API
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779407
2008-02-26 01:58:55 +00:00
Aaron J. Seigo
1637053a9b let the applet restore itself
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=774338
2008-02-13 01:52:45 +00:00
Aaron J. Seigo
899202d2fb BIC Monday: slight change in the way we handle saving/loading of applets. it no longer sets the internal config name. makes importing/exporting snippets of applets easier, and it also prevents plasmoidviewer from clobbering plasma settings
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773847
2008-02-11 21:43:09 +00:00
Bill Egert
9560513680 SVN_SILENT:
- Removed unused #includes.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771050
2008-02-05 03:48:07 +00:00
Aaron J. Seigo
ee32d3c996 remove the use of 1209 explicitly now that i have Winter's Magic Formula for default debug space. makes backporting way easier; sorry for the noise of the earlier commit. suppose i should read planetkde.org more closely ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758498
2008-01-08 01:25:09 +00:00
Aaron J. Seigo
12ef6308cb use the plasma debug area (1209); i considered wrapping this in Plasma::debug() but that seems overkill ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758415
2008-01-07 20:50:31 +00:00
Aaron J. Seigo
32c6c94c76 some kiosk/immutability logic fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758174
2008-01-07 04:00:39 +00:00
Aaron J. Seigo
5614923b50 applet sets the immutability properly, corona doen't need to do this
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758165
2008-01-07 02:26:46 +00:00
Aaron J. Seigo
da34471e13 add a way for Containments to get notified that startup is indeed complete
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758066
2008-01-06 20:38:35 +00:00
Jason Stubbs
b5983aed50 Flush constraints in corona rather than containment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757860
2008-01-06 07:17:53 +00:00
Jason Stubbs
91300d6fc9 s/SIGNAL/SLOT/ typo fix
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757552
2008-01-05 10:50:12 +00:00
Jason Stubbs
1e247fa749 Flush containment constraints as soon as they are loaded so that they can be
acted upon without having to wait for the event loop. This is needed so that
the desktop doesn't temporarily appear white when a wallpaper hasn't been
set.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757548
2008-01-05 10:35:32 +00:00
Aaron J. Seigo
8d909f6f0e listen to config save requests from containments
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757442
2008-01-04 23:14:06 +00:00
Jason Stubbs
ecbe57e4ea Remove the FIXME because it's already enabled and working correctly
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756461
2008-01-03 09:45:25 +00:00
Jason Stubbs
092b7ff835 Ensure that applets are added to the panel in left to right (or top to bottom)
order as BoxLayout is not really capable of anything else. On the containment
side, ignore the specified geometry when delaying init as the placement
calculations can lead to slight mispositioning of applets even when received
in the correct order.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756435
2008-01-03 08:44:14 +00:00
Aaron J. Seigo
e3ff7be17d * do not reset the config file name when saveApplets is called with a specific file name
* don't delete applet config groups because nobody actually bothers to implement saveState (*grrrr*) but that's somewhat ok now as we destroy the group on applet destruction. this does mean that dragging applets between containments is probably broken now, but i'll fix that next
* don't recreate the config file on every saveApplets but use the existing shared config ptr whenever possible

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755635
2008-01-01 23:41:59 +00:00
Aaron J. Seigo
e12dbeb000 provide a way for applets to signal that they'd like their config saved out to disk, please.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755616
2008-01-01 22:44:56 +00:00
Aaron J. Seigo
f6bc2e893d pager after the tasks... more .. "natural" feeling.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755519
2008-01-01 19:37:05 +00:00
Jason Stubbs
9cec9edf9c The order that applets are saved is currently important for the panel. If an
applet is removed from the panel and readded elsewhere, its position in the
config file currently doesn't change. To fix this, this patch clears out the
config group before rewriting it out.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754139
2007-12-29 05:24:45 +00:00
Alexis Ménard
6987d74f32 Un-comment the transform saving wich work perfectly in my case
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=753889
2007-12-28 18:04:00 +00:00
Jason Stubbs
4aa76d859b Add the pager to the panel by default, placing it next to kickoff's button
somewhat similar to kde3

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752438
2007-12-24 12:56:28 +00:00
Aaron J. Seigo
50bd42b0e9 * initialize kioskImmutable so if loadApplets isn't used, we still get a sane value here
* remove addApplet, as it breaks the corona->containment->applet concept and leads to easily to subtle bugs (c.f. r750746)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750747
2007-12-19 23:59:59 +00:00
Aaron J. Seigo
291e3afae4 respond to xrandr changes for *all* containments on the affected screen
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749729
2007-12-17 18:26:38 +00:00
Aaron J. Seigo
059505f639 save/restore lock status
CCMAIL:tokoe@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745809
2007-12-07 05:02:54 +00:00
Aaron J. Seigo
57f73a4dc1 propagate constraints update on immutability change
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745247
2007-12-05 20:27:16 +00:00
Chani Armitage
7065e1722d SVN_SILENT:
remove a completely unused variable

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=744809
2007-12-04 16:29:37 +00:00
Aaron J. Seigo
e2249860fd differentiate between runtime and kiosk immutability
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=744675
2007-12-04 04:15:21 +00:00
Aaron J. Seigo
4babf5217d let's get rid of all our containments on the way out as well
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=743814
2007-12-02 00:54:20 +00:00
Aaron J. Seigo
4c582073df we need to init() the constraint earlier now that the ContainmentType isn't set until init()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742848
2007-11-29 01:02:33 +00:00
Aaron J. Seigo
c746f91370 check for missing screens after creating existing ones
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742837
2007-11-29 00:19:03 +00:00
Alexis Ménard
779a913e6d Add the device notifier to the taskbar
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742410
2007-11-27 23:22:07 +00:00
Aaron J. Seigo
0b2c1b481f rough in what should be screen hotplug detection, once QDesktopWidget gets it stuff together
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742393
2007-11-27 22:55:09 +00:00
Aaron J. Seigo
f63f585f1a take into consideration the appearance of new screens between plasma runs.
thanks to Frederic Marmond for testing these situations

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742145
2007-11-27 09:06:52 +00:00
Aaron J. Seigo
fa2286925c try and be a bit more careful about creating non-existent containments due to broken config files
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742122
2007-11-27 07:47:23 +00:00
Aaron J. Seigo
b8d5915b22 don't bother creating applets with no plugin=
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742108
2007-11-27 06:35:26 +00:00
Aaron J. Seigo
ed8c50e03f completely change how we save and load containments and panels.
it all happens from one file now using nested groups. this has two major effects:

 - one file to rule them all for any given corona; this makes things even nicer for use in other apps, btw.
 - the ability to easily save, send/share and restore corona configuration layouts; something i've wanted from the start


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=741158
2007-11-24 23:38:37 +00:00
Aaron J. Seigo
92ba2c1b0b move all the layouts to their own directory; much more logical and makes it easier to not miss layouts that need changes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738898
2007-11-19 22:42:56 +00:00
Aaron J. Seigo
07e9e1d3e3 stub in the code for restoring the transform; however it doesn't work as the FIXME explains. but i'm too tired to do anymore on this tonight
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738595
2007-11-19 09:21:57 +00:00
Aaron J. Seigo
b0789ebe14 here, have your containments back. type() was pretty widely used and rather important apparently ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738514
2007-11-19 02:14:18 +00:00
Aaron J. Seigo
47130fbba5 * initConstraints -> loadConstraints, since that's actually what it does
* turn off the background right away in containments to avoid getting size hints with the boundaries!

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737709
2007-11-17 03:31:25 +00:00
Andre Duffeck
174096635e Add signals that incicate an application launch. DashBoardView can
connect and hide itself then, for example.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737051
2007-11-15 11:06:33 +00:00
Aaron J. Seigo
6aa793e6a8 * fix the case of empty pluginName properly
* mark containments as containments; we need to do this here because a containment may also be used as a regular applet; only the corona knows which is when

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737028
2007-11-15 09:41:55 +00:00
Kevin Ottens
bf77e378a6 Add support for applet handles in plasma containments.
Still a couple of issues to flesh out, but that's usable already.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735845
2007-11-12 19:27:21 +00:00
Aaron J. Seigo
131fb643b6 KRUSH:
* endsWith, since it must end with; prevent possible clash with an applet with the name containment ;)
* don't add containments multiple times to the scene; no harm, but it spits out warnings to the konsole

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735125
2007-11-10 23:20:48 +00:00
Aaron J. Seigo
de2dba69a9 * listen and respond to xrandr changes
* convenience accessor to the corona for containments
* some debug to track down the context menu in the upper left corner problem

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734486
2007-11-09 00:44:35 +00:00
Aaron J. Seigo
709136813b ensure even the "null" containment gets a layout
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732190
2007-11-03 01:36:53 +00:00
Aaron J. Seigo
045ca46537 i suppose we do want the bottom most left screen ....
is it possible to have a 2x2 grid where screen at (0,0) has an x() > 0?

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731847
2007-11-02 02:31:58 +00:00
Aaron J. Seigo
f330f504d7 try to figure out what the top left screen is for the default panel
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731846
2007-11-02 02:21:13 +00:00
Aaron J. Seigo
43ea2d708f workspace -> kworkspace to mirror the library name and install path
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731519
2007-10-31 22:06:41 +00:00
Aaron J. Seigo
d71b8d5a5a some useful debug output, which helped me realize just how badly we need PanelLayout ... and perhaps just how broken BoxLayout is? hm.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=730535
2007-10-29 05:01:35 +00:00
Aaron J. Seigo
d5dc647850 allow creating a plain Containment object by passing in "null" for the plugin name. this still allows us to protect better against broken configurations where the plugin value is no longer readable while getting us back the ability to request a plain Containment on purpose.
CCMAIL:frerich@hex.athame.co.uk

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=730445
2007-10-28 20:04:38 +00:00
Aaron J. Seigo
0a73264688 * take advantage of constraint flushing
* return the _desktop_ constraint from constraintForScreen
* don't use the arg list to set the location of the panel, use the setLocation method as per usual

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729445
2007-10-26 01:08:19 +00:00
Aaron J. Seigo
576798dd52 set panels properly in setScreen. this will need to be augmented with screen edge stuff eventually as well, but for now this might work better on multiple screens.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729421
2007-10-25 23:09:02 +00:00
Aaron J. Seigo
b93fb635a2 comment out lots of debug that i don't need right now (and hopefully anymore =) so other output is easier to find
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729227
2007-10-25 11:18:04 +00:00
Aaron J. Seigo
96712a50a8 --warnings; --deprecations;
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=728720
2007-10-24 02:04:02 +00:00
Aaron J. Seigo
4f23175112 * remove a now-unused variable
* add the kickoff menu

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=727585
2007-10-21 05:17:31 +00:00
Alexander Wiedenbruch
ea4a368a42 The integration of SuperKaramba into Plasma is now done
by the SuperKaramba Plasma Applet alone that comes with SuperKaramba itself.

- Remove all previous functions to load SuperKaramba themes
- Add special code into applet browser to handle the theme loading

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724563
2007-10-12 17:30:30 +00:00
Aaron J. Seigo
599f014cff add the containment after init, inc on delayed init
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724312
2007-10-11 23:18:33 +00:00
Aaron J. Seigo
6747103c38 now that we do this in Containment, we don't need to do it here as well
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724226
2007-10-11 19:17:26 +00:00
Aaron J. Seigo
22de66fdc0 * fix order of constraints init so that geometry is done before screen affinity
* only adjust the size of the containment to the screen size if it is a DesktopContainMent

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724225
2007-10-11 19:16:01 +00:00
Chani Armitage
7d2771e8f3 move applet->setDrawStandardBackground(false) to within Containment::addApplet()
this appears to fix all the bugs with applets not showing up on the panel :)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724060
2007-10-11 08:41:10 +00:00
Aaron J. Seigo
3e90dfe02b move all the init to loadDefaultSetup if we are loading a default setup; as an extra bonus this prevents Containment::init() being called twice
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723422
2007-10-09 16:32:34 +00:00
Chani Armitage
fe0c9c5272 renamed a potentially confusing var and added some debug output
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=722749
2007-10-08 02:22:29 +00:00
Aaron J. Seigo
42b02fbfa5 let's try defaulting to the desktop containment if we end up without one (e.g. a config file mess up)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=722678
2007-10-07 21:53:47 +00:00
Andreas Pakulat
70f0a9f9be Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.

svn path=/trunk/KDE/kdelibs/; revision=721704
2007-10-05 22:21:25 +00:00
Aaron J. Seigo
0cfd584408 the Containment plugin for the default desktop will be simply called "desktop"
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=720730
2007-10-03 15:45:31 +00:00
Alex Merry
42e49a2b06 Bring back the panel. It's not perfect, but it gives basic functionality.
You may need to delete ~/.kde4/share/config/plasma-appletrc to get the panel

Reloading from the config file is a bit dodgy - waiting on a commit from aseigo
which changes background painting of applets depending on their form factor.

CCMAIL: aseigo@kde.org


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=719254
2007-09-30 18:06:08 +00:00
Alex Merry
d29805caef Make drag-n-drop applets work again.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=716003
2007-09-23 18:03:37 +00:00
Aaron J. Seigo
f0cb7e662c - add Contaiment to the build
- put applets in the center of the screen not the top left (i really wish people wouldn't commit obvious regressions like that? the code was ifdef 0'd out!)
- create a Containment per-screen (in the xinerama sense)
- new loading/saving code; not overly comfortable with it yet but it works and maintains the single-pass semantics as well as the option for us to delay calling init() if we decide to do so in the future
- misc fixes here and there

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714175
2007-09-18 21:25:15 +00:00
Aaron J. Seigo
e0f831373c SVN_SILENT: add "or later" clause. cleared with copyright holders, except for rich moore's ui loader which i need to ask him for permission for first.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712549
2007-09-14 19:06:18 +00:00
Aaron J. Seigo
0fc83b6e76 prevent crashing on exit; layout must not be deleted before the applets which are managed by it.
this is a brittleness in the layout system that really needs to be addressed (and i added a comment and some debug output about this in LayoutItem)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712164
2007-09-13 19:47:14 +00:00
Aaron J. Seigo
45fe956407 --warnings
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712135
2007-09-13 18:50:15 +00:00
Aaron J. Seigo
fc4b474f5c call init() on the applets after they are added to the scene ... do it all at once in the case of loading applets en mass
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712120
2007-09-13 17:03:13 +00:00
Robert Knight
26d4a28aad Use FreeLayout as the Corona's layout in the Planar form factor (vs. BoxLayout in the Horizontal or Vertical form factors)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712086
2007-09-13 14:59:29 +00:00
Robert Knight
a29ae57a7d This breaks the existing Plasma applet API, see the contentSize()
comments below.

* New Flow Layout.  This provides simple icon view-esque layout of items.
  Useful for icons for documents , applications or other tasks on the desktop
  for example.  Supports non-equally sized items.

  Works well when used with the LayoutAnimator class to animate insertions
  and removals.

* Re-wrote BoxLayout and removed old HBoxLayout,VBoxLayout classes which had
  a lot of code duplication.  BoxLayout class now takes a direction argument
  in the constructor, ala. QBoxLayout.  New BoxLayout class actually takes
  minimumSize() , maximumSize() of items into account.  The Qt layout code
  for box and grid layouts is surprisingly sophisticated, so the results
  from BoxLayout probably will not be as good in certain situations but
  it should do for the panel.  New BoxLayout also has support for LayoutAnimator

* Fix Plasma::HBoxLayout and Plasma::VBoxLayout to use margin() 
  rather than spacing() for the distance from the top and left
  margins respectively.

* Fix Plasma::Applet::contentSize() to return the actual content size
  rather than a size hint.  Added a new method contentSizeHint() which
  applets use to provide a hint about suitable content size.  

  Existing implementations of contentSize() in applets need to be renamed
  to contentSizeHint().  The arguments and return type are the same as before.

* Install the LayoutAnimator header so that applets can use it

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707275
2007-09-01 12:34:22 +00:00
Aaron J. Seigo
243f835253 a micropatch i had sitting on the laptop
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706359
2007-08-30 04:33:12 +00:00
Aaron J. Seigo
559647f5cc make Applet use the newer plugin loading mechanisms
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705972
2007-08-29 02:33:22 +00:00
Friedrich W. H. Kossebau
cee77d79d9 help plasmoids getting all their events
* until dragLeaveEvent gets special treatment do the default
* drop events over items should(?) only be handled by those



svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=700652
2007-08-16 05:32:54 +00:00
Leo Franchi
c89bd8f0bf add clearApplets() method to Corona, as discussed on panel-devel.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=698001
2007-08-08 17:32:32 +00:00
Aaron J. Seigo
db4a7ebe61 copyright cleanups:
* Copyright (C) -> Copyright
* add "or later" clause to files that i have the sole copyright on
* add current year (2007) to my copyrights where it was missing

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696946
2007-08-06 11:20:02 +00:00
Aaron J. Seigo
61b1dccc3d don't load from plasma-appletsrc by default, provide a convenience
method for that however (e.g. mirror the saveApplets methods)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696806
2007-08-05 22:44:07 +00:00
Aaron J. Seigo
05d103abfa * position applets due to drops properly
* if we get a matching mimetype, create that applet (not that applet + a
  button too ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696783
2007-08-05 22:04:26 +00:00
Aaron J. Seigo
b41bd5f532 * loading and saving of applets; allows one to define which config file,
which keeps us on the path to being able to snapshot and share layouts
* extend addApplet with optional params for applet id and starting geometry

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696631
2007-08-05 13:03:54 +00:00
Aaron J. Seigo
21c804908e * add an updateConstraints to be used to do things globally that need to
prefix or suffix constraintsUpdated, e.g. manage the shadow
* add experimental support for dynamic shadow, based on a patch by
  zrusin; still issues to be addressed but it gives us the start of a
  layer-based means to do effects

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696561
2007-08-05 08:41:55 +00:00
Laurent Montel
e6988faf49 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695877
2007-08-03 06:59:24 +00:00
Robert Knight
8c9f82bd4a Reduce debugging noise when performing drag-and-drop.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695805
2007-08-03 00:13:33 +00:00
Aaron J. Seigo
ac918ad4bf kdebug fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695587
2007-08-02 13:12:59 +00:00
Robert Knight
398d39948e Call base implementations of dragMoveEvent() and dropEvent() so that individual QGraphicsItems within the scene can use drag and drop.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695014
2007-08-01 07:09:27 +00:00
Riccardo Iaconelli
5aaccf0489 The applets now can associate with (one or more) certain mimetypes, and be called when that mime is dragged onto the desktop. Very rudimental for the moment, we should pass the name of the file to the applet. Added some copyrights I missed in the past.
Aaron: your turn now to discover the 'Mimetypes' key problem.
CCMAIL: aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694676
2007-07-31 10:52:05 +00:00
Alex Merry
b2058da41f fix the drag-and-drop positioning
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692602
2007-07-25 23:58:03 +00:00
Aaron J. Seigo
0491b8b112 immutable -> isImmutable.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691135
2007-07-23 00:24:36 +00:00