Development/Tutorials/Collaboration/HotNewStuff/Introduction
Development/Tutorials/Collaboration/HotNewStuff/Introduction
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
Tutorial Series | HotNewStuff |
Previous | Getting started with KDE development |
What's Next | n/a |
Further Reading | n/a |
Overview
Here is a small example of an application that asks openDesktop.org for wallpapers. It lets the user install them into the system wallpaper directory.
The Code
The example consists of just one c++ source file.
//khotnewstuff.cpp
- include <kapplication.h>
- include <kdebug.h>
- include <klocale.h>
- include <kcmdlineargs.h>
- include <kaboutdata.h>
- include <knewstuff3/downloaddialog.h>
int main(int argc, char **argv)
{
KAboutData about("khotnewstuff_example", 0, ki18n("KHotNewStuff"), "0.4");
about.setProgramIconName("get-hot-new-stuff");
KApplication i;
KNS3::DownloadDialog dialog(args->arg(0));
dialog.exec();
foreach (const KNS3::Entry& e, dialog.changedEntries()) {
kDebug() << "Changed Entry: " << e.name();
}
return 0;
}
For this to work, a file that sets up KNewStuff khotnewstuff_example.knsrc is needed. The file has to be in kde/share/config/khotnewstuff_example.knsrc. (The name of the file is taken from the about data).
[KNewStuff3]
ProvidersUrl=http://download.kde.org/ocs/providers.xml
Categories=KDE Wallpaper 1920x1200,KDE Wallpaper 1600x1200
TargetDir=wallpapers
To link against KNS3, just link against ${KDE4_KNEWSTUFF4_LIBS}.