Register groups model improvements and more default registers
This commit is contained in:
@ -23,11 +23,11 @@ qt_add_executable(applightcontrol
|
|||||||
|
|
||||||
qt_add_qml_module(applightcontrol
|
qt_add_qml_module(applightcontrol
|
||||||
URI lightcontrol
|
URI lightcontrol
|
||||||
|
VERSION 1.0
|
||||||
RESOURCES
|
RESOURCES
|
||||||
icons/movinghead.png
|
icons/movinghead.png
|
||||||
icons/nebelmaschine.png
|
icons/nebelmaschine.png
|
||||||
icons/rgbstrahler.png
|
icons/rgbstrahler.png
|
||||||
VERSION 1.0
|
|
||||||
QML_FILES
|
QML_FILES
|
||||||
main.qml
|
main.qml
|
||||||
HomePage.qml
|
HomePage.qml
|
||||||
|
@ -3,12 +3,29 @@ import QtQuick
|
|||||||
import lightcontrol
|
import lightcontrol
|
||||||
|
|
||||||
ListModel {
|
ListModel {
|
||||||
ListElement { text: qsTr('Dummy'); value: DeviceTypeRegisterType.Dummy }
|
ListElement { text: qsTr('Dummy'); value: DeviceTypeRegisterType.Dummy }
|
||||||
ListElement { text: qsTr('Dimmer'); value: DeviceTypeRegisterType.Dimmer }
|
ListElement { text: qsTr('Dimmer'); value: DeviceTypeRegisterType.Dimmer }
|
||||||
ListElement { text: qsTr('Red'); value: DeviceTypeRegisterType.Red }
|
ListElement { text: qsTr('Red'); value: DeviceTypeRegisterType.Red }
|
||||||
ListElement { text: qsTr('Green'); value: DeviceTypeRegisterType.Green }
|
ListElement { text: qsTr('Green'); value: DeviceTypeRegisterType.Green }
|
||||||
ListElement { text: qsTr('Blue'); value: DeviceTypeRegisterType.Blue }
|
ListElement { text: qsTr('Blue'); value: DeviceTypeRegisterType.Blue }
|
||||||
ListElement { text: qsTr('White'); value: DeviceTypeRegisterType.White }
|
ListElement { text: qsTr('White'); value: DeviceTypeRegisterType.White }
|
||||||
ListElement { text: qsTr('Strobo'); value: DeviceTypeRegisterType.Strobo }
|
ListElement { text: qsTr('Shutter'); value: DeviceTypeRegisterType.Shutter }
|
||||||
ListElement { text: qsTr('Shutter'); value: DeviceTypeRegisterType.Shutter }
|
ListElement { text: qsTr('Pan'); value: DeviceTypeRegisterType.Pan }
|
||||||
|
ListElement { text: qsTr('PanFine'); value: DeviceTypeRegisterType.PanFine }
|
||||||
|
ListElement { text: qsTr('Tilt'); value: DeviceTypeRegisterType.Tilt }
|
||||||
|
ListElement { text: qsTr('TiltFine'); value: DeviceTypeRegisterType.TiltFine }
|
||||||
|
ListElement { text: qsTr('Color'); value: DeviceTypeRegisterType.Color }
|
||||||
|
ListElement { text: qsTr('Cyan'); value: DeviceTypeRegisterType.Cyan }
|
||||||
|
ListElement { text: qsTr('Magenta'); value: DeviceTypeRegisterType.Magenta }
|
||||||
|
ListElement { text: qsTr('Yellow'); value: DeviceTypeRegisterType.Yellow }
|
||||||
|
ListElement { text: qsTr('Gobo'); value: DeviceTypeRegisterType.Gobo }
|
||||||
|
ListElement { text: qsTr('Rotation'); value: DeviceTypeRegisterType.Rotation }
|
||||||
|
ListElement { text: qsTr('Prism'); value: DeviceTypeRegisterType.Prism }
|
||||||
|
ListElement { text: qsTr('Frost'); value: DeviceTypeRegisterType.Frost }
|
||||||
|
ListElement { text: qsTr('Focus'); value: DeviceTypeRegisterType.Focus }
|
||||||
|
ListElement { text: qsTr('Speed'); value: DeviceTypeRegisterType.Speed }
|
||||||
|
ListElement { text: qsTr('Iris'); value: DeviceTypeRegisterType.Iris }
|
||||||
|
ListElement { text: qsTr('Zoom'); value: DeviceTypeRegisterType.Zoom }
|
||||||
|
ListElement { text: qsTr('Extra1'); value: DeviceTypeRegisterType.Extra1 }
|
||||||
|
ListElement { text: qsTr('Extra2'); value: DeviceTypeRegisterType.Extra2 }
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import QtQuick
|
|||||||
import QtQuick.Controls.Material
|
import QtQuick.Controls.Material
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
|
|
||||||
import lightcontrol
|
import lightcontrol 1.0
|
||||||
|
|
||||||
Pane {
|
Pane {
|
||||||
property alias deviceTypeId: model.deviceTypeId
|
property alias deviceTypeId: model.deviceTypeId
|
||||||
|
@ -444,4 +444,3 @@ void registrierDenShit()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Q_COREAPP_STARTUP_FUNCTION(registrierDenShit)
|
Q_COREAPP_STARTUP_FUNCTION(registrierDenShit)
|
||||||
|
|
||||||
|
@ -15,7 +15,23 @@ DmxController::DmxController(QObject *parent) :
|
|||||||
{
|
{
|
||||||
.id=0,
|
.id=0,
|
||||||
.name="Stairville MH-X50+",
|
.name="Stairville MH-X50+",
|
||||||
.iconName="movinghead"
|
.iconName="movinghead",
|
||||||
|
.registers {
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Pan },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Tilt },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::PanFine },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::TiltFine },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Speed },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Color },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Shutter },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Dimmer },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Gobo },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Rotation },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Extra1 },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Extra2 },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Prism },
|
||||||
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Focus }
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id=1,
|
.id=1,
|
||||||
@ -27,8 +43,8 @@ DmxController::DmxController(QObject *parent) :
|
|||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Green },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Green },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Blue },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Blue },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::White },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::White },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Strobo },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Shutter },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Dummy }
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Extra1 }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -59,8 +75,8 @@ DmxController::DmxController(QObject *parent) :
|
|||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Green },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Green },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Blue },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Blue },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::White },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::White },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Dummy },
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Extra1 },
|
||||||
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Strobo }
|
DeviceTypeRegisterConfig { .type = DeviceTypeRegisterType::Shutter }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -92,19 +108,19 @@ DmxController::DmxController(QObject *parent) :
|
|||||||
{ .id=2, .name="Alle Grünen" },
|
{ .id=2, .name="Alle Grünen" },
|
||||||
{ .id=3, .name="Alle Blauen" },
|
{ .id=3, .name="Alle Blauen" },
|
||||||
{ .id=4, .name="Alle Weißen" },
|
{ .id=4, .name="Alle Weißen" },
|
||||||
{ .id=5, .name="Alle Strobo" },
|
{ .id=5, .name="Alle Shutter" },
|
||||||
{ .id=6, .name="2n Dimmmer" },
|
{ .id=6, .name="2n Dimmmer" },
|
||||||
{ .id=7, .name="2n Roten" },
|
{ .id=7, .name="2n Roten" },
|
||||||
{ .id=8, .name="2n Grünen" },
|
{ .id=8, .name="2n Grünen" },
|
||||||
{ .id=9, .name="2n Blauen" },
|
{ .id=9, .name="2n Blauen" },
|
||||||
{ .id=10, .name="2n Weißen" },
|
{ .id=10, .name="2n Weißen" },
|
||||||
{ .id=11, .name="2n Strobo" },
|
{ .id=11, .name="2n Shutter" },
|
||||||
{ .id=12, .name="2n+1 Dimmmer" },
|
{ .id=12, .name="2n+1 Dimmmer" },
|
||||||
{ .id=13, .name="2n+1 Roten" },
|
{ .id=13, .name="2n+1 Roten" },
|
||||||
{ .id=14, .name="2n+1 Grünen" },
|
{ .id=14, .name="2n+1 Grünen" },
|
||||||
{ .id=15, .name="2n+1 Blauen" },
|
{ .id=15, .name="2n+1 Blauen" },
|
||||||
{ .id=16, .name="2n+1 Weißen" },
|
{ .id=16, .name="2n+1 Weißen" },
|
||||||
{ .id=17, .name="2n+1 Strobo" },
|
{ .id=17, .name="2n+1 Shutter" },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@ -152,7 +168,6 @@ bool DmxController::start()
|
|||||||
|
|
||||||
void DmxController::setChannel(int channel, int value)
|
void DmxController::setChannel(int channel, int value)
|
||||||
{
|
{
|
||||||
//qDebug() << channel << value;
|
|
||||||
Q_ASSERT(channel >= 0 && channel < std::size(buf));
|
Q_ASSERT(channel >= 0 && channel < std::size(buf));
|
||||||
buf[channel] = value;
|
buf[channel] = value;
|
||||||
}
|
}
|
||||||
|
@ -32,19 +32,23 @@ signals:
|
|||||||
|
|
||||||
void deviceTypeInserted(int first, int last);
|
void deviceTypeInserted(int first, int last);
|
||||||
void deviceTypeRemoved(int first, int last);
|
void deviceTypeRemoved(int first, int last);
|
||||||
void deviceTypeNameChanged(int index, const QString &name);
|
void deviceTypeNameChanged(int row, const QString &name);
|
||||||
void deviceTypeIconNameChanged(int index, const QString &iconName);
|
void deviceTypeIconNameChanged(int row, const QString &iconName);
|
||||||
|
|
||||||
void deviceTypeRegisterInserted(const DeviceTypeConfig &deviceType, int first, int last);
|
void deviceTypeRegisterInserted(const DeviceTypeConfig &deviceType, int first, int last);
|
||||||
void deviceTypeRegisterRemoved(const DeviceTypeConfig &deviceType, int first, int last);
|
void deviceTypeRegisterRemoved(const DeviceTypeConfig &deviceType, int first, int last);
|
||||||
void deviceTypeRegisterTypeChanged(const DeviceTypeConfig &deviceType, int index, DeviceTypeRegisterType type);
|
void deviceTypeRegisterTypeChanged(const DeviceTypeConfig &deviceType, int row, DeviceTypeRegisterType type);
|
||||||
|
|
||||||
void deviceInserted(int first, int last);
|
void deviceInserted(int first, int last);
|
||||||
void deviceRemoved(int first, int last);
|
void deviceRemoved(int first, int last);
|
||||||
void deviceNameChanged(int index, const QString &name);
|
void deviceNameChanged(int row, const QString &name);
|
||||||
void deviceDeviceTypeIdChanged(int index, int deviceTypeId);
|
void deviceDeviceTypeIdChanged(int row, int deviceTypeId);
|
||||||
void deviceAddressChanged(int index, int address);
|
void deviceAddressChanged(int row, int address);
|
||||||
void devicePositionChanged(int index, const QVector3D &position);
|
void devicePositionChanged(int row, const QVector3D &position);
|
||||||
|
|
||||||
|
void registerGroupInserted(int first, int last);
|
||||||
|
void registerGroupRemoved(int first, int last);
|
||||||
|
void registerGroupNameChanged(int row, const QString &name);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
friend class DmxControllerThread;
|
friend class DmxControllerThread;
|
||||||
|
@ -18,8 +18,25 @@ enum class DeviceTypeRegisterType
|
|||||||
Green,
|
Green,
|
||||||
Blue,
|
Blue,
|
||||||
White,
|
White,
|
||||||
Strobo,
|
Shutter,
|
||||||
Shutter
|
Pan,
|
||||||
|
PanFine,
|
||||||
|
Tilt,
|
||||||
|
TiltFine,
|
||||||
|
Color,
|
||||||
|
Cyan,
|
||||||
|
Magenta,
|
||||||
|
Yellow,
|
||||||
|
Gobo,
|
||||||
|
Rotation,
|
||||||
|
Prism,
|
||||||
|
Frost,
|
||||||
|
Focus,
|
||||||
|
Speed,
|
||||||
|
Iris,
|
||||||
|
Zoom,
|
||||||
|
Extra1,
|
||||||
|
Extra2
|
||||||
};
|
};
|
||||||
Q_ENUM_NS(DeviceTypeRegisterType)
|
Q_ENUM_NS(DeviceTypeRegisterType)
|
||||||
} // namespace hilfe
|
} // namespace hilfe
|
||||||
|
@ -14,7 +14,29 @@ void RegisterGroupsModel::setController(DmxController *controller)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
|
|
||||||
|
if (m_controller)
|
||||||
|
{
|
||||||
|
disconnect(m_controller, &DmxController::registerGroupInserted,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupInserted);
|
||||||
|
disconnect(m_controller, &DmxController::registerGroupRemoved,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupRemoved);
|
||||||
|
disconnect(m_controller, &DmxController::registerGroupNameChanged,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupNameChanged);
|
||||||
|
}
|
||||||
|
|
||||||
m_controller = controller;
|
m_controller = controller;
|
||||||
|
|
||||||
|
if (m_controller)
|
||||||
|
{
|
||||||
|
connect(m_controller, &DmxController::registerGroupInserted,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupInserted);
|
||||||
|
connect(m_controller, &DmxController::registerGroupRemoved,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupRemoved);
|
||||||
|
connect(m_controller, &DmxController::registerGroupNameChanged,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupNameChanged);
|
||||||
|
}
|
||||||
|
|
||||||
endResetModel();
|
endResetModel();
|
||||||
emit controllerChanged(m_controller);
|
emit controllerChanged(m_controller);
|
||||||
}
|
}
|
||||||
@ -157,6 +179,13 @@ bool RegisterGroupsModel::setData(const QModelIndex &index, const QVariant &valu
|
|||||||
}
|
}
|
||||||
registerGroup.name = value.toString();
|
registerGroup.name = value.toString();
|
||||||
emit dataChanged(index, index, { Qt::DisplayRole, Qt::EditRole });
|
emit dataChanged(index, index, { Qt::DisplayRole, Qt::EditRole });
|
||||||
|
|
||||||
|
disconnect(m_controller, &DmxController::registerGroupNameChanged,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupNameChanged);
|
||||||
|
emit m_controller->registerGroupNameChanged(index.row(), registerGroup.name);
|
||||||
|
connect(m_controller, &DmxController::registerGroupNameChanged,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupNameChanged);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
case IdRole:
|
case IdRole:
|
||||||
if (value.userType() != QMetaType::Int)
|
if (value.userType() != QMetaType::Int)
|
||||||
@ -187,7 +216,7 @@ bool RegisterGroupsModel::insertRows(int row, int count, const QModelIndex &pare
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto &devices = m_controller->lightProject().devices;
|
auto ®isterGroups = m_controller->lightProject().registerGroups;
|
||||||
|
|
||||||
if (row < 0)
|
if (row < 0)
|
||||||
{
|
{
|
||||||
@ -195,21 +224,27 @@ bool RegisterGroupsModel::insertRows(int row, int count, const QModelIndex &pare
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (row > devices.size())
|
if (row > registerGroups.size())
|
||||||
{
|
{
|
||||||
qWarning() << "hilfe" << __LINE__;
|
qWarning() << "hilfe" << __LINE__;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto max_iter = std::max_element(std::cbegin(devices), std::cend(devices), [](const auto &l, const auto &r){ return l.id < r.id; });
|
auto max_iter = std::max_element(std::cbegin(registerGroups), std::cend(registerGroups), [](const auto &l, const auto &r){ return l.id < r.id; });
|
||||||
auto id = max_iter != std::cend(devices) ? max_iter->id + 1 : 0;
|
auto id = max_iter != std::cend(registerGroups) ? max_iter->id + 1 : 0;
|
||||||
|
|
||||||
beginInsertRows({}, row, row+count-1);
|
beginInsertRows({}, row, row+count-1);
|
||||||
auto iter = std::begin(devices) + row;
|
auto iter = std::begin(registerGroups) + row;
|
||||||
for (auto i = 0; i < count; i++)
|
for (auto i = 0; i < count; i++)
|
||||||
iter = devices.insert(iter, LightConfig{ .id=id++, .name="<neu>", .deviceTypeId=0, .address=0, .position={} }) + 1;
|
iter = registerGroups.insert(iter, RegisterGroupConfig{ .id=id++, .name="<neu>" }) + 1;
|
||||||
endInsertRows();
|
endInsertRows();
|
||||||
|
|
||||||
|
disconnect(m_controller, &DmxController::registerGroupInserted,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupInserted);
|
||||||
|
emit m_controller->registerGroupInserted(row, row+count-1);
|
||||||
|
connect(m_controller, &DmxController::registerGroupInserted,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupInserted);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +262,7 @@ bool RegisterGroupsModel::removeRows(int row, int count, const QModelIndex &pare
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto &devices = m_controller->lightProject().devices;
|
auto ®isterGroups = m_controller->lightProject().registerGroups;
|
||||||
|
|
||||||
if (row < 0)
|
if (row < 0)
|
||||||
{
|
{
|
||||||
@ -235,27 +270,69 @@ bool RegisterGroupsModel::removeRows(int row, int count, const QModelIndex &pare
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (row >= devices.size())
|
if (row >= registerGroups.size())
|
||||||
{
|
{
|
||||||
qWarning() << "hilfe" << __LINE__;
|
qWarning() << "hilfe" << __LINE__;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (row + count > devices.size())
|
if (row + count > registerGroups.size())
|
||||||
{
|
{
|
||||||
qWarning() << "hilfe" << __LINE__;
|
qWarning() << "hilfe" << __LINE__;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
beginRemoveRows({}, row, row+count-1);
|
beginRemoveRows({}, row, row+count-1);
|
||||||
auto begin = std::begin(devices) + row;
|
auto begin = std::begin(registerGroups) + row;
|
||||||
auto end = begin + count;
|
auto end = begin + count;
|
||||||
devices.erase(begin, end);
|
registerGroups.erase(begin, end);
|
||||||
endRemoveRows();
|
endRemoveRows();
|
||||||
|
|
||||||
|
disconnect(m_controller, &DmxController::registerGroupRemoved,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupRemoved);
|
||||||
|
emit m_controller->registerGroupRemoved(row, row+count-1);
|
||||||
|
connect(m_controller, &DmxController::registerGroupRemoved,
|
||||||
|
this, &RegisterGroupsModel::otherRegisterGroupRemoved);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RegisterGroupsModel::otherRegisterGroupInserted(int first, int last)
|
||||||
|
{
|
||||||
|
if (!m_controller)
|
||||||
|
{
|
||||||
|
qWarning() << "hilfe" << __LINE__;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
beginInsertRows({}, first, last);
|
||||||
|
endInsertRows();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RegisterGroupsModel::otherRegisterGroupRemoved(int first, int last)
|
||||||
|
{
|
||||||
|
if (!m_controller)
|
||||||
|
{
|
||||||
|
qWarning() << "hilfe" << __LINE__;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
beginRemoveRows({}, first, last);
|
||||||
|
endRemoveRows();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RegisterGroupsModel::otherRegisterGroupNameChanged(int row, const QString &name)
|
||||||
|
{
|
||||||
|
if (!m_controller)
|
||||||
|
{
|
||||||
|
qWarning() << "hilfe" << __LINE__;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto index = this->index(row);
|
||||||
|
emit dataChanged(index, index, { Qt::DisplayRole, Qt::EditRole });
|
||||||
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
void registrierDenShit()
|
void registrierDenShit()
|
||||||
{
|
{
|
||||||
|
@ -28,6 +28,11 @@ public:
|
|||||||
signals:
|
signals:
|
||||||
void controllerChanged(DmxController *controller);
|
void controllerChanged(DmxController *controller);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void otherRegisterGroupInserted(int first, int last);
|
||||||
|
void otherRegisterGroupRemoved(int first, int last);
|
||||||
|
void otherRegisterGroupNameChanged(int row, const QString &name);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DmxController *m_controller{};
|
DmxController *m_controller{};
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user