diff options
Diffstat (limited to 'src/plugins/updateinfo/updateinfoplugin.h')
-rw-r--r-- | src/plugins/updateinfo/updateinfoplugin.h | 57 |
1 files changed, 38 insertions, 19 deletions
diff --git a/src/plugins/updateinfo/updateinfoplugin.h b/src/plugins/updateinfo/updateinfoplugin.h index 6f4c0576cf..69862e1be5 100644 --- a/src/plugins/updateinfo/updateinfoplugin.h +++ b/src/plugins/updateinfo/updateinfoplugin.h @@ -33,26 +33,28 @@ #include <extensionsystem/iplugin.h> -#include <QTime> -#include <QDomDocument> +QT_BEGIN_NAMESPACE +class QDate; +QT_END_NAMESPACE namespace UpdateInfo { -namespace Constants { - const char FILTER_OPTIONS_PAGE[] = QT_TRANSLATE_NOOP("Update", "Update"); -} // namespace Constants - namespace Internal { -class SettingsPage; class UpdateInfoPluginPrivate; class UpdateInfoPlugin : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "UpdateInfo.json") - + Q_ENUMS(CheckUpdateInterval) public: + enum CheckUpdateInterval { + DailyCheck, + WeeklyCheck, + MonthlyCheck + }; + UpdateInfoPlugin(); virtual ~UpdateInfoPlugin(); @@ -60,22 +62,39 @@ public: void extensionsInitialized(); bool initialize(const QStringList &arguments, QString *errorMessage); - void loadSettings(); - void saveSettings(); + bool isAutomaticCheck() const; + void setAutomaticCheck(bool on); + + CheckUpdateInterval checkUpdateInterval() const; + void setCheckUpdateInterval(CheckUpdateInterval interval); - QTime scheduledUpdateTime() const; - void setScheduledUpdateTime(const QTime &time); + QDate lastCheckDate() const; + QDate nextCheckDate() const; + QDate nextCheckDate(CheckUpdateInterval interval) const; -protected: - void timerEvent(QTimerEvent *event); + bool isCheckForUpdatesRunning() const; + void startCheckForUpdates(); -private slots: - void parseUpdates(); - void startUpdaterUiApplication(); +signals: + void lastCheckDateChanged(const QDate &date); + void newUpdatesAvailable(bool available); + void checkForUpdatesRunningChanged(bool running); private: - QDomDocument update(); - template <typename T> void settingsHelper(T *settings); + void setLastCheckDate(const QDate &date); + + void startAutoCheckForUpdates(); + void stopAutoCheckForUpdates(); + void doAutoCheckForUpdates(); + + void startUpdater(); + void stopCheckForUpdates(); + + void collectCheckForUpdatesOutput(const QString &contents); + void checkForUpdatesFinished(); + + void loadSettings() const; + void saveSettings(); private: UpdateInfoPluginPrivate *d; |