aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/updateinfo/updateinfoplugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/updateinfo/updateinfoplugin.h')
-rw-r--r--src/plugins/updateinfo/updateinfoplugin.h57
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;