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 {
|
||||
public:
|
||||
bool available, nameChanged;
|
||||
int id, type;
|
||||
int id, type, upgradeStep;
|
||||
QString name, serial, firmware;
|
||||
qreal upgradeProgress;
|
||||
};
|
||||
|
||||
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->nameChanged = false;
|
||||
d->name = name;
|
||||
d->upgradeStep = -1;
|
||||
d->upgradeProgress = 0;
|
||||
|
||||
const int DATA_LENGTH = 255;
|
||||
char buff[DATA_LENGTH];
|
||||
|
@ -42,6 +45,7 @@ void Controller::setAvailable(bool available) {
|
|||
d->available = available;
|
||||
emit availableChanged();
|
||||
emit firmwareChanged();
|
||||
emit upgradableChanged();
|
||||
}
|
||||
|
||||
QString Controller::firmware() const {
|
||||
|
@ -100,3 +104,39 @@ int Controller::type() const {
|
|||
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(QString name READ name WRITE setName NOTIFY nameChanged)
|
||||
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:
|
||||
explicit Controller(int id = 0, int type = 1, const QString &name = "", QObject *parent = 0);
|
||||
~Controller();
|
||||
virtual ~Controller();
|
||||
|
||||
bool available() const;
|
||||
void setAvailable(bool available);
|
||||
virtual void setAvailable(bool available);
|
||||
|
||||
QString firmware() const;
|
||||
void setFirmware(const QString &version);
|
||||
|
@ -37,6 +40,11 @@ public:
|
|||
|
||||
int type() const;
|
||||
|
||||
bool upgradable() const;
|
||||
Q_INVOKABLE virtual void upgrade();
|
||||
qreal upgradeProgress();
|
||||
int upgradeStep() const;
|
||||
|
||||
signals:
|
||||
void availableChanged();
|
||||
void firmwareChanged();
|
||||
|
@ -44,6 +52,15 @@ signals:
|
|||
void nameChanged();
|
||||
void serialChanged();
|
||||
void typeChanged();
|
||||
void upgradableChanged();
|
||||
void upgradeProgressChanged();
|
||||
void upgradeStepChanged();
|
||||
void upgradeDone();
|
||||
|
||||
protected:
|
||||
virtual bool isUpgradable() const;
|
||||
void setUpgradeStep(int newStep);
|
||||
void setUpgradeProgress(qreal completed);
|
||||
|
||||
private:
|
||||
class PrivateData;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue