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

Jump to: navigation, search
(Created page with '{{Template:I18n/Language Navigation Bar|Development/Tutorials/Collaboration/HotNewStuff/Updates}} {{TutorialBrowser| series=HotNewStuff| name=Get Hot New Stuff 3 Introd...')
 
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Development/Tutorials/Collaboration/HotNewStuff/Updates}}
+
 
  
 
{{TutorialBrowser|
 
{{TutorialBrowser|
Line 6: Line 6:
 
pre=[[Development/Tutorials/Collaboration/HotNewStuff/Introduction|Get Hot New Stuff 3 - Download]]|
 
pre=[[Development/Tutorials/Collaboration/HotNewStuff/Introduction|Get Hot New Stuff 3 - Download]]|
 
next=[[Development/Tutorials/Collaboration/HotNewStuff/Upload|Get Hot New Stuff 3 - Upload]]|
 
next=[[Development/Tutorials/Collaboration/HotNewStuff/Upload|Get Hot New Stuff 3 - Upload]]|
 +
reading=[http://api.kde.org/4.x-api/kdelibs-apidocs/knewstuff/html/classKNS3_1_1DownloadManager.html API Documentation]
 
}}  
 
}}  
  
 
== Overview  ==
 
== Overview  ==
 +
Just like firefox informs you of updates to your addons, KNewStuff can let you check for updates since KDE SC 4.5.
 +
 +
There is an example in [http://websvn.kde.org/trunk/KDE/kdeexamples/knewstuff/updatechecker/ kdeexamples].
 +
 +
== DownloadManager ==
 +
The class in question is DownloadManager.
 +
 +
Use an instance of DownloadManager in your class:
 +
<syntaxhighlight lang="cpp-qt">
 +
m_downloadManager = new KNS3::DownloadManager("plasmoids.knsrc", this);
 +
 +
// to know when checking for updates is done
 +
connect(m_downloadManager, SIGNAL(searchResult(KNS3::Entry::List)),
 +
    this, SLOT(slotUpdatesFound(KNS3::Entry::List)));
 +
 +
// to know about finished installations
 +
connect(m_downloadManager, SIGNAL(entryStatusChanged(KNS3::Entry)),
 +
    this, SLOT(entryStatusChanged(KNS3::Entry)));
 +
 +
// start checking for updates
 +
m_downloadManager->checkForUpdates();
 +
</syntaxhighlight>
 +
 +
The entryStatusChanged signal informs you when you installed an entry. If you don't want to make use of that possibility, you can ignore the signal.
 +
<syntaxhighlight lang="cpp-qt">
 +
void UpdateChecker::slotUpdatesFound(const KNS3::Entry::List& updates)
 +
{
 +
    m_updates = updates;
 +
    foreach (const KNS3::Entry& entry, updates) {
 +
        kDebug() << entry.name();
 +
    }
 +
}</syntaxhighlight>
 +
To install an entry you can '''show the download dialog''' or do it without the dialog by using:
 +
<syntaxhighlight lang="cpp-qt">
 +
m_downloadManager->installEntry(entry);
 +
</syntaxhighlight>

Latest revision as of 16:45, 19 July 2012


Get Hot New Stuff 3 Introduction
Tutorial Series   HotNewStuff
Previous   Get Hot New Stuff 3 - Download
What's Next   Get Hot New Stuff 3 - Upload
Further Reading   API Documentation

[edit] Overview

Just like firefox informs you of updates to your addons, KNewStuff can let you check for updates since KDE SC 4.5.

There is an example in kdeexamples.

[edit] DownloadManager

The class in question is DownloadManager.

Use an instance of DownloadManager in your class:

m_downloadManager = new KNS3::DownloadManager("plasmoids.knsrc", this);
 
// to know when checking for updates is done
connect(m_downloadManager, SIGNAL(searchResult(KNS3::Entry::List)), 
    this, SLOT(slotUpdatesFound(KNS3::Entry::List)));
 
// to know about finished installations
connect(m_downloadManager, SIGNAL(entryStatusChanged(KNS3::Entry)), 
    this, SLOT(entryStatusChanged(KNS3::Entry)));
 
// start checking for updates
m_downloadManager->checkForUpdates();

The entryStatusChanged signal informs you when you installed an entry. If you don't want to make use of that possibility, you can ignore the signal.

void UpdateChecker::slotUpdatesFound(const KNS3::Entry::List& updates)
{
    m_updates = updates;
    foreach (const KNS3::Entry& entry, updates) {
        kDebug() << entry.name();
    }
}

To install an entry you can show the download dialog or do it without the dialog by using:

m_downloadManager->installEntry(entry);

This page was last modified on 19 July 2012, at 16:45. This page has been accessed 5,023 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal