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

    From KDE TechBase
    (Mark for updating)
    Line 6: 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  ===

    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)