Commit Graph

100 Commits

Author SHA1 Message Date
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
Ivan Čukić
45f7769d44 Added stretched paint mode for background painting
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=709407
2007-09-07 13:05:28 +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
Thomas Georgiou
2bd7c794ba Paint applets when zoomed out.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705864
2007-08-28 18:49:44 +00:00
Jarosław Staniek
79323a4399 GCC 3.3.5: fixed error before '.'
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=704155
2007-08-24 07:14:24 +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
c68077c56e use the standard MimeTypes key, not our own messed up variant of it
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696780
2007-08-05 21:52:35 +00:00
Aaron J. Seigo
5d05c8ac7e more comparison fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696656
2007-08-05 14:24:24 +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
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
Aaron J. Seigo
f74b94a1d5 put clip to shape back in business as the bugs related to it seem to be
fixed in 4.3.1

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696383
2007-08-04 15:53:28 +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
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