Commit Graph

622 Commits

Author SHA1 Message Date
Richard J. Moore
2e506845e9 - Added a factory class analogous to QUiLoader for plasma widgets. It
it not currently compiled, and does not yet support loading of full
  forms. Note that this shows up that the APIs defined by the widgets
  are still woefully inconsistent.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=708875
2007-09-05 21:58:10 +00:00
Pino Toscano
cec28bebac use QtModule/QFoo for public headers
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=708026
2007-09-03 17:16:40 +00:00
Robert Knight
15fbaba2ac Move duplicated animation starting code into Layout::startAnimation() which layout subclasses can call at the end of their setGeometry() implementation to start the layout animator's timer.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707803
2007-09-03 00:52:29 +00:00
Robert Knight
ecd23d6e67 Always restart timeline from 0 when setGeometry() is called. QTimeLine::start() is a no-op if already running.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707800
2007-09-03 00:41:57 +00:00
Richard J. Moore
4663b82555 - More Q_PROPERTY additions
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707687
2007-09-02 17:49:34 +00:00
Richard J. Moore
b09f73ac86 - Add support for opacity property of Widget
- Add Q_PROPERTIES and missing Q_OBJECT to signalplotter


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707684
2007-09-02 17:41:05 +00:00
Michael Olbrich
56429d3adc check for unused DataContainers in a way that actually works.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707450
2007-09-01 22:23:03 +00:00
Pino Toscano
c27291a3fc slots -> Q_SLOTS
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707337
2007-09-01 15:02:09 +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
Robert Knight
04375c4b09 Replace 'INFINITY' with more correct numeric_limits<qreal>::infinity()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706983
2007-08-31 17:46:12 +00:00
Robert Knight
536d3749c1 Fix crash when layout argument is null.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706975
2007-08-31 17:24:03 +00:00
Robert Knight
bb25f62e55 Remove Widget::invalidate(), that is a feature which is part of the layouts. Better attempt at Widget::updateGeometry() which widget subclasses can call when their size hint or min/max size changes. Ultimately should behave like the QWidget methods of the same name. Make Widget return Qt::Horizontal | Qt::Vertical in its default implementation of expandingDirections()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706939
2007-08-31 15:32:10 +00:00
Robert Knight
f7861353ba Add a method to change the parent of a layout. Make isEmpty() non-virtual, and instead always equal to (count()==0). Add invalidate() method which is used like the method of the same name in QLayout to invalidate cached information in the layout.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706937
2007-08-31 15:27:32 +00:00
Robert Knight
af8659fa22 Update the parent of a LayoutItem when calling setLayout
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706935
2007-08-31 15:23:09 +00:00
Robert Knight
d1aba23cd2 Return 0 for the expanding directions of an icon. At present icons have a fixed size.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706934
2007-08-31 15:21:30 +00:00
Robert Knight
37b993d8ff Add auto-deletion functionality into LayoutAnimator which can be used to delete the item when its removal animation finishes. Emit a signal when the state of an item in the animator changes. Avoid repeatedly setting an item's geometry with the NoEffect effect. Added a DeadState into which items transition after their removal animation finishes or if they have not been added to the animator. When inserting an item with a fade in effect set the opacity to 0 if the item is a widget.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706933
2007-08-31 15:19:02 +00:00
Robert Knight
b329ddb69a Fix elementSize() , elementRect() always returning 0 in Plasma::Svg if called before resize(). Set the size to the document's default size when the renderer is created. Makes it possible to determine the aspect ratio of the graphic.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706931
2007-08-31 15:15:04 +00:00
Script Kiddy
b3831c1f44 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706753
2007-08-31 07:59:14 +00:00
Percy Leonhardt
615eae37ba Merged HBoxLayout and VBoxLayout into BoxLayout to avoid duplicate code.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706645
2007-08-30 23:44:08 +00:00
Aaron J. Seigo
432bfaf165 make paintGLInterface non-pure virtual to make it more similar to Applet
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706360
2007-08-30 04:34:09 +00:00
Aaron J. Seigo
243f835253 a micropatch i had sitting on the laptop
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706359
2007-08-30 04:33:12 +00:00
Aaron J. Seigo
bf30d19c41 improve error reporting when a plugin fails to load
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705985
2007-08-29 03:06:48 +00:00
Aaron J. Seigo
e600dbe4c3 * fix typo in PLASMA_EXPORT_SCRIPTENGINE name; guess nobody is using this yet? ;)
* port to new plugin system
* forget about taking a QVariantList in the ScriptEngine ctor. it's not going to be used

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705983
2007-08-29 03:00:00 +00:00
Aaron J. Seigo
1316a45e7e * make connectSource apidox a bit clearer
* add DataContainer* containerForSource() for script engine authors to use

CCMAIL:rich@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705981
2007-08-29 02:57:04 +00:00
Aaron J. Seigo
b34983f356 remove an unecessary include and a compile warning
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705980
2007-08-29 02:55:49 +00:00
Aaron J. Seigo
904c1b13f8 move animator to the new plugin system
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705975
2007-08-29 02:45:20 +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
Aaron J. Seigo
c911115b10 kpluginfactory, it's all the new rage
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705970
2007-08-29 02:17:39 +00:00
Aaron J. Seigo
7f6821574c make engine loading work again.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705960
2007-08-29 01:49:44 +00:00
Thomas Georgiou
44c1f66714 Make other widgets paint when zoomed out. (These 3 commits are just
commenting things out. The code will need to be removed once we are 
sure we do not need it.)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705868
2007-08-28 19:12:13 +00:00
Thomas Georgiou
d65ab52dd6 Lineedits should display when zoomed out.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705867
2007-08-28 19:02:38 +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
Tim Beaulen
7452d8eeb3 The qatomic include is not used.
Removing it makes plasma build with the latest Qt4.4 snapshot.

See also svn commit 705296


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705849
2007-08-28 18:13:07 +00:00
Richard J. Moore
5cecb0229c - Fix for Q_INVOKABLE
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705760
2007-08-28 14:26:31 +00:00
Steve Evans
5227b697c3 Replace expf with std::exp, which does the same thing, and is available on
machines that don't have expf, like Solaris.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705725
2007-08-28 12:56:02 +00:00
Thiago Macieira
0ad0b8c21f You don't need QAtomic if you're not thread-safe
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705296
2007-08-27 17:27:27 +00:00
Arto Hytönen
8bc26d704f includes, include guards and typos fixed
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705066
2007-08-27 04:31:52 +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
773612ac44 Default implementations of minimumSize() , maximumSize() in Layout and correct implementations of minimumSize() , maximumSize() in Widget to match equivalents in QLayout , QWidget.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=703547
2007-08-22 20:13:24 +00:00
Arto Hytönen
8232082478 a lot of i18n tags and other small krazy issues fixed, nothing major
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=702784
2007-08-21 07:02:04 +00:00
Script Kiddy
bba405e390 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=702776
2007-08-21 06:53:29 +00:00
Thiago Macieira
eca6dc90c0 Remove use of k_funcinfo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=702583
2007-08-20 21:33:48 +00:00
Script Kiddy
d26d44d606 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=702200
2007-08-20 07:37:38 +00:00
Script Kiddy
6b6f7cf54e SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701736
2007-08-19 06:11:40 +00:00
Matt Broadstone
4fbc948d56 That'll teach me not to test the build before committing :)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701238
2007-08-17 18:57:28 +00:00
Matt Broadstone
1fb3bef9bb Fix build
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701237
2007-08-17 18:55:55 +00:00
Robert Knight
93bf2933e4 When updating a Widget's geometry, pass the geometry in the Widget's co-ordinates to layout()->setGeometry() rather than the parent widget's co-ordinates. Call updateGeometry() inside setGeometry().
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701207
2007-08-17 16:28:54 +00:00
Matt Broadstone
19efbb9108 Respect min/max sizeHints when setting geometry
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701205
2007-08-17 16:04:49 +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
Percy Leonhardt
c86bf6caea Example for nested layouts
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701173
2007-08-17 14:36:48 +00:00