Difference between revisions of "Development/Tutorials/Collaboration/HotNewStuff/Upload"

Jump to: navigation, search
m (Text replace - "</code>" to "</syntaxhighlight>")
m (Text replace - "<code cppqt="cppqt">" to "<syntaxhighlight lang="cpp-qt">")
Line 15: Line 15:
 
==== The Code  ====
 
==== The Code  ====
  
<code  cppqt="cppqt">
+
<syntaxhighlight lang="cpp-qt">
 
#include <knewstuff3/uploaddialog.h>
 
#include <knewstuff3/uploaddialog.h>
  

Revision as of 22:00, 29 June 2011


Contents

Development/Tutorials/Collaboration/HotNewStuff/Upload


Get Hot New Stuff 3 - Upload
Tutorial Series   HotNewStuff
Previous   Get Hot New Stuff 3 - Updates
What's Next   n/a
Further Reading   API Documentation

Overview

Adding an upload dialog to an application is straight forward. If you already have a download dialog, you just need to add a few lines to the .knsrc file and create the dialog. Uploading currently only works with openDesktop.org and other websites that implement the Open Collaboration Services API.

The Code

#include <knewstuff3/uploaddialog.h>
 
// create the dialog
KNS3::UploadDialog dialog(parentWidget);
 
// set it up to help the user fill it out
// the file to be uploaded - this is important!
dialog.setUploadFile("some_url_here");
 
// a suggested title, the user can still change it
// don't set it if you can't make a reasonable suggestion
dialog.setUploadName("A suggested title for the upload");
 
// a longer description, optional
dialog.setDescription("This is a great file. It was created using foo.");
 
// show the dialog as modal (you can also use show of course)
dialog.exec();

The Configuration File (.knsrc)

In addition to the download version, you need to add UploadCategories, to set up where the contents can be uploaded to.

[KNewStuff3]
ProvidersUrl=http://download.kde.org/ocs/providers.xml
UploadCategories=KDE Wallpaper 1920x1200,KDE Wallpaper 1600x1200

Linking in CMakeLists.txt

To link against KNS3, just link against ${KDE4_KNEWSTUFF3_LIBS}. Example:

target_link_libraries(ktexteditor_codesnippets_core
${KDE4_KDEUI_LIBS} ${KDE4_KTEXTEDITOR_LIBS} ${KDE4_KNEWSTUFF3_LIBS})

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