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

    From KDE TechBase
    No edit summary
    Line 4: Line 4:
    series=[[../|HotNewStuff]]|
    series=[[../|HotNewStuff]]|
    name=Get Hot New Stuff 3 - Upload|
    name=Get Hot New Stuff 3 - Upload|
    pre=[[Development/Tutorials/Collaboration/HotNewStuff/Introduction|Get Hot New Stuff 3 - Download]]|
    pre=[[Development/Tutorials/Collaboration/HotNewStuff/Updates|Get Hot New Stuff 3 - Updates]]|
    }}  
    }}  



    Revision as of 17:10, 1 April 2010


    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   n/a

    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

    1. 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})