Commit Graph

84 Commits

Author SHA1 Message Date
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
Robert Knight
2475cfed09 Add LayoutAnimator class. This provides a way to animate changes in layouts. eg. Fading in new items, fading out removed items, moving and resizing items smoothly as the layout changes. The layouts themselves need some small changes to make use of this class, and the client code must create the animator, attach it to the layout and choose the animation effects to use.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=700844
2007-08-16 15:56:00 +00:00
Percy Leonhardt
9268590942 Added a signalplotter to plasma.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=699576
2007-08-13 15:15:19 +00:00
Pino Toscano
507566d71e actually install the header, not the cpp ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=697348
2007-08-07 14:44:03 +00:00
Matt Broadstone
26569e231c Add layout test
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696814
2007-08-05 23:05:57 +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
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
b9b651bf7e if you're going to fix duplicates, take out the one that is out of alphabetical order. preventing dupes when hand editting is why i put things in alpha order in the first place.
also, remove a duplicate in the installed headers.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693937
2007-07-29 15:20:02 +00:00
Laurent Montel
0e16a6b846 Add missing include file
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693883
2007-07-29 11:35:29 +00:00
Laurent Montel
30afe352d1 Fix duplicate
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693867
2007-07-29 10:28:56 +00:00
Alexis Ménard
c5b02c7a1b Fix missing compilation and install of widget label
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693642
2007-07-28 15:22:44 +00:00
Aaron J. Seigo
6d0616c2ff * add label
* don't add rectangle, but comment it out so people know it wasn't simply "missed"

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693532
2007-07-28 09:21:47 +00:00
Aaron J. Seigo
28b20a150a * add hbox to build
* make hbox share the boxlayout superclass with vbox
* profit

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692756
2007-07-26 07:23:30 +00:00
Aaron J. Seigo
f82a4cfb55 separate out the stuff the hbox will need from vbox and put it into box.
sprinkle "layout" and some capital letters throughout the above if the above sounds random to you ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692578
2007-07-25 22:20:15 +00:00
Aaron J. Seigo
538b5fc7de i suppose installing all the headers might be considered a nice feature.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692085
2007-07-25 00:52:15 +00:00
Aaron J. Seigo
0bc4d740f9 will this make dashboard happy? tune in next compile! same bat-compiler, same bat-cpu.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692078
2007-07-25 00:25:17 +00:00
Aaron J. Seigo
508d373bbe move the glapplet into libplasma since it's actually getting used and i hate having to fix this file in N places
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692023
2007-07-24 21:50:37 +00:00
Aaron J. Seigo
a475abdc09 * update build to include ScriptEngine stuff
* plasma_*.desktop to plasma-*.desktop for the servicetypes
* add a servicetype for Plasma/ScriptEngine

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691245
2007-07-23 07:43:32 +00:00
Aaron J. Seigo
26b3b62ed7 DataSource -> DataContainer, so it's more obvious that it isn't the -source- of the data.
the api remains the same however.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691134
2007-07-23 00:22:16 +00:00
Andre Duffeck
b58baaef6b Import Flash widget.
It allows to show text or an image in order to notify the user about some change.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690844
2007-07-22 11:02:34 +00:00
Aaron J. Seigo
98e4e20fe2 * add createPackage to Package
* remove Packager since it has no point in life anymore

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690116
2007-07-20 04:23:27 +00:00
Aaron J. Seigo
2c533e50cd move the package structures to libplasma so Applet can use them (and probably Theme in the future as well). don't install the header or export the class though as they aren't meant (at this time anyways?) to be used externally
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690100
2007-07-20 03:16:40 +00:00
Aaron J. Seigo
be39ca07b1 add missing convenience headers (should we have these for the widgets too?)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=690088
2007-07-20 02:09:51 +00:00
Aaron J. Seigo
469f8a3402 * add configxml to the build.
* move the headers section down to the install area

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689450
2007-07-18 09:34:18 +00:00
Leo Franchi
9f555db9a1 was not supposed to commit this file...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689198
2007-07-17 21:27:05 +00:00
Leo Franchi
f4ca9c1aca add mimetype flexibility, by storing it in a variable with getters/setters, as discussed with asiego on panel-devel
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689194
2007-07-17 21:13:41 +00:00
Aaron J. Seigo
acbfadae12 move the desktop context menu out of corona. this reflects the design better where different views may want different menus; the dekstop menu only being appropriate for, well, the desktop; other apps may be using Corona for which "desktop" is completely irrelevant.
this also moves the desktop related items out of libplasma, making it a bit more light.

functionality has moved into CoronaView, which will soon be renamed

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689123
2007-07-17 17:55:05 +00:00
Aaron J. Seigo
5151879373 add run command to the desktop context menu
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689104
2007-07-17 16:55:27 +00:00
Allen Winter
63bae4267e remove kde4_automoc()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=685984
2007-07-10 09:14:12 +00:00
Dirk Mueller
e285025ba5 empty
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=680089
2007-06-25 11:59:43 +00:00
Aaron J. Seigo
4fcf10e6bc add a CamelCase include for Phase
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=678209
2007-06-20 21:46:22 +00:00
Aaron J. Seigo
eb5522104a add the non-gui packaging files to libplasma
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=676505
2007-06-17 00:25:16 +00:00
Tim Beaulen
5a3e39e685 Make workspace build. The plasma headerfiles could not be found.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=676197
2007-06-16 09:10:59 +00:00
Aaron J. Seigo
b412c393d6 we're getting quite the collection of plugins, with more to come (e.g. the background renderer); move the desktop files servicetypes/
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672774
2007-06-08 05:30:31 +00:00
Aaron J. Seigo
301b06a926 animator servicetype
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672773
2007-06-08 05:28:22 +00:00
Aaron J. Seigo
2894a3403b initial 284LOC sketch of phase/animator. this includes the "null" animator base class, the phase manager and plugin loader.
tomorrow: an animator!

svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672771
2007-06-08 05:24:19 +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
Alexander Wiedenbruch
0de27801c9 Add KarambaManager for easier loading of SuperKaramba themes
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670527
2007-06-01 21:32:03 +00:00
Aaron J. Seigo
2c5f8a75bf move Corona to libplasma where others can enjoy it and where we can use it from Applet
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670279
2007-05-31 22:27:33 +00:00
Matt Williams
d0bf0c8c09 Install the plasma_export header
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=669833
2007-05-30 14:34:12 +00:00
Aaron J. Seigo
77307ba1dd icon buttons generally work now. huzzah. you can theme them with iconbutton.svg with the following elements, all of which are optional:
- background
 - background-hover
 - background-pressed
 - foreground
 - foregound-hover
 - foreground-pressed

what each does is left as an exercise for the reader ;)

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=669620
2007-05-29 20:37:21 +00:00
Aaron J. Seigo
3f2e92b6ae add the start of an icon button. the stupid number of svg's needs to be wrapped into two with svg elements for them, geometry isn't managed right (e.g. we ignore text width) etc.. but the basics exist. should be usable by hacking's end tomorrow, and then we can play with using them to pop menus and expanders. i'll get to Phase yet ;)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=669394
2007-05-29 07:59:50 +00:00
Aaron J. Seigo
ae5c3a8c8c take Interface out of the build
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668669
2007-05-27 07:59:56 +00:00
Aaron J. Seigo
8288d58356 DataVisualization remained anemic: it was only offering a single SLOT, and it was pure virtual at that. to keep the inheritance tree sane, it has been removed.
Widget remains problematic as it uses QGraphicsItem API, but it needs to be subclassed by items that are already QGraphicsItems. ugh.

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668083
2007-05-25 02:27:33 +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
Aaron J. Seigo
19169e84ea * move DataEngineManager into libplasma and the Plasma namespace
* add CamelCaseIncludes for DataSource and DataEngineManager

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667603
2007-05-23 07:51:28 +00:00
Matias Valdenegro Toro
90cf45ff02 Add the files to the build system.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667385
2007-05-22 17:07:00 +00:00
Aaron J. Seigo
97c22c59d2 add a CamelCaseHeader for DataVisualization
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667149
2007-05-21 23:44:15 +00:00
Aaron J. Seigo
8e7ccadd75 pino showed me the wonders of set_target_properties. rock on!
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=666770
2007-05-20 21:05:27 +00:00
Aaron J. Seigo
08707215dd apparently we can't have a binary and a library with the same name. so now it's libplasmoid and the binary is plasma.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=666763
2007-05-20 20:54:48 +00:00