[Kde-bindings] KDE/kdebindings/csharp/plasma

Richard Dale rdale at foton.es
Tue Jan 26 12:45:50 UTC 2010


On Monday 25 January 2010 08:23:53 pm Arno Rehn wrote:
> On Monday 25 January 2010 21:07:22 Richard Dale wrote:
> > On Monday 25 January 2010 07:55:41 pm Arno Rehn wrote:
> > > On Monday 25 January 2010 19:37:21 Richard Dale wrote:
> > > > On Monday 25 January 2010 06:27:10 pm Arno Rehn wrote:
> > > > > SVN commit 1080147 by arnorehn:
> > > > >
> > > > > Remove analog clock examples. They fail to compile after plasma
> > > > > updates
> > > > >
> > > > >  anyway.
> > > > >
> > > > > CCMAIL: kde-bindings at kde.org
> > > > >
> > > > >  M  +1 -1      CMakeLists.txt
> > > > >  M  +0 -2      examples/applets/CMakeLists.txt
> > > > >  D             examples/applets/analog-clock (directory)
> > > > >  D             examples/applets/plasmaclock (directory)
> > > > >
> > > > > [snip]
> > > >
> > > > Oh - should we try and get them working? There is still some work to
> > > > do on the plasma C# code although it compiles.
> > > >
> > > > The problem is that the QGraphicsWidget class has changed quite a lot
> > > > in Qt 4.6, and the PlasmaScripting_QGraphicsWidget.cs class is
> > > > supposed to implement the  IGraphicsItem interface. But I didn't have
> > > > time to get that working and just commented it out (see below), and I
> > > > think it will mean the casts in the code to QGraphicsItems won't
> > > > work. I'm not sure what the problems with the clocks were as I didn't
> > > > have time to investigate, but it could be related.
> > > >
> > > >     public class QGraphicsWidget : QObject{
> > > >
> > > > //    public class QGraphicsWidget : QObject, IQGraphicsItem {
> > >
> > > Yes, we should definitely try to get the Plasma stuff working.
> > > But I think the plasma clocks aren't really suited to serve as a
> > > plasmoid example - they just became rather heavy. They depend on a
> > > shared library (libplasmaclock, which we had to translate as well) and
> > > together with all
> > >
> > >  the configuration dialog stuff spread over plasmaclock and
> > > analog-clock this makes it a bad example, imho.
> >
> > Yes, the ruby plasma clock doesn't work either as far as I can remember
> > and so isn't a good example. But it might still be worth investigating
> > why they didn't compile in case the problem was non-clock specific.
> >
> > > I think we should take something lighter to translate to C#, like the
> > >
> > >  pastebin plasmoid from kdeplasma-addons.
> > >
> > > Just as we're at it: how about moving all the examples out of
> > > kdebindings
> > >
> > >  and into the new kde-examples branch or whatever it is?
> >
> > I'm not sure what advantage that has. I think is a good idea to have an
> > example of each type of plasmoid as a confidence test so you know you've
> > built the bindings correctly. I'm feeling a bit generally worn out with
> > KDE 4.4 and would like to change as little as possible and just try and
> > get everything working. Maybe we can think about better examples for KDE
> > 4.5.
> 
> Yes, it was (and still is) quite a hurry to get kdebindings into an
>  acceptable state for KDE 4.4. I hope we can do better for KDE 4.5.
> Is there anything else apart from the PlasmaScripting support in C# that
>  needs work?
Well I haven't actually tested whether the new classes work yet. For instance, 
this works in JSmoke, does it work with Qyoto too?

button = new QPushButton("Animated Button");
button.show();

animation = new QPropertyAnimation(button, "geometry");
animation.setDuration(10000);
animation.setStartValue(new QRect(0, 0, 100, 30));
animation.setEndValue(new QRect(250, 250, 100, 30));
animation.start();

QApplication.exec();

Do we have an implicit constructor to create a QByteArray from a string? I 
assume the QVariant implicit constructors are present and should work with the 
setStartValue() and setEndValue() methods. Then write a blog about how 
amazingly cool using the Qt animation framework is in C# is, so that people 
don't assume the project is dead..

I haven't regenerated the KDE Kimono classes yet, but we could do that. A 
marshaller is needed for the QtWebKit class that lists DOM elements - that is 
quite important to get working. Not that much really I suppose.

-- Richard



More information about the Kde-bindings mailing list