Merge PR #382: Reduce some warnings from QML

This commit is contained in:
Jenkins nymea 2020-05-27 11:59:26 +02:00
commit 5b1366dc23
5 changed files with 26 additions and 10 deletions

View File

@ -42,11 +42,6 @@ QList<State *> States::states()
return m_states;
}
int States::count() const
{
return m_states.count();
}
State *States::get(int index) const
{
return m_states.at(index);
@ -59,7 +54,7 @@ State *States::getState(const QUuid &stateTypeId) const
return state;
}
}
return 0;
return nullptr;
}
int States::rowCount(const QModelIndex &parent) const
@ -94,6 +89,7 @@ void States::addState(State *state)
emit dataChanged(index(idx), index(idx), {ValueRole});
});
endInsertRows();
emit countChanged();
}
QHash<int, QByteArray> States::roleNames() const

View File

@ -39,6 +39,8 @@
class States : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(int count READ rowCount NOTIFY countChanged)
public:
enum StateRole {
ValueRole = Qt::DisplayRole,
@ -49,7 +51,6 @@ public:
QList<State *> states();
Q_INVOKABLE int count() const;
Q_INVOKABLE State *get(int index) const;
Q_INVOKABLE State *getState(const QUuid &stateTypeId) const;
@ -58,6 +59,9 @@ public:
void addState(State *state);
signals:
void countChanged();
protected:
QHash<int, QByteArray> roleNames() const;

View File

@ -158,6 +158,16 @@ ItemDelegate {
from: root.paramType.minValue
to: root.paramType.maxValue
value: root.param.value
Component.onCompleted: {
if (root.param.value === undefined) {
if (root.paramType.defaultValue !== undefined) {
root.param.value = root.paramType.defaultValue
} else {
root.param.value = root.paramType.minValue
}
}
}
stepSize: {
var ret = 1
for (var i = 0; i < decimals; i++) {

View File

@ -115,6 +115,12 @@ DevicePageBase {
if (params["id"] === d.pendingVolumeId) {
d.pendingVolumeId = -1
print("volume action finished")
if (params.params.deviceError !== "DeviceErrorNoError") {
print("Error setting volume", params.params.deviceError)
d.pendingVolumeValue = -1;
return;
}
if (d.pendingVolumeValue !== volumeState.value) {
root.adjustVolume(d.pendingVolumeValue);
} else {

View File

@ -539,7 +539,7 @@ MainPageTile {
property int currentDevice: 0
property Device device: devicesProxy.get(currentDevice)
property DeviceClass deviceClass: device ? engine.deviceManager.deviceClasses.getDeviceClass(device.deviceClassId) : null
property DeviceClass deviceClass: device ? device.deviceClass : null
property var shownSensors: findSensors(deviceClass)
property int currentSensor: 0
@ -627,7 +627,7 @@ MainPageTile {
Label {
text: sensorsRoot.shownStateType
? (Math.round(Types.toUiValue(sensorsRoot.device.states.getState(shownStateType.id).value, sensorsRoot.shownStateType.unit) * 100) / 100) + " " + Types.toUiUnit(sensorsRoot.shownStateType.unit)
? (Math.round(Types.toUiValue(sensorsRoot.device.states.getState(sensorsRoot.shownStateType.id).value, sensorsRoot.shownStateType.unit) * 100) / 100) + " " + Types.toUiUnit(sensorsRoot.shownStateType.unit)
: ""
// font.pixelSize: app.smallFont
Layout.fillWidth: true
@ -637,7 +637,7 @@ MainPageTile {
Led {
Layout.preferredHeight: app.iconSize * .5
Layout.preferredWidth: height
state: sensorsRoot.shownStateType && sensorsRoot.device.states.getState(sensorsRoot.shownStateType.id).value === true ? "on" : "off"
state: visible && sensorsRoot.device.states.getState(sensorsRoot.shownStateType.id).value === true ? "on" : "off"
visible: sensorsRoot.shownStateType && sensorsRoot.shownStateType.type.toLowerCase() === "bool"
}
}