[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Review Request: Convert libplasma to new qt4.4 technologies.
From:       Dan Meltzer <parallelgrapefruit () gmail ! com>
Date:       2008-02-23 4:57:49
Message-ID: 20080223045749.18468.68976 () localhost
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://mattr.info/r/187/
-----------------------------------------------------------

Review request for Plasma.


Summary
-------

This patch converts libplasma to use the new technologies found in Qt 4.4.  It does \
the following things:

1) Makes Plasma::Widget descend from QGraphicsWidget:  This change allows for a lot \
of code simplification, widget.cpp shrinks by about 200 lines after removing \
redundant code.  We cannot replace Plasma::Widget with QGraphicsWidget everywhere \
directly, as there still are some things in widget that we need.  This patch also \
removes Widget::expandingDirections in favor of using sizePolicies.

2) Removes Plasma::Layout and Plasma::LayoutItem:  These have been replaced by \
QGraphicsLayout and QGraphicsLayoutItem respectivly.  All layouts with the exception \
of boxlayout have been converted to use QGraphicsLayout.

3) Removes Boxlayout.  QGraphicsLinearLayout replaces BoxLayout at this time.  There \
are a few things that boxlayout had that QGraphicsLayout does not at this point, but \
they are not entirly important on a wide scale I do not believe.

4) Disables LayoutAnimator.  This is going to need to be ported to work with the new \
layouting concepts and classes.  When I last spoke with aseigo it sounded like \
LayoutAnimator needed some rethinking anyways, so I have just disabled it for now.

A few notes:  This patch is only the section of the patch applying to libplasma.  I \
have another equally big patch that I need to clean up that converts \
workspace/plasma.  I hope to post that in the next few days.  Also, there are some \
bugs either in my changes or in qt4.4 (I have not been able to determine which, and \
reguardless they appear in the applets part of the patch, not the libs.

The request here is for review of the idea and changes made, with the understanding \
that there may be more review necessary once the second part of the changes get \
posted.


Diffs
-----

  trunk/KDE/kdebase/workspace/libs/plasma/CMakeLists.txt
  trunk/KDE/kdebase/workspace/libs/plasma/applet.h
  trunk/KDE/kdebase/workspace/libs/plasma/applet.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/containment.h
  trunk/KDE/kdebase/workspace/libs/plasma/containment.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/corona.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/borderlayout.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/borderlayout.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/boxlayout.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/boxlayout.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/fliplayout.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/flowlayout.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/flowlayout.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/freelayout.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/freelayout.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/layout.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/layout.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/layoutitem.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/layoutitem.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/nodelayout.h
  trunk/KDE/kdebase/workspace/libs/plasma/layouts/nodelayout.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/uiloader.h
  trunk/KDE/kdebase/workspace/libs/plasma/uiloader.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/icon.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/icon.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/label.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/label.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/lineedit.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/lineedit.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/meter.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/meter.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/progressbar.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/progressbar.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/pushbutton.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/pushbutton.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/rectangle.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/rectangle.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/signalplotter.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/signalplotter.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/tests/testLayouts.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/tests/testProgressBar.cpp
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/widget.h
  trunk/KDE/kdebase/workspace/libs/plasma/widgets/widget.cpp

Diff: http://mattr.info/r/187/diff


Testing
-------

Been using this patch for the past few days. There are still a number of crashes in \
what appears to be qt4.4 code, but these changes seem sound.


Thanks,

Dan

_______________________________________________
Panel-devel mailing list
Panel-devel@kde.org
https://mail.kde.org/mailman/listinfo/panel-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic