Difference between revisions of "Development/Tutorials/K Hot New Stuff2"

Jump to: navigation, search
(added desciption of install location configs)
Line 25: Line 25:
 
</code>
 
</code>
  
TargetDir installs to KStandardDirs::locateLocal("data") + TargetDir + "/"
+
* TargetDir installs to KStandardDirs::locateLocal("data") + TargetDir + "/"
 
+
* StandardResource installs to KStandardDirs::locateLocal(StandardResource)
StandardResource installs to KStandardDirs::locateLocal(StandardResource)
+
* InstallPath installs to QDir::home().path() + "/" + InstallPath
 
+
InstallPath installs to QDir::home().path() + "/" + InstallPath
+
  
 
And the following values are currently read, though not used yet:
 
And the following values are currently read, though not used yet:

Revision as of 18:07, 30 March 2008

The page that used to be here was all KDE3 specific information, so I figured it was about time to start a new one.

Terminology

First some basic terminology just to get us all on the same page. KHotNewStuff2 is the new library that implements the GHNS freedesktop.org specification for downloading and uploading user data. It will also support DXS (Desktop Exchange Service)

Use it in your application

There are a many good examples for how to use khotnewstuff2 in the KDE-Edu module. Look at their source code for examples if needed, but it's basically a 2-part process to get download into your app.

1. First write a .knsrc file. A .knsrc file is just a file telling the library which options to use for a given application. It also lists where providers can be found, where uploads should be sent, etc. Anyway, the format of the file is an ini file with one group:

[KNewStuff2] ProvidersUrl= InstallationCommand= Uncompress=

NOTE: InstallationCommand is optional, and if included will be invoked after each item is downloaded.
NOTE: Uncompress is optional, and if included will try to uncompress all downloads into the target folder according to the mime-type of the file.

One of the following to tell where downloads should go: TargetDir= InstallPath= StandardResource=

  • TargetDir installs to KStandardDirs::locateLocal("data") + TargetDir + "/"
  • StandardResource installs to KStandardDirs::locateLocal(StandardResource)
  • InstallPath installs to QDir::home().path() + "/" + InstallPath

And the following values are currently read, though not used yet: CustomName= CachePolicy= ChecksumPolicy= SignaturePolicy= Scope=

install the file using CMake install macro like this

install( FILES yourdata.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )

at this point, you can test your knsrc file with khotnewstuff4 like so:

khotnewstuff4 yourdata.knsrc

it should show you a download dialog of the data available on your provider(s).

2. Make your application launch the KNS ui with your knsrc file.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal