/usr/include/KF5/KNewStuff3/kns3/downloadwidget.h is in libkf5newstuff-dev 5.18.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | /*
knewstuff3/ui/downloaddialog.h.
Copyright (C) 2005 by Enrico Ros <eros.kde@email.it>
Copyright (C) 2005 - 2007 Josef Spillner <spillner@kde.org>
Copyright (C) 2007 Dirk Mueller <mueller@kde.org>
Copyright (C) 2007-2009 Jeremy Whiting <jpwhiting@kde.org>
Copyright (C) 2009-2010 Frederik Gladhorn <gladhorn@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef KNEWSTUFF3_UI_DOWNLOADWIDGET_H
#define KNEWSTUFF3_UI_DOWNLOADWIDGET_H
#include <QWidget>
#include "knewstuff_export.h"
#include "entry.h"
namespace KNS3
{
class DownloadWidgetPrivate;
/**
* KNewStuff download widget.
*
* The download widget will present items to the user
* for installation, updates and removal.
* Preview images as well as other meta information can be seen.
*
* \section knsrc knsrc Files
* The Dialog is configured by a .knsrc file containing the KHotNewStuff configuration.
* Your application should install a file called: <em>$KDEDIR/share/config/appname.knsrc</em>
*
* The file could look like this for wallpapers:
* <pre>
[KNewStuff3]
ProvidersUrl=http://download.kde.org/ocs/providers.xml
Categories=KDE Wallpaper 1920x1200,KDE Wallpaper 1600x1200
StandardResource=wallpaper
Uncompress=archive
* </pre>
*
* Uncompress can be one of: always, never or archive:
* <ol>
* <li>always: assume all downloaded files are archives and need to be extracted</li>
* <li>never: never try to extract the file</li>
* <li>archive: if the file is an archive, uncompress it, otherwise just pass it on</li>
* </ol>
*
* You have different options to set the target install directory:
* <ol><li>StandardResource: not available in KF5, use XdgTargetDir instead.</li>
* <li>TargetDir: since KF5, this is equivalent to XdgTargetDir.
* <li>XdgTargetDir: a directory in the $XDG_DATA_HOME directory such as <em>.local/share/wallpapers</em>.
* This is what QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1Char('/') + name will return.</li>
* </ol>
*
* @since 4.5
*/
class KNEWSTUFF_EXPORT DownloadWidget : public QWidget
{
Q_OBJECT
public:
/**
* Create a download widget that lets the user install, update and uninstall
* contents. It will try to find a appname.knsrc file with the configuration.
* Appname is the name of your application as provided in the about data->
*
* @param parent the parent of the dialog
*/
explicit DownloadWidget(QWidget *parent = 0);
/**
* Create a download widget that lets the user install, update and uninstall
* contents. Manually specify the name of a .knsrc file where the
* KHotNewStuff configuration can be found.
*
* @param configFile the name of the configuration file
* @param parent the parent of the dialog
*/
explicit DownloadWidget(const QString &configFile, QWidget *parent = 0);
/**
* destructor
*/
~DownloadWidget();
/**
* The list of entries with changed status (installed/uninstalled)
* @return the list of entries
*/
KNS3::Entry::List changedEntries();
/**
* The list of entries that have been newly installed
* @return the list of entries
*/
KNS3::Entry::List installedEntries();
/**
* Set the title for display purposes in the widget's title.
* @param title the title of the application (or category or whatever)
*/
void setTitle(const QString &title);
/**
* Get the current title
* @return the current title
*/
QString title() const;
private:
void init(const QString &configFile);
DownloadWidgetPrivate *const d;
Q_DISABLE_COPY(DownloadWidget)
Q_PRIVATE_SLOT(d, void slotListViewListMode())
Q_PRIVATE_SLOT(d, void slotListViewIconMode())
Q_PRIVATE_SLOT(d, void slotProvidersLoaded())
Q_PRIVATE_SLOT(d, void slotEntriesLoaded(const KNS3::EntryInternal::List &entries))
Q_PRIVATE_SLOT(d, void slotEntryChanged(const KNS3::EntryInternal &entry))
Q_PRIVATE_SLOT(d, void slotShowDetails(const KNS3::EntryInternal &entry))
Q_PRIVATE_SLOT(d, void slotShowOverview())
Q_PRIVATE_SLOT(d, void slotPayloadFailed(const EntryInternal &entry))
Q_PRIVATE_SLOT(d, void slotPayloadLoaded(QUrl url))
Q_PRIVATE_SLOT(d, void slotResetMessage())
Q_PRIVATE_SLOT(d, void slotNetworkTimeout())
Q_PRIVATE_SLOT(d, void sortingChanged())
Q_PRIVATE_SLOT(d, void slotSearchTextChanged())
Q_PRIVATE_SLOT(d, void slotUpdateSearch())
Q_PRIVATE_SLOT(d, void slotCategoryChanged(int))
Q_PRIVATE_SLOT(d, void slotInfo(QString provider, QString server, QString version))
Q_PRIVATE_SLOT(d, void slotError(const QString &message))
Q_PRIVATE_SLOT(d, void scrollbarValueChanged(int value))
friend class DownloadDialog;
};
}
#endif
|