Development/Tutorials/Collaboration/HotNewStuff/Upload: Difference between revisions

From KDE TechBase
m (Text replace - "<code>" to "<syntaxhighlight lang="text">")
(Mark for updating)
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Development/Tutorials/Collaboration/HotNewStuff/Upload}}


{{TutorialBrowser|
{{TutorialBrowser|
Line 7: Line 6:
reading=[http://api.kde.org/4.x-api/kdelibs-apidocs/knewstuff/html/classKNS3_1_1UploadDialog.html API Documentation]
reading=[http://api.kde.org/4.x-api/kdelibs-apidocs/knewstuff/html/classKNS3_1_1UploadDialog.html API Documentation]
}}  
}}  
{{Improve}}


=== Overview  ===
=== Overview  ===
Line 15: Line 16:
==== The Code  ====
==== The Code  ====


<code  cppqt="cppqt">
<syntaxhighlight lang="cpp-qt">
#include <knewstuff3/uploaddialog.h>
#include <knewstuff3/uploaddialog.h>


Line 34: Line 35:
// show the dialog as modal (you can also use show of course)
// show the dialog as modal (you can also use show of course)
dialog.exec();
dialog.exec();
</code>
</syntaxhighlight>


==== The Configuration File (.knsrc)  ====
==== The Configuration File (.knsrc)  ====
Line 43: Line 44:
ProvidersUrl=http://download.kde.org/ocs/providers.xml
ProvidersUrl=http://download.kde.org/ocs/providers.xml
UploadCategories=KDE Wallpaper 1920x1200,KDE Wallpaper 1600x1200
UploadCategories=KDE Wallpaper 1920x1200,KDE Wallpaper 1600x1200
</code>  
</syntaxhighlight>  


==== Linking in CMakeLists.txt ====
==== Linking in CMakeLists.txt ====
To link against KNS3, just link against ''${KDE4_KNEWSTUFF3_LIBS}''. Example:
To link against KNS3, just link against ''KF5::NewStuff''. Example:


<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
target_link_libraries(ktexteditor_codesnippets_core
target_link_libraries(ktexteditor_codesnippets_core Qt5::Widgets KF5::TextEditor KF5::NewStuff)
${KDE4_KDEUI_LIBS} ${KDE4_KTEXTEDITOR_LIBS} ${KDE4_KNEWSTUFF3_LIBS})
</syntaxhighlight>
</code>

Revision as of 12:51, 31 May 2019

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
Warning
This section needs improvements: Please help us to

cleanup confusing sections and fix sections which contain a todo


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 KF5::NewStuff. Example:

target_link_libraries(ktexteditor_codesnippets_core Qt5::Widgets KF5::TextEditor KF5::NewStuff)