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

Jump to: navigation, search
m (Text replace - "<code cppqt="cppqt">" to "<syntaxhighlight lang="cpp-qt">")
 
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Development/Tutorials/Collaboration/HotNewStuff/Updates}}
+
 
  
 
{{TutorialBrowser|
 
{{TutorialBrowser|

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,022 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