File indexing completed on 2024-12-22 04:13:04

0001 /*
0002  *  SPDX-FileCopyrightText: 2019 Anna Medonosova <anna.medonosova@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 
0008 #ifndef KISMANUALUPDATER_H
0009 #define KISMANUALUPDATER_H
0010 
0011 #include <QScopedPointer>
0012 
0013 #include <KisUpdaterBase.h>
0014 #include <KisMultiFeedRSSModel.h>
0015 #include "kritaui_export.h"
0016 
0017 
0018 class KRITAUI_EXPORT KisManualUpdater : public KisUpdaterBase
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     KisManualUpdater();
0024     /**
0025      * @brief KisManualUpdater - constructor for testing
0026      * @param rssModel
0027      * @param currentVersion
0028      */
0029     explicit KisManualUpdater(MultiFeedRssModel* rssModel, QString& currentVersion);
0030 
0031     void checkForUpdate() override;
0032 
0033     // this updater can only check for updates
0034     /**
0035      * @brief the manual updater can only check for available versions
0036      * @return false
0037      */
0038     inline bool hasUpdateCapability() override { return false; }
0039     inline void doUpdate() override { return; }
0040 
0041 public Q_SLOTS:
0042     void rssDataChanged();
0043 
0044 private:
0045     bool availableVersionIsHigher(QString currentVersion, QString availableVersion);
0046 
0047     QScopedPointer<MultiFeedRssModel> m_rssModel;
0048     QString m_currentVersion;
0049 
0050     friend class KisManualUpdaterTest;
0051 };
0052 
0053 #endif // KISMANUALUPDATER_H