Add properties to the controller object for showing the upgrade status
This commit is contained in:
parent
4cc16757ad
commit
a2f8d08511
2 changed files with 61 additions and 4 deletions
|
@ -6,8 +6,9 @@
|
||||||
class Controller::PrivateData {
|
class Controller::PrivateData {
|
||||||
public:
|
public:
|
||||||
bool available, nameChanged;
|
bool available, nameChanged;
|
||||||
int id, type;
|
int id, type, upgradeStep;
|
||||||
QString name, serial, firmware;
|
QString name, serial, firmware;
|
||||||
|
qreal upgradeProgress;
|
||||||
};
|
};
|
||||||
|
|
||||||
Controller::Controller(int id, int type, const QString &name, QObject *parent) :
|
Controller::Controller(int id, int type, const QString &name, QObject *parent) :
|
||||||
|
@ -19,6 +20,8 @@ Controller::Controller(int id, int type, const QString &name, QObject *parent) :
|
||||||
d->available = false;
|
d->available = false;
|
||||||
d->nameChanged = false;
|
d->nameChanged = false;
|
||||||
d->name = name;
|
d->name = name;
|
||||||
|
d->upgradeStep = -1;
|
||||||
|
d->upgradeProgress = 0;
|
||||||
|
|
||||||
const int DATA_LENGTH = 255;
|
const int DATA_LENGTH = 255;
|
||||||
char buff[DATA_LENGTH];
|
char buff[DATA_LENGTH];
|
||||||
|
@ -42,6 +45,7 @@ void Controller::setAvailable(bool available) {
|
||||||
d->available = available;
|
d->available = available;
|
||||||
emit availableChanged();
|
emit availableChanged();
|
||||||
emit firmwareChanged();
|
emit firmwareChanged();
|
||||||
|
emit upgradableChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Controller::firmware() const {
|
QString Controller::firmware() const {
|
||||||
|
@ -100,3 +104,39 @@ int Controller::type() const {
|
||||||
return d->type;
|
return d->type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Controller::upgradable() const {
|
||||||
|
if (!this->available()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return isUpgradable();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::upgrade() {
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
qreal Controller::upgradeProgress() {
|
||||||
|
return d->upgradeProgress;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Controller::upgradeStep() const {
|
||||||
|
return d->upgradeStep;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::setUpgradeStep(int newStep) {
|
||||||
|
d->upgradeStep = newStep;
|
||||||
|
if (newStep = -1) {
|
||||||
|
setUpgradeProgress(0);
|
||||||
|
}
|
||||||
|
emit upgradeStepChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::setUpgradeProgress(qreal completed) {
|
||||||
|
d->upgradeProgress = completed;
|
||||||
|
emit upgradeProgressChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Controller::isUpgradable() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,14 +12,17 @@ class Controller : public QObject
|
||||||
Q_PROPERTY(int id READ id NOTIFY idChanged)
|
Q_PROPERTY(int id READ id NOTIFY idChanged)
|
||||||
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
|
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
|
||||||
Q_PROPERTY(QString serial READ serial NOTIFY serialChanged)
|
Q_PROPERTY(QString serial READ serial NOTIFY serialChanged)
|
||||||
Q_PROPERTY(int type READ type NOTIFY typeChanged())
|
Q_PROPERTY(int type READ type NOTIFY typeChanged)
|
||||||
|
Q_PROPERTY(bool upgradable READ upgradable NOTIFY upgradableChanged)
|
||||||
|
Q_PROPERTY(qreal upgradeProgress READ upgradeProgress NOTIFY upgradeProgressChanged)
|
||||||
|
Q_PROPERTY(int upgradeStep READ upgradeStep NOTIFY upgradeStepChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit Controller(int id = 0, int type = 1, const QString &name = "", QObject *parent = 0);
|
explicit Controller(int id = 0, int type = 1, const QString &name = "", QObject *parent = 0);
|
||||||
~Controller();
|
virtual ~Controller();
|
||||||
|
|
||||||
bool available() const;
|
bool available() const;
|
||||||
void setAvailable(bool available);
|
virtual void setAvailable(bool available);
|
||||||
|
|
||||||
QString firmware() const;
|
QString firmware() const;
|
||||||
void setFirmware(const QString &version);
|
void setFirmware(const QString &version);
|
||||||
|
@ -37,6 +40,11 @@ public:
|
||||||
|
|
||||||
int type() const;
|
int type() const;
|
||||||
|
|
||||||
|
bool upgradable() const;
|
||||||
|
Q_INVOKABLE virtual void upgrade();
|
||||||
|
qreal upgradeProgress();
|
||||||
|
int upgradeStep() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void availableChanged();
|
void availableChanged();
|
||||||
void firmwareChanged();
|
void firmwareChanged();
|
||||||
|
@ -44,6 +52,15 @@ signals:
|
||||||
void nameChanged();
|
void nameChanged();
|
||||||
void serialChanged();
|
void serialChanged();
|
||||||
void typeChanged();
|
void typeChanged();
|
||||||
|
void upgradableChanged();
|
||||||
|
void upgradeProgressChanged();
|
||||||
|
void upgradeStepChanged();
|
||||||
|
void upgradeDone();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool isUpgradable() const;
|
||||||
|
void setUpgradeStep(int newStep);
|
||||||
|
void setUpgradeProgress(qreal completed);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class PrivateData;
|
class PrivateData;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue