[RFC] Port PlasmaComponents to use QtQuick Controls where applicable

David Edmundson david at davidedmundson.co.uk
Mon Aug 19 12:37:46 UTC 2013


On Mon, Aug 19, 2013 at 10:55 AM, Marco Martin <notmart at gmail.com> wrote:

> On Monday 19 August 2013, David Edmundson wrote:
> > After discussions with a few people, I decided for an experiment to port
> > PlasmaComponents Button to use QtQuickControls [1] internally but use the
> > styles API [2] to make it look like the original PlasmaComponents button.
> >
> > This is pushed in the plasma-frameworks branch davidedmundson/controls
>
> I'm still seeing advantages and disadvantages, but i like the idea.
>
> If this will be how we proceed, it shouldn't be done inline, but as a
> standalone style together the others.
>


So there's 3 proposals being talked about here:
 - We keep Plasma Components as is
 - We create a proper QtQuick Controls style (which is what you and Aleix
suggest)
 - My half-way proposal in which we use QtQuickControls to do the heavy
lifting inside PlasmaComponents. Making the relevant style components, but
not actually exporting them as such.

I think we're all in agreement that option 2 is going to be needed at some
point in the future and should be a long term goal. However, there are
numerous drawbacks that make that difficult. We would need to commit to
making a large amount of changes, we have to edit a lot of plasma code and
we have to support the entire Controls library, not just parts of it... and
all the problems Marco stated.

This is why I came up with the proposal in my original email (which I
should have explained my rationale better) where we set the style
internally. (Though I agree I should split it into a separate
ButtonStyle.qml, ScrollBarStyle.qml etc. files)

We can work towards writing a controls style in small gradual parts. We can
get all the bug fixes that quick controls provides, but if there are any
regressions we can just use our existing code. We don't /need/ to change
the tab bar API, we can just use our current Plasma Components solution if
it's better. We can see what's missing in QtQuickControls, if anything,
without having regressions for the user.

When everything is finished ready and working we can then turn it into a
controls style (Plasma3?). This just makes that more gradual and IMHO safer.

I would be disappointed if this thread turns into "lets do this bigger
better thing instead.. but that's too big so lets not do anything".


> >  - More work.
> > As a rough guide I ported Button in about 1 hour. It's not a perfect 1-1
> > port, but it's 90% there.
> >

> yeah, not sure if this is underestimated

ok, it's 95% there then :P

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130819/5a1f5d13/attachment.html>


More information about the Plasma-devel mailing list