Wednesday, March 25, 2015

Dear Lazyweb: What to visit in Alaska?

I'm holidaying in Alaska for a few weeks around June, anyone has been there and can share the stuff we should totally not miss/do when visiting?

Tuesday, March 24, 2015

Akademy-es 2015 registration open

We have just opened the registration for Akademy-es 2015.

This year we are piggy-backing on the Akademy 2015 registration system since Akademy-es 2015 happens in the same place just 2 days before so we thought it made sense have a common registration for both.

More info at https://www.kde-espana.org/akademy-es2015/registro.php

See you at A Coruña!

Sunday, March 22, 2015

Submit your talk to Akademy 2015!

The Call for Papers deadline for Akademy 2015 is just 10 days away. So you should submit a talk now, you know you have cool stuff to share, so do a small write up and tell the world that awesome new stuff you're working on.

And of course don't forget to register as always it's free but let's us know how many of you nice people are going to come over ;)

Ah and we also have the badges available, thanks to Alba Carro for the nice pictures :)

Friday, March 20, 2015

KDE dinner in Berlin - April 11

In a few weeks (April 11-12) the KDE e.V. board is going to have an in-person board meeting in Berlin.

We board people have to eat from time to time and since we like talking to other people besides ourselves we’re organizing a dinner on Saturday 11 around 19:00 (location still undecided, suggestions accepted).

So if you are interested in talking about KDE, KDE e.V., Free Software, Open Source, or any other random talk and want to have a good time let me know that you're coming as soon as possible, space is limited.

Tuesday, February 17, 2015

KRecipes Gardening Day: Saturday 21 February

It's clear the current KRecipes gardening effort is not having much traction, but before moving on to different applications, let's try a different format, the Gardening Day.

This Saturday 21 February we will meet at #kde-devel on freenode IRC from 9 UTC onwards (It'll probably go well into the UTC late-afternoon) to work on KRecipes.

There's three main topics:
* Triage and fix bugs
* Make tests pass in jenkins
* Port code away from Qt3Support/KDE3Support (without breaking stuff :D)

If we have some extra time we can try to work on some feature like using
KUnitConversion to convert between units.

You don't need to be an expert on KRecipes to help, so join us :)

Wednesday, February 11, 2015

KDE Applications 15.04 Feature Freeze is in 2 weeks

As per our Release Schedule, the freeze for KDE Applications 15.04 is in two weeks (25 February).

Get yourselves ready!

Friday, February 06, 2015

Qt 5.4 QML -> C++ QVariant issues

I usually don't blog about what I do in my day-time job in my personal blog but since this may affect some of the KDE/Qt developers I will do this time.

Qt 5.4 was released three months ago; at Canonical we're starting to move the Ubuntu Pĥone codebase to it now and it has an important behavior change as noted in it's changes file (that is quite hard to find by the way, it took me like 5 minutes to find, and that's knowing it existed, searching for "qt 5.4 changelog" does not return http://qt-project.org/wiki/Change-files-in-Qt-5.4.0 that is the important page) that has affected us in many places

The important behavior change is that now some QVariants will be passed to C++ as QJSValue-QVariants instead of QStringList-QVariants, QMap-QVariants, etc so if your code did things like checking the variant type now it will fail, so basically for any C++ function that receives QVariants from QML you need to add extra code to unbox the QVariant, i.e.

void MyClass::myFunction(QVariant v)
{
    // unbox the QVariant-QJSValue
    if (v.userType() == qMetaTypeId<QJSValue>()) {
        v = v.value<QJSValue>().toVariant();
    }
    // This is your old code that checks the type
    // of the QVariant is a valid one
    if (v.type() != QVariant::Map &&
        v.type() != QVariant::List &&
        v.type() != QVariant::StringList) {
        qWarning() << "Bad param" << v;
        return;
    }
    // From here your old code that does things
}