Commit Graph

134 Commits

Author SHA1 Message Date
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
Chani Armitage
1d8eb91e89 keyboard shortcuts.
the defaults are kinda lame right now, but I'm planning to do a lot more with this.
applet focus and the shorcut hooks work properly, however.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=808610
2008-05-17 03:39:24 +00:00
Chani Armitage
61ae3df3fc *Applet::destroy() now handles everything needed for removing an applet prettily and safely.
*removed Containment::Private::destroyApplet in favour of just calling Applet::destroy() directly.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805666
2008-05-09 04:43:21 +00:00
Marco Martin
4c1e5b8e9d New class called PanelController:
is a new QWidget shown when the user clicks on the panel toolbox, it's a
thing that will eventually replace the panel configuration dialog.
at the moment it has an add aplet and remove panel buttons.
it is possible to resize the panel by dragging the upper edge of the
panel controller and in the future will be provided a way to resize the
panel width and changing the position.
at the moment there is the known problem that the resize handle doesn't
work for vertical panel for now.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802932
2008-05-01 09:58:36 +00:00
Aaron J. Seigo
2dd5891029 with some intriguing grotesqueness internal to the library, we can simplify the API and remove location/formFactor from Containment and just use the ones in Applet; externally this is probably rather safer
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802277
2008-04-29 00:49:10 +00:00
Aaron J. Seigo
69524609a3 remove createLayout from Containment. now each containment will need to implement its own layouting. this is not so big a deal since FreeLayout is no longer needed to make applets behave properly. now panels can do whatever the heck they want.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802255
2008-04-28 23:00:08 +00:00
Pino Toscano
77b9bc893c extra ';'
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801227
2008-04-26 00:12:31 +00:00
Aaron J. Seigo
c5e0d52ac3 toggleDesktopImmutability -> pimpl
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801134
2008-04-25 19:15:50 +00:00
Aaron J. Seigo
4d6ab4bb1a * zoomRequested
* zoomIn/Out -> pimpl
* Plasma::ZoomDirection enumeration

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801132
2008-04-25 19:08:49 +00:00
Aaron J. Seigo
f50fad8cb9 * add setToolBoxOpen
* show/hide -> open/close

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801128
2008-04-25 18:49:27 +00:00
Aaron J. Seigo
a915bf7e6b * move containmentConstraintsUpdated to the pimpl
* move Containment::Private to it's own header (eventually subclass Applet::private?)
* have applet use Containment::Private methods to hide gory internal details ;)
* Toolbox -> ToolBox

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801127
2008-04-25 18:44:09 +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
Laurent Montel
d65dbf138d Make dashboard happy
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800904
2008-04-25 06:59:55 +00:00
Aaron J. Seigo
3e518b755a more private slots
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800877
2008-04-25 03:27:30 +00:00
Aaron J. Seigo
72db181c7c Phase -> Animator
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800875
2008-04-25 03:23:31 +00:00
Aaron J. Seigo
6e80fe4354 Phase becomes Animator
Animator becomes AnimationDriver

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800870
2008-04-25 03:11:59 +00:00
Aaron J. Seigo
6bff9ea245 * showAddWidgets() -> showAddWidgetsInterface(QPointF)
* private slots & methods ->pimpl & Q_PRIVATE_SLOTS

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800867
2008-04-25 02:53:35 +00:00
Aaron J. Seigo
5a3d06c565 yes, this is meant to be protected at this point.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800864
2008-04-25 02:19:17 +00:00
Sebastian Sauer
cde0b918b3 Made setContainmentType public again to be able to deal with null-containments and to compile kdeutils again.
The change was introduced with r800682 and juding from the commit-log it was more something like an accident ;) If not, then it may an idea to also remove/rework the logic that was introduced with http://lists.kde.org/?l=kde-panel-devel&m=120474698213048&w=4 which allows null-containments.

p.s. if the monday-rule is not valid anymore, please check at least that things still compile or ppl may lose hours in the middle of the night to just be able to continue work on something else. Thx :)


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800860
2008-04-25 01:47:53 +00:00
Davide Bettio
aa5f747305 API REVIEW: Phase -> AnimatorDriver
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800840
2008-04-24 23:21:17 +00:00
Aaron J. Seigo
04ad90006a don't try and position new applets within layouts ourselves, that's too Containment implementation specific. instead send the pos of the applet with the appletAdded signal and let containment subclasses figure it out themselves.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800835
2008-04-24 23:07:21 +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
Aaron J. Seigo
ced9f04d55 known...() -> list...()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800810
2008-04-24 21:33:16 +00:00
Aaron J. Seigo
cb896a4ed2 setIsContainment wasn't virtual anyways, so don't reimp in containment; do it all in applet
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800682
2008-04-24 16:29:23 +00:00
Aaron J. Seigo
cb6af63eb7 make CustomContainment a limit
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800671
2008-04-24 16:15:30 +00:00
Aaron J. Seigo
98fd9c423d --redundantDeclarations;
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800667
2008-04-24 16:13:50 +00:00
Aaron J. Seigo
8e8d6ea060 remove desktop from the options; that can be discovered simply by having the View, and it's a desktopy concept anyways so doesn't belong in the lib
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800662
2008-04-24 16:01:09 +00:00
Aaron J. Seigo
4381fdfafa they beginning of keyboard focus possibilities; hardly works at the moment, but this is the groundwork
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797091
2008-04-14 21:50:41 +00:00
Marco Martin
4e7e2cb345 bring back the toolbox reset after setIscontainment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797081
2008-04-14 21:26:40 +00:00
Alexis Ménard
7f9b11ef64 fix compil and add my name in licence file
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796761
2008-04-14 09:36:55 +00:00
Chani Armitage
2036ed1670 it helps if I commit *both* halves of the "add activity" button
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796754
2008-04-14 09:23:35 +00:00
Alexis Ménard
aa3c3eccce no more old layouts in libplasma, new stuff on API can start
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796624
2008-04-13 22:01:18 +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
f8cdbefe22 we need to set up toolboxes on both steting of containment type *and* when we set it as a containment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796303
2008-04-13 08:18:46 +00:00
Aaron J. Seigo
0cee130c4e add the View to the Containment::StyleOption, and some apidox for the members of the option
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=794325
2008-04-07 03:27:10 +00:00
Andre Duffeck
5bfb429f5e some apidox fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=791056
2008-03-28 07:36:36 +00:00
Chani Armitage
124f1da013 activity (desktop containment) switching
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=786809
2008-03-17 23:49:01 +00:00
Aaron J. Seigo
6b53321428 * new containment layout strategy for non-PanelContainments: lay them out in a lose gridish manner; not strictly a grid, and not strictly a packing-for-efficiency system, though it should be ok in that respect.
* allow containments to define what the layout should be
* a few less assumptions about panels and other containment types in the layout seting in addApplet

these are steps towards:
* more friendly for arbitray containments on the desktop
* multiple containments
* ignoring braindamage that may eminate from the direction of x.org regarding screen geometries

we can now add and remove containments on the fly as well as lay them out nicely. next: UI! and that's one more 4.1 task DONE.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=785673
2008-03-14 17:05:37 +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
e702ebca9a new panel containment positioning strategy: stacking horiz and non-horiz panels together vertically and horizontally, respectively
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=784842
2008-03-12 15:23:33 +00:00
Aaron J. Seigo
8c4cfbca60 keep the toolbox in the workArea (e.g. out from underneath panels and other strut reservers)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=782438
2008-03-05 07:08:32 +00:00
Chani Armitage
34ae05a9b2 move toggleDesktopImmutability() from defaultdesktop to containment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=781623
2008-03-03 11:44:40 +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
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
2b68bb49ee This lets the View have a desktop set to it and when drawing a Containment we pass in the effective desktop # being currently painted. The Containment is free to ignore this information, or it can try and cast the passed in options to a Containment::StyleOption to retrieve this information. This should be used for any per-desktop painting that happens (e.g. separate background per desktop) and opens the way to having View-per-Desktop for better composite manager support (think: desktop grid or cube where more than one desktop is simultaneously visible)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=778239
2008-02-22 23:41:44 +00:00
Chani Armitage
be64c5939d enable dragging from desktop to panel
note: there's no visual feedback before you release the mouse button, and there's no way to drag back to the desktop.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770333
2008-02-03 13:09:21 +00:00
Stephan Binner
404b0b74d1 open toolbox when the dashboard view starts (to show the
user a way how to "Hide Dashboard" again)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764361
2008-01-21 15:10:19 +00:00
Aaron J. Seigo
910ef16b79 my grammar capabilities work inversely to how many high in the air and how hung over i am.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764150
2008-01-21 07:06:51 +00:00
Riccardo Iaconelli
baf6fb0b13 SVN_SILENT
Fix spelling error

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=763279
2008-01-19 07:14:42 +00:00
Aaron J. Seigo
840888d9d5 clarity in apidox
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=762848
2008-01-18 00:08:50 +00:00
Craig Duquette
590e039859 Changes the toolbox tools from buttons to icons.
Changes the toolbox icon from 'configure' to 'plasma'
Changed the toolbox gradient to something "prettier"

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755534
2008-01-01 19:57:40 +00:00
Jason Stubbs
1fe1bbb5c0 Applets may expect that init() has been run when constraintsUpdated is called
so ensure that it has been run before updating constraints.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754350
2007-12-29 16:26:36 +00:00
Jason Stubbs
fa69a979c9 Try to place unpositioned applets in areas that aren't occupied using a very
simple placement policy.

BUG: 154122

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751607
2007-12-22 12:32:55 +00:00
Aaron J. Seigo
e8e3b503e2 allow querying if a tool is enabled or not
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750286
2007-12-19 02:41:45 +00:00
Aaron J. Seigo
bdcec3bee6 allow outsiders (e.g. subclasses) to enable/disable tools
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=748312
2007-12-14 06:34:26 +00:00
Aaron J. Seigo
616675be80 appletRemoved signal to create symetry with appletAdded. had two people ask about this already.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=747104
2007-12-11 02:59:02 +00:00
Aaron J. Seigo
198544318a * optional names for tools
* respond to immutability constraint updates, in particular hide the add widgets toolbox button

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745246
2007-12-05 20:26:23 +00:00
Aaron J. Seigo
eb62d53f8f handle the setting of the default type a bit differently; delay it until init and only if the subclass hasn't set something on us
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742839
2007-11-29 00:20:37 +00:00
Aaron J. Seigo
22893bd077 change of heart after trying a few more things out: make containment type something that can be externally set.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742774
2007-11-28 21:46:17 +00:00
Jeremy Paul Whiting
44a7a86a6c enable moving applets from one desktop containment to another, still a bit buggy, but functional
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742001
2007-11-26 21:57:50 +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
9c52d8f067 actually make plasmoid removal work and harden the applet handle against the applet being removed from under it
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=739867
2007-11-22 05:11:06 +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
aad6b2a52b interesting; with that const fix i discovered this clashed with QGrahpicsItem::type() .. doh!
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738507
2007-11-19 01:35:10 +00:00
Aaron J. Seigo
b57b27550a a bit of const correctness
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738506
2007-11-19 01:26:50 +00:00
Aaron J. Seigo
4b8f4092a0 * @internal: introduce a containmentConstraintsUpdated so that we can manage some containment specific things
* introduce CustomContainment types which will be more 'hands off'

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738503
2007-11-19 01:19:58 +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
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
2089854d5e KRUSH: don't do our own useless sizeHint
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735126
2007-11-10 23:21:26 +00:00
Aaron J. Seigo
bcf898ca7b appletAdded signal
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734727
2007-11-09 18:47:35 +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
99f67622e2 the last of the full screen repaints are gone, gone gone.
TT is aware of the bugs i'm working around, so hopefully we can get rid of this code someday, but for now ... a much more performant and smoother plasma.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=733167
2007-11-05 18:40:45 +00:00
Aaron J. Seigo
cb956351ed don't paint anything from the base "null" containment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732493
2007-11-04 01:17:42 +00:00
Aaron J. Seigo
db095df33e animate items being removed. whee. the only problem would be if the item is being removed but plasma is quit before the anim finishes... or if some top-level applet calls disappear on itself (though why they'd do that i don't?)
let's see if that ever really matters. if it does, then we can simply keep a list of applets being removed around. but let's play fast 'n loose for now.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=728722
2007-10-24 02:10:10 +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
e642050a1c * introduce a type() to containments so we can tell the difference between panels, desktops, etc more reliably
* translate panels to negative coordinates. this will allowus to make hiding panels that actually ... work =)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723423
2007-10-09 16:33:52 +00:00
Aaron J. Seigo
bd1f639f95 remove the desktop specific functionality, to be moved to a plugin that
ships with the plasma binary. should make the amarok people happy ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=720731
2007-10-03 15:46:40 +00:00
Ivan Čukić
8a811e46f7 * applet browser's add button works
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717892
2007-09-27 17:50:31 +00:00
Alex Merry
67322b0367 Revert the applet browser import to fix the build
CCMAIL: ivan.cukic+kde@gmail.com


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717225
2007-09-26 10:38:26 +00:00
Ivan Čukić
49b3e4b13b Import of the Plasma Applet browser into the libplasma
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717167
2007-09-26 07:44:06 +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
607d79dda6 lock screen and log out ... this makes things slightly more bearable for
me on a day to day basis ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714841
2007-09-20 18:23:28 +00:00
Aaron J. Seigo
bf23b56b8a Containment: an Applet grouping class, also provides for background painting via plugings (well, Applets actually)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714170
2007-09-18 21:16:17 +00:00