diff --git a/LedDisplayController/LedDisplayController.pro b/LedDisplayController/LedDisplayController.pro index c2a5154..e794731 100644 --- a/LedDisplayController/LedDisplayController.pro +++ b/LedDisplayController/LedDisplayController.pro @@ -1,4 +1,4 @@ -QT += quick bluetooth quickcontrols2 +QT += gui quick bluetooth quickcontrols2 CONFIG += c++11 TARGET = ItsblueLedDisplayController diff --git a/LedDisplayController/QBluetoothLeUart b/LedDisplayController/QBluetoothLeUart index d75f55a..c72dc56 160000 --- a/LedDisplayController/QBluetoothLeUart +++ b/LedDisplayController/QBluetoothLeUart @@ -1 +1 @@ -Subproject commit d75f55a3a16a833599cd93e1fb22f2500a94dcf5 +Subproject commit c72dc564e144315032f1d0d1c132aafdb2392c8c diff --git a/LedDisplayController/leddisplaytextmodel.cpp b/LedDisplayController/leddisplaytextmodel.cpp index a5a13f9..1e5d953 100644 --- a/LedDisplayController/leddisplaytextmodel.cpp +++ b/LedDisplayController/leddisplaytextmodel.cpp @@ -20,15 +20,18 @@ QVariant LedDisplayTextModel::data(const QModelIndex &index, int role) const } QVariant LedDisplayTextModel::data(int row, int role) const { - if (row < rowCount()) { + if (row >= 0 && row < rowCount()) { if(this->texts[row].contains(role)) { - if(role == IndexRole) - return row; - QVariant value = this->texts[row][role]; value.convert(this->roleDataTypes[LedDisplayTextModelRole(role)]); return value; } + else if(role == IndexRole) { + return row; + } + } + else { + qDebug() << "[WARING] Row " << row << "is larger than row count " << rowCount(); } return QVariant(); } @@ -115,6 +118,7 @@ void LedDisplayTextModel::remove(int row) if (row < 0 || row >= this->rowCount()) return; + qDebug() << "Removing row: " << row; beginRemoveRows(QModelIndex(), row, row); this->texts.removeAt(row); endRemoveRows(); diff --git a/LedDisplayController/ressources/qml/DisplayEditDialog.qml b/LedDisplayController/ressources/qml/DisplayEditDialog.qml index 2769cc4..91aaabe 100644 --- a/LedDisplayController/ressources/qml/DisplayEditDialog.qml +++ b/LedDisplayController/ressources/qml/DisplayEditDialog.qml @@ -69,11 +69,8 @@ Dialog { } function edit() { - reset() - nameTextField.value = backend.bleClient.currentDevice.name - open() } diff --git a/LedDisplayController/ressources/qml/DisplayTextModelListView.qml b/LedDisplayController/ressources/qml/DisplayTextModelListView.qml index 210a06d..a49e1ff 100644 --- a/LedDisplayController/ressources/qml/DisplayTextModelListView.qml +++ b/LedDisplayController/ressources/qml/DisplayTextModelListView.qml @@ -30,7 +30,7 @@ ListView { width: control.width onClicked: { - popup.edit(model) + popup.edit(control.model, model) } } @@ -71,10 +71,5 @@ ListView { Material.theme: control.Material.theme Material.accent: control.Material.accent - - onDiscarded: { - control.model.remove(editingModel.index) - popup.close() - } } } diff --git a/LedDisplayController/ressources/qml/TextEditDialog.qml b/LedDisplayController/ressources/qml/TextEditDialog.qml index 829e3ef..274e10f 100644 --- a/LedDisplayController/ressources/qml/TextEditDialog.qml +++ b/LedDisplayController/ressources/qml/TextEditDialog.qml @@ -10,6 +10,7 @@ Dialog { property bool editing property var editingModel + property var editingModelData parent: Overlay.overlay @@ -25,15 +26,15 @@ Dialog { onAccepted: { if(editing) { - editingModel.active = activeSwitch.checked - editingModel.text = textTextField.value - editingModel.runtime = runtimeSpinBox.value - editingModel.color = colorColorPicker.value - editingModel.alignment = alignmentComboBox.currentIndex - editingModel.scroll = scrollSwitch.checked - editingModel.scrollDirection = scrollDirectionComboBox.currentIndex - editingModel.scrollSpeed = scrollSpeedSpinBox.value - editingModel.scrollCount = scrollCountSpinBox.value + editingModelData.active = activeSwitch.checked + editingModelData.text = textTextField.value + editingModelData.runtime = runtimeSpinBox.value + editingModelData.color = colorColorPicker.value + editingModelData.alignment = alignmentComboBox.currentIndex + editingModelData.scroll = scrollSwitch.checked + editingModelData.scrollDirection = scrollDirectionComboBox.currentIndex + editingModelData.scrollSpeed = scrollSpeedSpinBox.value + editingModelData.scrollCount = scrollCountSpinBox.value } else { editingModel.append(textTextField.value, @@ -49,6 +50,11 @@ Dialog { } } + onDiscarded: { + editingModel.remove(popup.editingModelData.index) + popup.close() + } + contentItem: Flickable { implicitHeight: dataFieldsGridLayout.height @@ -163,21 +169,22 @@ Dialog { } } - function edit(model) { + function edit(model, modelData) { editingModel = model + editingModelData = modelData editing = true reset() - activeSwitch.checked = editingModel.active - textTextField.value = editingModel.text - runtimeSpinBox.value = editingModel.runtime - colorColorPicker.value = editingModel.color - alignmentComboBox.currentIndex = editingModel.alignment - scrollSwitch.checked = editingModel.scroll - scrollDirectionComboBox.currentIndex = editingModel.scrollDirection - scrollSpeedSpinBox.value = editingModel.scrollSpeed - scrollCountSpinBox.value = editingModel.scrollCount + activeSwitch.checked = editingModelData.active + textTextField.value = editingModelData.text + runtimeSpinBox.value = editingModelData.runtime + colorColorPicker.value = editingModelData.color + alignmentComboBox.currentIndex = editingModelData.alignment + scrollSwitch.checked = editingModelData.scroll + scrollDirectionComboBox.currentIndex = editingModelData.scrollDirection + scrollSpeedSpinBox.value = editingModelData.scrollSpeed + scrollCountSpinBox.value = editingModelData.scrollCount open() } diff --git a/OmobiDisplayApp/QBluetoothLeUart b/OmobiDisplayApp/QBluetoothLeUart deleted file mode 160000 index 76e4575..0000000 --- a/OmobiDisplayApp/QBluetoothLeUart +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 76e457593e889885fd410fdbcdd659706a1eceb8