Commit Graph

271 Commits

Author SHA1 Message Date
Aaron J. Seigo
207968b217 resetConfigurationObject()->pimpl
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802892
2008-05-01 03:24:20 +00:00
Aaron J. Seigo
43e6bac986 Plasma::AspectRatioMode, just like Qt::AspectRatioMode. the setter/getter in Applet even used Mode.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802866
2008-04-30 22:13:27 +00:00
Davide Bettio
0916889c58 API REVIEW:
* watchForMouseMove() -> registerAsDragHandle() / unregisterDragHandle()
* Added isRegisteredAsDragHandle() (I'm not really sure If it's a good idea to add this method).

ping me if you find better names for registerAsDragHandle() / unregisterDragHandle().

CCMAIL: panel-devel@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802774
2008-04-30 15:04:49 +00:00
Marco Martin
43066e49ce API review:
remainSquare(), aspectRatioMode() and their setters are merged in
aspectRatioMode() + setAspectRatioMode(Plasma::AspectRatio)
Plasma::AspectRatio has IgnoreAspectRatio, KeepAspectRatio and Square

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802561
2008-04-29 20:31:18 +00:00
Aaron J. Seigo
a75e4604c0 allow applet script to dig around with Applet
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802291
2008-04-29 03:05:31 +00:00
Aaron J. Seigo
9234ac63e9 this method should also be protected
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802289
2008-04-29 02:35:56 +00:00
Aaron J. Seigo
daf3d7a4a2 API REVIEW: needsConfiguring() => configurationRequired
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802288
2008-04-29 02:34:21 +00:00
Aaron J. Seigo
0402391d17 we don't need our own shape() here anymore; it really hardly worked at the best of times and was we move to window decos it'll become irrelevant anyhow
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802287
2008-04-29 02:30:23 +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
Davide Bettio
b37d43eafd API REVIEW: showConfigurationInterface() -> nonvirtual
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802232
2008-04-28 21:23:27 +00:00
Davide Bettio
78ef3e466c API REVIEW: createConfigurationInterface() -> virtual protected, not slot
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802169
2008-04-28 18:32:34 +00:00
Marco Martin
f06d25a00c API reviews:
globalName(), instanceName()->pimpl

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802135
2008-04-28 16:22:01 +00:00
Marco Martin
9bee311b96 API reviews:
ThemeChanged()->Q_PRIVATE_SLOT

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802130
2008-04-28 15:55:13 +00:00
Marco Martin
48be92bdab API reviews:
checkImmutability()->Q_PRIVATE_SLOT
added a q-pointer into Applet needed for this and themeChanged the other
Q_PRIVATE_SLOT that will be added

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802124
2008-04-28 15:41:18 +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
Davide Bettio
1474ed7cbc API REVIEW: color() --> die
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801697
2008-04-27 13:37:53 +00:00
Davide Bettio
ff16201431 API REVIEW: constraintsUpdated() -> constraintsEvent()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801656
2008-04-27 11:04:43 +00:00
Davide Bettio
5bc429daa9 API REVIEW: topLeft() -> dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801647
2008-04-27 10:26:42 +00:00
Davide Bettio
41d2aa43e4 watchForFocus() dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801641
2008-04-27 09:53:49 +00:00
Davide Bettio
624f8d0fb3 API REVIEW: needsFocus()->dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801640
2008-04-27 09:29:25 +00:00
Davide Bettio
55881aa054 API REVIEW: requestFocus() dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801637
2008-04-27 09:18:44 +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
Marco Martin
62aa54b4e7 oops reverting an incomplete api change for now :(
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801420
2008-04-26 15:33:10 +00:00
Marco Martin
26732125cc removed unused Private::applyBackgroundHints
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801416
2008-04-26 15:27:17 +00:00
Marco Martin
cda992682a API reviews:
constructors protected

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801349
2008-04-26 12:06:18 +00:00
Marco Martin
0c283924be API reviews:
killed drawStandardBackground() and shadowShown()
now the two properties are merged in backgroundHints() and
setBackgroundHints() using the combination of BackgroundHints flags

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801282
2008-04-26 09:13:57 +00:00
Alexis Ménard
13f4fae5f3 +contentSizeHint -> died
+contextActions -> contextualActions 

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801150
2008-04-25 19:55:24 +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
4bb368919d SILENT: Tiny style fix
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800767
2008-04-24 20:14:47 +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
Marco Martin
6a02406401 API review:
isKioskImmutable is protected now.
also added a TODO an why it can't be removed for now

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800630
2008-04-24 14:53:41 +00:00
Marco Martin
710be86ffd pi changes:
raise() is now a slot, a new lower() slot was added

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800280
2008-04-23 20:27:44 +00:00
Marco Martin
1e77632048 api changes:
init() and setFailedToLaunch are now protected
containment and corona are friends of applet

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=798585
2008-04-18 16:05:20 +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
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
Aaron J. Seigo
17bba1cffc SVN_SILENT: tabs are not cool. tell your friends.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797074
2008-04-14 21:07:25 +00:00
Alexis Ménard
d5dd4e16ac Ammmaaziiing grace!!
Widget class is dead..

still in the repo for tooltip code

CCMAIL : aseigo@kde.org


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796973
2008-04-14 16:02:23 +00:00
Alexis Ménard
d91b8a94d4 remove useless function
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796939
2008-04-14 15:15:26 +00:00
Alexis Ménard
1b7a9a14e0 +bye bye paintwidget method
+remove tooltip that will be replaced by the tooltip manager
+port some used stuff in applet class

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796924
2008-04-14 14:50:02 +00:00
Alexis Ménard
1b15d951a9 API clean : bye bye opacity, wich is bas implemented in all cases
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796900
2008-04-14 14:09:13 +00:00
Alexis Ménard
548d250d59 say hello again to the panel, and fix some performance issue
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796806
2008-04-14 10:48:32 +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
f5b6d38cac this needs to be virtual as well
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796306
2008-04-13 08:24:28 +00:00
Andre Duffeck
ef0c0375c3 Add an opacity attribute. GUI portion coming later
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=793581
2008-04-04 13:16:55 +00:00
Aaron J. Seigo
2558d5c305 introduce createConfigurationInterface, it's now the prefered mechanism. showConfigurationInterface remains for the convenience of Applet itself, and remains virtual so as not to break existing applets.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=792927
2008-04-02 15:37:17 +00:00
Aaron J. Seigo
1833641e3b make setNeedsConfiguring behave nicely
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=792371
2008-03-31 22:06:35 +00:00
Andre Duffeck
57479a0a11 apidox fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=791058
2008-03-28 07:42:25 +00:00
Laurent Montel
9d5aa89497 Fix typo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=787915
2008-03-20 07:47:05 +00:00
Sebastian Kügler
9d6ce15f54 typos--
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=781856
2008-03-03 19:27:52 +00:00
Pino Toscano
896bae2516 - public Qt includes as QModule/QFoo
- public KDE CamcelCase includes as KDE/KFoo

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=781163
2008-03-02 02:18:10 +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
bed3c1d927 * share the package structures by using a single shared ptr
* use the script's contentSizeHint if we are a script

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779417
2008-02-26 04:08:51 +00:00
Aaron J. Seigo
2f78de3142 * make it possible for applets to define what package structure they use
* update to api tweakages

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779404
2008-02-26 01:48:52 +00:00
Marco Martin
b1a362b67f transplant of sceneEventFilter and mouseMoveEvent from the icon applet to the applet class, this will cause a lot less duplication.
if you want to make a widget draggable around just call the new function
  void watchForMouseMove(QGraphicsItem * watched, bool watch)

also, some style fixes.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=777705
2008-02-21 10:26:40 +00:00
Aaron J. Seigo
cf89bd58d1 make it possible to get at the package structures using Theme::packageStructure() and Applet::packageStructure() without having to export the package definitions from the library itself.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=775272
2008-02-15 10:35:00 +00:00
Aaron J. Seigo
1f5e98edec * allow restoring from applet itself (something i've wanted to to do for a while, have it all in corona isn't a good idea)
* restore lock status
* save/restore zorder
* allow "raising" and applet (increase zorder above all others)
* some layout fixes for next monday's big layout fix patch

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=774337
2008-02-13 01:52:02 +00:00
Andre Duffeck
70b12916b2 react to changes of Plasma::Theme
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773942
2008-02-12 07:33:07 +00:00
Aaron J. Seigo
a438b53373 die, setSize, die, and all the problems you represent. silly duplicated, not-like-qwidget API anyways. ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773505
2008-02-11 08:24:09 +00:00
Aaron J. Seigo
e83f329de0 the proper fix for stupid compilers *sigh* setSize(int, int) isn't virtual in Widget, but that doesn't matter in this case at all.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773493
2008-02-11 07:56:53 +00:00
Aaron J. Seigo
eed0410c56 * make setSize virtual as well since it sets d->size internally, so Applet needs to intercept that call
* remove some dead code in widgets.cpp

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773475
2008-02-11 06:11:13 +00:00
Aaron J. Seigo
f2674c9a51 * setRemainSquare(bool) to allow applets to say "yes, keep my width == height, thank you"
* use AppletScript

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=765975
2008-01-25 00:08:25 +00:00
Aaron J. Seigo
467eadedda api fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=762849
2008-01-18 00:09:33 +00:00
Aaron J. Seigo
16dab9574f * move the header bits around a bit for a more logical ordering (e.g. all static methods together, all reimp'd methods that are really imp details together at the bottom, etc)
* implement a generic shape() method. this is experimental, so will be interesting to see how it goes. it does show we need a good shape hint in the applet background svg =)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760187
2008-01-12 06:02:29 +00:00
Aaron J. Seigo
311f2380ce per applet aspect ratio guidance with setAspectRatioMode
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=759497
2008-01-10 19:02:05 +00:00
Aaron J. Seigo
81909190eb after porting applets, it occurred to me that this naming is nicer.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755617
2008-01-01 22:54:33 +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
Richard J. Moore
94170b9e65 Fix breakage
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751220
2007-12-21 12:34:40 +00:00
Riccardo Iaconelli
e4665a938a Implement Applet::shouldConserveResources(), a method to help plasmoid developers to know whether they should conserve resources.
Peer reviewed by Chani and Richmoore.

CCMAIL:aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751216
2007-12-21 12:27:29 +00:00
Aaron J. Seigo
65af194560 convenience methods for content size access
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750257
2007-12-19 00:45:29 +00:00
Jason Stubbs
1dc5cc58fc Move the "call the parent's contextMenuEvent()" hack from Applet into
Widget so that applets with embedded widgets also get the containment's
context menu.

BUG: 152698

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749078
2007-12-16 13:21:16 +00:00
Sebastian Kügler
792274b1da SVN_SILENT --typo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745297
2007-12-05 22:31:23 +00:00
Aaron J. Seigo
5c257fce5a * update constraints on immutability changes
* introduce QRectF contentRect() const method so applets can easily get the content rect

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745244
2007-12-05 20:24:40 +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 Eisenberg
f7a0308982 Added the ability to lock desktop widgets and assigned icons to all the desktop context menu actions.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=744659
2007-12-04 02:17:21 +00:00
Aaron J. Seigo
5b65d5c54c * load packages properly
* handle scriptegines properly
* add a setContentSize so applets can use that and not get screwed by the borders

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=743089
2007-11-29 20:38:13 +00:00
Aaron J. Seigo
f73b97780a min/max setters and getters for content size
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742754
2007-11-28 21:08:12 +00:00
Aaron J. Seigo
165a2ce9f1 * cache the config object, which means:
* we have to be able to reset it when, e.g. removing the applet or moving it to another, so introduce resetConfigurationObject for internal use
* make it possible to get the containment for an applet by outsiders (e.g. other containments)
* don't access the config object until after we've been assigned to a scene

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742098
2007-11-27 06:01:06 +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
71b89ebb5f don't show categories with no visible items in them
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738621
2007-11-19 09:46:52 +00:00
Aaron J. Seigo
bfcc1e31e6 * get rid of the paintHover, that's deprecated by kevin's hover stuff in the coronal world
* don't paint the interface of containments being shown on views that don't want a background

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737026
2007-11-15 09:39:46 +00:00
Aaron J. Seigo
cc34fc3365 signal for geometry updates. used right now for xrandr updates, but may also be useful for layouts and such things ...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734485
2007-11-09 00:42:18 +00:00
Aaron J. Seigo
25fdb2adf5 drawing the background by default requires us setting that up on applet start for the case of odd applets that don't ever change their size or do any other geometry upsetting things. plasmoidviewer weather was the testcase for this one.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734138
2007-11-08 07:53:56 +00:00
Aaron J. Seigo
da0e4e39e2 * performance: allow delayed setting of constraints so we get one call per set[Screen|Position..etc] set of calls
* save the geometry properly by just using geometry() now that we have that =)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729442
2007-10-26 01:04:56 +00:00
Frerich Raabe
6180c8c433 - Fixed a typo
- showConfigurationInterface needs to be (as the API documentation points
  out correctly) a slot, otherwise it won't work. So put it into the slots
  section.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=727149
2007-10-19 21:43:27 +00:00
Aaron J. Seigo
6cd4da671d provide a default param for updateConstraints so existing code has fewer changes to be done
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=719839
2007-10-01 23:30:47 +00:00
Aaron J. Seigo
b51cc728fd actually pass around what constraints are being updated. this allows preventing of unecessary processing (for one) and also can avoid recursion where someone calls a constraints setter from inside constraintsUpdated.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=719831
2007-10-01 23:24:38 +00:00
Petri Damstén
79a32822ac - Override setGeometry so we can give correct rect to layout
- Delete white space from line ends

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=718078
2007-09-28 05:46:37 +00:00
Aaron J. Seigo
9fa4ea3ec3 - remove deprecated createInstance call
- as Containment is going to remain an Applet, we can put the context menu hack in Applet instead which is nicer on the widgets anyways. also make it a bit less of a hack...

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717489
2007-09-26 23:01:57 +00:00
Aaron J. Seigo
2c63daad12 - add a way to get at the Containment
- fix some apidox
- add a method for state saving, but for the main applet class info as well as subclasses (plasmoids, e.g.)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714174
2007-09-18 21:22:45 +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
7d3327c884 add an init() method that will be called only after the applet is completely set up for those applets that care; also allows us to do delayed init in the case of expensive set up
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712119
2007-09-13 17:00:57 +00:00
Aaron J. Seigo
b42db6a2ea should be using paintWidget, not paint
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=710733
2007-09-10 18:50:36 +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
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
Robert Knight
93070ce1fd Implement the same sizeHint() logic in Plasma::Widget as QWidget. It returns the layout's sizeHint() if there is a layout or an invalid QSizeF otherwise. Implement sizeHint() in Plasma::Applet. It returns the same as contentSize() if there is no border or the content size hint plus the border size otherwise. Many of the applets need changes for setGeometry() to work properly on them. Fix various warnings.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701192
2007-08-17 15:05:01 +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
d10dba893e * Misc => Miscellaneous
* provide acccess to the applet id and plugin name

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696629
2007-08-05 13:01:09 +00:00
Richard J. Moore
8d7e06a09d - Steps towards dataengine access from scripts
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696620
2007-08-05 12:39:13 +00:00
Aaron J. Seigo
0eafb46fc4 * save applet config on exit
* introduce Applet::destroy which will perform cleanups, like deleting
  config files, etc..

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696586
2007-08-05 09:39:32 +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
Matt Broadstone
be3c212374 Make all plasma/widgets inherit Plasma::Widget now. Holding off on committing change for icon as I have a massive patch for the new text drawing
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696028
2007-08-03 16:00:10 +00:00
Aaron J. Seigo
8fce372a7c allow applets to register that they need to be configured before use
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696023
2007-08-03 15:23:56 +00:00
Riccardo Iaconelli
075c1315ec Const QStrings
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694679
2007-07-31 10:56:05 +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
Thomas Georgiou
999cd6ed57 Cache standard applet background.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694542
2007-07-31 00:21:08 +00:00
Sebastian Sauer
d66a988732 added the QList<QAction*> Applet::contextActions() method. thanks aaron :)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694540
2007-07-31 00:20:19 +00:00
Aaron J. Seigo
8d5d8daeb3 give the configxml object our config object; probably works better that way ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694408
2007-07-30 16:19:07 +00:00
Aaron J. Seigo
947ed386ab * remove the lock/move stuff as it ignores kiosk and is already covered nicely by isImmutable and setImmutable
* on the base implementation of contentSize, check to see if we have a layout and if so use that to determine the size we ought to be

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693769
2007-07-28 23:41:40 +00:00
Aaron J. Seigo
cedc2934c4 make it clear what services Applet provides in the apidox
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693718
2007-07-28 19:59:22 +00:00
Laurent Montel
e94eba8882 Some applet mustn't be move (for example desktop applets)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693187
2007-07-27 11:42:43 +00:00
Aaron Eisenberg
8d4d0e0631 Applets in group mode change color based on category (Currently only date and time category)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693065
2007-07-26 22:58:30 +00:00
Laurent Montel
1553ae4492 Allow to lock applet position
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693020
2007-07-26 20:22:04 +00:00
Alex Merry
b7187ab807 Make the local co-ordinate system clearer.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692598
2007-07-25 23:48:15 +00:00
Alex Merry
f49f45411b More apidox
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692591
2007-07-25 23:00:25 +00:00
Alex Merry
eddb8f294f Change how boundingRect() is calculated and backgrounds are drawn.
Instead of implementing boundingRect(), applets should now implement
contentSize(), to tell Plasma::Applet how much space they need.

I wrote a long commit log, then realised it belonged in the apidocs.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692519
2007-07-25 19:15:23 +00:00
Aaron J. Seigo
2c251118fd * new background drawing code; 9 segments + center, documented at http://techbase.kde.org/Projects/Plasma/Theme#Current_Theme_Elements
* introduce contentsRect() and pass that into paintInterface instead of a widget

i missed monday so much i wanted to break SOMETHING, so i broke all the plasma widgets. i rock! ;P

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692002
2007-07-24 21:04:31 +00:00
Aaron J. Seigo
39422a9a6b first draft of the ScriptEngine plugin
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691244
2007-07-23 07:42:29 +00:00
Aaron J. Seigo
b8a9f72008 add an icon() accessor
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691201
2007-07-23 06:12:38 +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
Matthias Kretz
1fd776be2e port to value based KPluginInfo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691115
2007-07-22 23:10:53 +00:00
Aaron J. Seigo
dd7b8b306b ebn fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691079
2007-07-22 22:01:10 +00:00
Richard J. Moore
23c1f996d2 First steps towards scriptability
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690375
2007-07-20 21:00:11 +00:00
Aaron J. Seigo
51a0162fae started on docu fixes from ebn until i realized that the line numbers are all messed up in the apidox tests and so moved on
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690174
2007-07-20 08:12:20 +00:00
Aaron J. Seigo
af043ca588 too tired to do much of anything else, i figured i could fix some ebn issues
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690173
2007-07-20 08:06:27 +00:00
Aaron J. Seigo
8c8504964e * disable copying of Applet due to dptr-but-no-copy-ctor
* provide an accessor to the Package object.
* some const corrections

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690105
2007-07-20 03:34:20 +00:00
Aaron J. Seigo
c7b13e477b don't crash when we are asked to create something bogus
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689221
2007-07-17 22:26:18 +00:00
Aaron J. Seigo
f6a4e9612d * X-PlasmoidCategory => X-KDE-PluginInfo-Category
* allow filtering applets by category and parent app
* allow filtering categories by parent app

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689200
2007-07-17 21:30:27 +00:00
Aaron J. Seigo
94a57ed051 * appletConfig -> config
* globalAppletConfig -> globalConfig
* add a convenience and safety method for accessing groups in the applet config, which namespaces the groups appropriately

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=687046
2007-07-12 19:14:23 +00:00
Aaron J. Seigo
8ee8f97aa1 * gaurd against an args with less than 2 items in it being passed in
* add a setFailedToLaunch method to applet to allow a generic way to set such status

it's pretty fugly looking at this point, but it works; i'll work with the artists to make it prettier later.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=687027
2007-07-12 18:34:53 +00:00
Alex Merry
71c21577d3 Add categories to plasmoids. The actual category names are subject
to change at some point - a definitive list on techbase will probably
be assembled.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=686945
2007-07-12 13:24:35 +00:00
Alex Merry
2b4b22883d Make the APIDOX not lie, and change the logic to make sense
(loadDataEngine will always return a data engine - it just
might not be valid).

I changed it this way, rather than changing the test to
engine->isValid(), since all the plasmoids written so far
blindly assume a valid pointer is returned.  (In fact, they
all blindly assume the correct data engine is returned, but
at least this way they shouldn't crash plasma :-P)


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=686301
2007-07-11 01:24:43 +00:00
Alex Merry
3d4b57b118 Clean up the APIDOX a little: spelling mistakes, seperating
the "brief description" from the "main description",
"Reimplemented from QGraphicsView" should be a comment, not
an APIDOX (so Doxygen will copy the original APIDOX down),
added docs for the export macro.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=684556
2007-07-06 22:20:57 +00:00
Aaron J. Seigo
5496acb8e9 configureDialog -> showConfigurationInterface
more explicit as to what it does and falls in line with
setHasConfigurationInterface

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=682296
2007-07-02 10:58:03 +00:00
Aaron J. Seigo
8e6578bf18 allow applets to note whether or not they provide a configure interface
and pay attention to that when creating the context menu

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=682287
2007-07-02 10:47:34 +00:00
Aaron J. Seigo
fbbab1b9b6 time to break everyone's plasmoids.
- add setDrawStandardBackground(bool) to get our common background
- make paint private and introduce paintInterface (with the same params) instead

this should make standardizing looks a bit easier and give us a way to paint the on-hover applet interface. we may need to do the same with boundingRect?

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679036
2007-06-22 20:28:42 +00:00
Aaron J. Seigo
c2815e1f84 add the concept of immutable to applets
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=678565
2007-06-21 18:24:05 +00:00
Aaron J. Seigo
5f8c6be988 make Applet (and lineedit) usable with qgraphics_item cast. we probably want to do this with all of our QGI subclasses.
i introduced a new enum in the Plasma namespace, ItemType, so we can keep track of these id's centrally.
however, the right click mechanism is rather broken in its implementation; we need a way to offer a centralized menu on appets no metter where they are clicked.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=678562
2007-06-21 18:07:39 +00:00
Aaron J. Seigo
fb8d5d353f * take an optional list of arguments to passs into applets
* create button applets not icon widgets on drop

honestly, not sure i like the qstringlist of argument approach, but that's what klibloader gives me

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=677941
2007-06-20 08:11:59 +00:00
Aaron J. Seigo
5e2b8cfd95 make applet a QGraphicsItem not a Group; as bibr explained to me on irc this evening a group is really, really a group ;) iow, the children lose all sense of identity. this causes all sorts of problems for building the sort of interfaces we are aiming for.
however, making them items makes it possible to drag children outside of their parents (c.f. the button applet) which causes another set of problems. i'll look into this tomorrow though. it's 01:00 and i was trying not to work on kde tonight.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=677904
2007-06-20 06:45:08 +00:00
Pino Toscano
bbabb1fea4 headers cleanup
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=676483
2007-06-16 23:38:56 +00:00
Aaron J. Seigo
37869e0326 move the libraries that will be kept into libs/ ( was lib/)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=676120
2007-06-16 04:16:17 +00:00
Riccardo Iaconelli
fddaf2dcf2 * Show the plasmoid name on the contextual menu.
* Applet => Plasmoid, still in the contextual menu

svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=671913
2007-06-05 19:31:48 +00:00
Aaron J. Seigo
bbaebc6b1b move workspace/plasma/lib to workspace/lib/plasma so that we can do:
#include <plasma/foo.h>

in headers in libplasma. this is important so that they can be used post-install by third party plugins, apps, etc.

also, changed Applet::loadDataEngine to just Applet::dataEngine and make it actually return the data engine; move the applets to using it. safer and fewer LoC

svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=670850
2007-06-02 17:29:39 +00:00
Aaron J. Seigo
df56575ef4 add the ability to get at the max size hint constraint
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670578
2007-06-02 04:47:09 +00:00
Aaron J. Seigo
7212ae5b5f applets are no aware of their constraints. the simple solution is often the best one.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670285
2007-05-31 22:40:38 +00:00
Aaron J. Seigo
3d51733018 * more api documentation
* changes to reflect api movement

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668671
2007-05-27 08:01:31 +00:00
Riccardo Iaconelli
4090084e34 Plasmoids are now configurable! =)
Also cleaned out a bit the code, and improved the painting algorithm. Removed the harcoded values for adjusting the hands, now they're calculated runtime. Still have to make it more flexible, permitting to the artist to specify his center for the hand.

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668557
2007-05-26 19:01:32 +00:00
Aaron J. Seigo
a62bd49c9a only expose a KConfigGroup to applet subclasses to encourage correctness and allow for future flexibility.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668085
2007-05-25 02:36:22 +00:00