Moderator
|
Category: Development (C++) and getting to know KDE infrastructure
Mentor: frederik (fregl on IRC, #kde-devel on freenode) Start date: Wednesday, Feb. 17th Duration: 2 weeks Students: 1-5 Purpose With KDE SC 4.4 the get hot new stuff framework got a major overhaul. So far only very few applications have been ported to the new framework. With trunk open for 4.5 development, now is the time to port more applications to benefit from the improvements. There are several examples of already ported applications so getting started should be easy. Depending on the progress, we can dive into more advanced features, such as adding get hot new stuff to applications that do not support it yet. Another exciting feature is the new upload dialog. I'm looking forward to where you want to take advantage of it! Maybe uploading wallpapers directly from Gwenview/Digikam? Requirements This Klassroom will help you get started with C++ development in KDE in an easy way. We will look at application code and change it. You should be familiar with basic C++, preferably also Qt (though it will be easy to pick up if you haven't used it yet).
We will take 1-2 days to get build problems and such resolved in the beginning. But you should try to prepare in advance! If your distribution provides kdelibs 4.4 we can work with that, it should be easy to get you started how to build apps from there. Content To get your environment set up, read up on: http://techbase.kde.org/Getting_Started It is not necessary to build kdelibs from source, but of course you will have to compile the application you choose to work on from source. The first steps will be easy - you pick an application that uses KNewStuff2 (the old version) and change it to the newer KNewStuff3. This should get us started nicely. Candidates you could pick are for example:
Every student should pick 2 of the applications with the goal to port them. The next step will be building the application from source. Next up is the porting to KNS3. The finished patches will be put on reviewboard.kde.org and finally make their way into KDE proper If we have time left, we can set some additional goals: Where else can KDE benefit from KNewStuff? Maybe we can integrate the upload dialog somewhere? Along the way we will talk about how things work... for example we can discuss:
Expectations You want to get involved with KDE code wise! After this course a lot of applications use the new KNewStuff 3 framework instead of the older version. Each student ports her/his two applications. If time permits, we put the knowledge to more creative use. Even better if you have ideas where and how to improve KDE with respect to hot new stuff! Starting tips There are several examples of applications already ported that you can look at. Here are relevant links to code: The Plasma Image Wallpaper: http://websvn.kde.org/trunk/KDE/kdebase/workspace/plasma/generic/wallpapers/image/image.cpp?view=markup The .knsrc file: http://websvn.kde.org/trunk/KDE/kdebase/workspace/plasma/generic/wallpapers/image/wallpaper.knsrc?view=markup Implementation for Parley (includes upload): http://websvn.kde.org/trunk/KDE/kdeedu/parley/src/parleydocument.cpp?view=markup And the .knsrc file: http://websvn.kde.org/trunk/KDE/kdeedu/parley/src/parley.knsrc?view=markup Other helpful sources are the API docs: http://api.kde.org/4.x-api/kdelibs-apidocs/knewstuff/html/classKNS3_1_1DownloadDialog.html http://api.kde.org/4.x-api/kdelibs-apidocs/knewstuff/html/classKNS3_1_1UploadDialog.html And the techbase tutorial: http://techbase.kde.org/Development/Tutorials/Collaboration/HotNewStuff/Introduction You can find a few blog posts about KNewStuff on my blog, for example: http://blogs.fsfe.org/gladhorn/2010/01/ ... uff-again/ To apply for the course, post a reply in this topic!
Last edited by frederik on Sun Feb 14, 2010 10:23 am, edited 2 times in total.
|
Administrator
|
Perfect timing, sign me up!
I'll have a look at trunk later and write which two applications I want to work on. EDIT: I would like to work on Step and Kopete.
Problem solved? Please click on "Accept this answer" below the post with the best answer to mark your topic as solved.
10 things you might want to do in KDE | Open menu with Super key | Mouse shortcuts |
Registered Member
|
This is a great idea. I have a lack of time at the moment but I'm really thinking about participating. But I already have a question: To make sure nothing goes wrong I wanted to use a fresh OS installation on an older machine. So when you say "kdelibs 4.4 or later" I would like to ask if there is a distribution you can recommend for a KDE developer (in training). Perhaps one with up to date KDE dev packages so you only have to compile the application you are working on...
|
Moderator
|
I won't actually participate in this course, as I don't know how to code in Qt (yet).
I just wish to know if this course will try to achieve what this idea proposes: brainstorm.php#idea38928 ? I'd also like to see KGetHotNewStuff as one app, so I could just ran it and access and install everything from Plamsa to Screensaver. Like the idea proposed. Anyway if you think I can be of any help, just say, I'll be happy to help. But I really don't know how to code in C++ or Qt.
Primoz, proud to be a member of KDE forums since 2008-Nov.
|
Registered Member
|
I'd like to participate. Could I work on Okular or Plasma: Weather? I don't believe I use any of the other apps listed currently.
|
Alumni
|
I'd like to participate. I know C++ and a bit of Qt already, and this sounds great.
Edit: I'd be interested in some KCMs, too. It seems there are many KCMs using Get Hot New Stuff indeed. I'd especially like colors and splash screen KCMs. If someone else wants to do them, I could do some other KCMs or KWordQuiz or KAnagram.
Last edited by lliehu on Mon Feb 15, 2010 10:41 am, edited 1 time in total.
|
Registered Member
|
I'm in too. I started with a Plasmoid (C++) and would like to know how i can contribute furhter. So it's just the oportunity i was looking for.
I'll work on Kalzium an an other Edu Application (waths left;)). |
Registered Member
|
If there's still room, I would like to participate too. I've been playing around with C++/Qt for about a year now, and this would give me a reason to actually do something with it. I like math, so Cantor is right up my alley, as is Kalzium and Okular too (unless @briank takes it).
"Many of life's failures are people who did not realize how close they were to success when they gave up."
Thomas Edison |
KDE Developer
|
Sign me up I'll take KStars and Marble.
|
Registered Member
|
I'd like to participate. I can work on KDM and Style.
|
KDE Developer
|
Cantor already uses KNewStuff3 so you probably should take that one off the list.
arieder, proud to be a member of KDE forums since 2008-Oct.
|
Registered Member
|
That makes me sad. I will take any of them, though.
"Many of life's failures are people who did not realize how close they were to success when they gave up."
Thomas Edison |
Registered Member
|
If it's still available, i'd like to work on Granatier.
|
Registered Member
|
Is there still an open slot?
Would love to contribute a bit to KDE - often tried to start, but always faild on various stages. Avarage C++ Programmer, know a bit of QT (by using PyQT, Python) How much time is needed? I have a day job (windows programmer ) - would ~3hrs a day (after work) be enough? Topic: would love to do things from some KCM-Modules. Ciao, Daniel |
KDE Developer
|
I wish I could help but because of my school's internet I can't use SVN even checkout. And the next holiday is after 4 months from now. So, good luck guys.
|
Registered users: Bing [Bot], Google [Bot], kesang, Yahoo [Bot]