Plasma/libplasma2

From KDE Community Wiki

Summary

This page is dedicated to planning of the libplasma2.

libplasma2 will be binary and source incompatible with the current libplasma. This means that we can fix some issues that are currently present in plasma's design.

Enter the issues you wish fixed in the following form:

Idea: Change libplasma2
Summary: We have a chance to change stuff now
Discussion: http://mail.kde.org/pipermail/plasma-devel/2010-October

Issues with libplasma1

Idea: Svg::setImagePath is not virtual
Summary: FrameSvg (and potentially other subclasses of Svg) need to take action when the image path is changed. setImagePath is not virtual nor does it call any internal virtuals. This has resulted in a necessary but unfortunate hack in Svg::setImagePath specifically for FrameSvg.
Proposed solution: Make Svg::setImagePath virtual.


Idea: Merge Theme::findInCache methods
Summary: There are multiple findInCache methods in Theme, which could be merged into one method with suitable default parameters.
Proposed solution: Merge methods.


Idea: Dialog::graphicsWidget() is not const
Summary: As a simple getter, graphicsWidget() should be const.
Proposed solution: Make Dialog::graphicsWidget() const.


Idea: PackageStructure::metadata() is not const
Summary: While some allocations may happen in PackageStructure::metadata() they are all in the dptr and the method itself functions as a simple getter. It should therefore probably be const.
Proposed solution: Make PackageStructure::metadata() const.