downloadLinkInformationList() const;
+ /**
+ * Add a new download option to this entry
+ * @param info The new download option
+ */
void appendDownloadLinkInformation(const DownloadLinkInformation &info);
+ /**
+ * Remove all download options from this entry
+ */
void clearDownloadLinkInformation();
+ /**
+ * A string representing the URL for a website where the user can donate
+ * to the author of this entry
+ * @return The string version of the URL for the entry's donation website
+ */
QString donationLink() const;
+ /**
+ * Set a string representation of the URL for the donation website for this entry.
+ * Note: This is not checked for validity, the caller must do this.
+ * @param link String version of the URL for the entry's donation website
+ */
void setDonationLink(const QString &link);
/**
@@ -435,6 +519,11 @@
* Sets the entry's status. If no status is set, the default will be
* \ref Invalid.
*
+ * Note that while this enum is currently found in KNS3::Entry,
+ * it will be moved to this class once the binary compatibility
+ * lock is lifted for Frameworks 6. For now, you should read any
+ * reference to the KNS3::Entry::Status enumerator as KNSCore::Entry::Status
+ *
* @param status New status of the entry
*/
void setStatus(KNS3::Entry::Status status);
diff --git a/src/downloaddialog.h b/src/downloaddialog.h
--- a/src/downloaddialog.h
+++ b/src/downloaddialog.h
@@ -46,7 +46,7 @@
*
* \section knsrc knsrc Files
* The Dialog is configured by a .knsrc file containing the KHotNewStuff configuration.
- * Your application should install a file called: $KDEDIR/share/config/appname.knsrc
+ * Your application should install a file into the XDG configuration location called: /etc/xdg/appname.knsrc
*
* The file could look like this for wallpapers:
*
diff --git a/src/qtquick/downloadlinkinfo.h b/src/qtquick/downloadlinkinfo.h
--- a/src/qtquick/downloadlinkinfo.h
+++ b/src/qtquick/downloadlinkinfo.h
@@ -26,6 +26,13 @@
#include "entryinternal.h"
+/**
+ * @short One downloadable item as contained within one content item
+ *
+ * A simple data container which wraps a KNSCore::EntryInternal::DownloadLinkInformation
+ * instance and provides property accessors for each of the pieces of information stored
+ * in it.
+ */
class DownloadLinkInfo : public QObject
{
Q_OBJECT
diff --git a/src/qtquick/quickengine.h b/src/qtquick/quickengine.h
--- a/src/qtquick/quickengine.h
+++ b/src/qtquick/quickengine.h
@@ -24,6 +24,14 @@
#include
+/**
+ * @short Encapsulates a KNSCore::Engine for use in Qt Quick
+ *
+ * This class takes care of initialisation of a KNSCore::Engine when assigned a config file.
+ * The actual KNSCore:Engine can be read through the Engine::engine property.
+ *
+ * @see ItemsModel
+ */
class Engine : public QObject
{
Q_OBJECT
diff --git a/src/qtquick/quickitemsmodel.h b/src/qtquick/quickitemsmodel.h
--- a/src/qtquick/quickitemsmodel.h
+++ b/src/qtquick/quickitemsmodel.h
@@ -24,6 +24,41 @@
#include
+/**
+ * @short A model which shows the contents found in an Engine
+ *
+ * Use an instance of this model to show the content items represented by the configuration
+ * file passed to an engine. The following sample assumes you are using the Engine component,
+ * however it is also possible to pass a KNSCore::Engine instance created from C++ to this
+ * property, if you have specific requirements not covered by the convenience component.
+ *
+ * Most data in the model is simple, but the DownloadLinks role will return a list of
+ * DownloadLinkInfo entries, which you will need to manage in some way.
+ *
+ * You might also look at NewStuffList and NewStuffItem to see some more detail on what can be
+ * done with the data.
+ *
+ * @see NewStuffList
+ * @see NewStuffItem
+ *
+ * \code
+ import org.kde.newstuff 1.0 as NewStuff
+ Item {
+ NewStuff.ItemsModel {
+ id: newStuffModel;
+ engine: newStuffEngine.engine;
+ }
+ NewStuff.Engine {
+ id: newStuffEngine;
+ configFile: "/some/filesystem/location/wallpaper.knsrc";
+ onMessage: console.log("KNS Message: " + message);
+ onIdleMessage: console.log("KNS Idle: " + message);
+ onBusyMessage: console.log("KNS Busy: " + message);
+ onErrorMessage: console.log("KNS Error: " + message);
+ }
+ }
+ \endcode
+ */
class ItemsModel : public QAbstractListModel
{
Q_OBJECT
diff --git a/src/upload/atticahelper_p.h b/src/upload/atticahelper_p.h
--- a/src/upload/atticahelper_p.h
+++ b/src/upload/atticahelper_p.h
@@ -34,6 +34,18 @@
namespace KNSCore
{
class HTTPJob;
+/**
+ * @short Upload helper for Attica based providers
+ *
+ * Use this class to help you build upload functionality into applications
+ * which do not fit the KNS3::UploadDialog use case, such as situations where
+ * you have to fit the uploading into the middle of another workflow.
+ *
+ * As uploading is not entirely trivial, we suggest you look at the code in
+ * uploaddialog.cpp to see an example of an actual implementation.
+ *
+ * @see KNS3::UploadDialog
+ */
class KNEWSTUFFCORE_EXPORT AtticaHelper : public QObject
{
Q_OBJECT