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;
    // From here your old code that does things

Wednesday, January 28, 2015

Disabling downloadable fonts

We have a nice new style for planet.kde.org. I think it is generally an improvement over what we had, but sadly it decides to force the oxygen font over my browser selected font.

If you're like me and can stand the oxygen font being forced over the font you chose on your configuration have a look at this article to see how to disable downloadable fonts.

Update: Unfortunately if you do that you'll lose the K-logo on the left because instead of an icon we're using a font to render it. So now I have to decide between unreadable (for me) oxygen font a having the broken K-logo on the top.

Sunday, January 25, 2015

Help test KDE Bomber game

As Laurent mentioned we are moving some KDE games from kdelibs4-based to kf5-based for the next KDE Applications 15.04 relase.

Today we just switched libkdegames, libkmahjongg and bovo. Next target is bomber, so if you have some time grab the master branch of libkdegames and the frameworks one of bomber, give it a try and make sure we're not regressing somewhere we didn't realize.

Thursday, January 22, 2015

Saturday, January 17, 2015

KDE End of Year 2014 Fundraiser is over

Yesterday was the last day of the KDE End of Year 2014 Fundraiser.

I want to thank publicly the 788 donors that helped us raise over 22000 euro.

You all rock and rule!

Thanks to this money we'll be able to keep sponsoring developers to attend conferences and sprints to improve the software we all love and use.

Of course there's never enough money so we still greatly appreciate your donations at http://kde.org/donate or even better you can become a KDE Supporting Member.