Commit Graph

135 Commits

Author SHA1 Message Date
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
Aaron J. Seigo
ac918ad4bf kdebug fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695587
2007-08-02 13:12:59 +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
Aaron J. Seigo
8d4debed10 * add missing return in instanceName
* turn off clipping to shape for Applet as that breaks background painting in cute and wonderful ways
* remove some dead code
* use setFlag instead of setFlags everywhere

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694556
2007-07-31 01:11:25 +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
f7abb4b135 * call prepareGeometryChange when the darw default background setting changes
* add in a completely untested-but-should-work ;) implementation of config ui loading; requires a package with config/ui/main.ui and config/xml/main.xml in it. should shave 7LOC off of the clock's Script.js, which is ~10% of the code line count!

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694399
2007-07-30 16:00:29 +00:00
Aaron J. Seigo
b09384dcc5 remove more of the misguided lock applet commit
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693805
2007-07-29 05:06:04 +00:00
Thomas Georgiou
42199d52da Finish reverting to the right revision.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693803
2007-07-29 04:36:38 +00:00
Thomas Georgiou
3b051def64 Revert commit.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693801
2007-07-29 04:33:21 +00:00
Thomas Georgiou
ee0793ef7d Convert painters to stack from pointers.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693788
2007-07-29 01:41:13 +00:00
Thomas Georgiou
d58bbd2d29 Add dynamic shadows to standard background.
Color the shadows instead of a roundrect when zoomed out.
Actually paint the applet when zoomed out.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693787
2007-07-29 01:24:58 +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 Eisenberg
36649f248d Use the Oxygen color palette for coloring applets in group mode (based on their category).
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693736
2007-07-28 21:07:18 +00:00
Aaron J. Seigo
a7fb94fb42 separate out the concept of kioskImmutability so we can take separate internal actions based on that as needed
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693391
2007-07-27 21:05:45 +00:00
Aaron J. Seigo
62052a153c SVN_SILENT rm dead code
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693384
2007-07-27 20:40:27 +00:00
Aaron J. Seigo
293c4b5693 as useful as this is for people who screw up writing their applet, it makes it impossible to follow the debug log when it gets hit (and it is valid to hit it)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693360
2007-07-27 19:56:50 +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
Andre Duffeck
569e685e66 fix mysterious black boxes on the sides.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692738
2007-07-26 06:44:27 +00:00
Aaron J. Seigo
b3f60fa248 this one took me a while to figure out =/
we need a separate private contentSize() for Applet because we need to be able to override what the subclass might be trying to accomplish. since the method is virtual, i had to put it in the dptr and call Applet::contentSize from there on successfully passing various tests such as "is this a script?" and "has this applet been marked as failed?". stupid polymorphism.

end result is that now an applet can, as expected, call setFailedToLaunch(true) and the applet gets the right size, no matter when or where it was called from.

huzzah.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692630
2007-07-26 02:36:53 +00:00
Aaron J. Seigo
455f06eb8b set immutability even if the applet fails to load
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692621
2007-07-26 02:07:18 +00:00
Aaron Eisenberg
52514c1c35 Improve icon location and size as well as the applet's background in group mode.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692618
2007-07-26 01:45:06 +00:00
Aaron J. Seigo
19a46e2c40 only paint the interface on DesktopZoom. based on a patch by The Other Aaron.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692597
2007-07-25 23:42:43 +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
Andre Duffeck
1dede63a8f fix Applet::contentsRect()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692500
2007-07-25 18:16:07 +00:00
Aaron J. Seigo
6c297f6cbb * proof of concept dynamic shadow, #if 0'd out
* some implementation notes

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692252
2007-07-25 07:13:34 +00:00
Aaron J. Seigo
d661a64be4 drawTiledPixmap. about 30s after committing i remembered it existed. *sigh*
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692075
2007-07-25 00:09:15 +00:00
Aaron J. Seigo
052958075c make the background render properly. i, or someone like me, REALLY needs to implement tiling in Plasma::Svg.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692070
2007-07-24 23:46:54 +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
8970a02211 catch when paintInterface is mis-implemented, draw -something- and spit out a warning on the console
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691980
2007-07-24 19:27:58 +00:00
Alex Merry
4d8628230f Don't crash if we can't load an applet.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691410
2007-07-23 15:59:10 +00:00
Aaron J. Seigo
cac7c24c0f more script engine work after some late night (for me anyways) discussion with richard.. getting closer =)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691269
2007-07-23 09:21:45 +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
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
44fe05f668 create a Package if we have a scripted plasmoid on hand.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690104
2007-07-20 03:28:34 +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
7de863a242 kill an unused variable (relic of a previous implementation)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=686947
2007-07-12 13:27:05 +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
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
877f17a33d make items movable even on startup
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679835
2007-06-25 01:37:27 +00:00
Aaron J. Seigo
68a305c511 ensure we don't crash when setting up applets without a scene
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679072
2007-06-22 22:38:17 +00:00
Aaron J. Seigo
ead42c31b4 make applet immutable actually have some effect (e.g. make it immovable)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679064
2007-06-22 22:08:04 +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
Laurent Montel
3d126ae09b Fix include
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=675269
2007-06-13 21:26:08 +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
357db36e7f prevent crash when this gets called too early
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670543
2007-06-01 22:58:48 +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
Matt Williams
f93b9f7396 EBN Krazy header fixes
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=669864
2007-05-30 16:47:36 +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
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
Matt Williams
e809f22cfd Make this new function actually do something :)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668037
2007-05-24 21:17:55 +00:00
Aaron J. Seigo
4d4f9e0140 convenience method for loading applets via a KPluginInfo
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668033
2007-05-24 20:51:59 +00:00
Aaron J. Seigo
1f797b162f * applet loading
* make the library names appear in descending order of specificity (plasma_kind_instance)

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668019
2007-05-24 20:01:12 +00:00
Matt Williams
dfb58b44c1 EBN Fixes
* Include own header file first
* Make d-pointer const
* Use references-to-const

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667001
2007-05-21 14:28:03 +00:00
Aaron J. Seigo
454c29f187 let's use KPluginInfo
some api refinements

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=639363
2007-03-05 00:07:21 +00:00
Aaron J. Seigo
736e81e422 SVN_SILENT let's just get this over with and reformant the classes that are pretty much expected to remain
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=638722
2007-03-03 01:41:27 +00:00
Matt Broadstone
390e97b48c Made applet a QWidget/QGraphicsItemGroup, moved plasma lib building from workspace to plasma dir, added applet directory and test applet directory
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=638182
2007-03-01 01:09:20 +00:00
Matt Broadstone
95bed44242 Fix build
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=637823
2007-02-27 22:32:35 +00:00
Aaron J. Seigo
ecee37b67c --appletChain.. did this on the wrong system, am committing so i can
test on the dev box

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=637812
2007-02-27 21:53:12 +00:00
Stephan Kulow
b5a36666ab merged kconfiggroup_port branch
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=635490
2007-02-20 07:00:30 +00:00
Aaron J. Seigo
3de9c853b7 get this to compile at least so i can start to exercise it with krunner
and other such bits. no point on having this just sit on my disk i
suppose =)

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=614239
2006-12-16 23:04:44 +00:00
Aaron J. Seigo
e3fd26c7bd start moving this towards sensibility
not much to see yet, but people are looking at this and understandably
scratching their head since it's not obvious that a lot of this was
sketching versus implementing... well, that's starting to change.

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=576845
2006-08-24 22:52:05 +00:00
Aaron J. Seigo
2664e2d35b starting work on dataengines, datasource, datavisualizations, the plasma
app and applets ... doesn't compile atm as it's a work in progress off
the design concepts. but dinner becons and i don't want to lose progress
in case my laptop degrades further.

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=529282
2006-04-13 00:11:16 +00:00
Script Kiddy
2c0224231b Fix FSF address (old address)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=501565
2006-01-23 11:37:31 +00:00
Aaron J. Seigo
b645137010 some pieces that compile at the moment
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=492417
2005-12-29 21:55:22 +00:00