mirror of
https://github.com/Lurkki14/tuxclocker.git
synced 2025-02-25 18:55:24 -06:00
qt: refactor adding items to assignable item model to its own function
This commit is contained in:
parent
1ec8a5c6a1
commit
ff20e91cb7
@ -65,29 +65,10 @@ void AssignableWidget::genAssignableTree(QTreeView *treeView) {
|
||||
qDebug() << node->name;
|
||||
}
|
||||
|
||||
// List for adding the name and editor on the same row
|
||||
QList <QStandardItem*> rowItems;
|
||||
|
||||
QStandardItem *nameItem = new QStandardItem;
|
||||
nameItem->setText(node->name);
|
||||
nameItem->setEditable(false);
|
||||
rowItems.append(nameItem);
|
||||
|
||||
// Don't add editor item for TC_ASSIGNABLE_NONE nodes
|
||||
if (node->value_category != TC_ASSIGNABLE_NONE) {
|
||||
QStandardItem *editorItem = new QStandardItem;
|
||||
QVariant v;
|
||||
AssignableData data(node);
|
||||
v.setValue(data);
|
||||
editorItem->setData(v, Qt::UserRole);
|
||||
//editorItem->setText(node->name);
|
||||
rowItems.append(editorItem);
|
||||
}
|
||||
|
||||
item->appendRow(rowItems);
|
||||
QStandardItem *newItem = addAssignableItem(node, item);
|
||||
|
||||
for (uint32_t i = 0; i < node->children_count; i++) {
|
||||
traverse(node->children_nodes[i], nameItem);
|
||||
traverse(node->children_nodes[i], newItem);
|
||||
}
|
||||
};
|
||||
|
||||
@ -114,3 +95,29 @@ void AssignableWidget::genAssignableTree(QTreeView *treeView) {
|
||||
|
||||
m_assignableTreeView->setEditTriggers(QAbstractItemView::AllEditTriggers);
|
||||
}
|
||||
|
||||
QStandardItem *AssignableWidget::addAssignableItem(tc_assignable_node_t *node, QStandardItem *parent) {
|
||||
if (!node || !node->name) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QList <QStandardItem*> rowItems;
|
||||
|
||||
QStandardItem *nameItem = new QStandardItem;
|
||||
nameItem->setText(node->name);
|
||||
nameItem->setEditable(false);
|
||||
rowItems.append(nameItem);
|
||||
|
||||
// Don't add editor item for TC_ASSIGNABLE_NONE nodes
|
||||
if (node->value_category != TC_ASSIGNABLE_NONE) {
|
||||
QStandardItem *editorItem = new QStandardItem;
|
||||
QVariant v;
|
||||
v.setValue(AssignableData(node));
|
||||
editorItem->setData(v, Qt::UserRole);
|
||||
//editorItem->setText(node->name);
|
||||
rowItems.append(editorItem);
|
||||
}
|
||||
parent->appendRow(rowItems);
|
||||
|
||||
return nameItem;
|
||||
}
|
||||
|
@ -28,4 +28,6 @@ private:
|
||||
AssignableManager *m_assignableManager;
|
||||
|
||||
void genAssignableTree(QTreeView *treeView);
|
||||
|
||||
QStandardItem *addAssignableItem(tc_assignable_node_t *node, QStandardItem *parent);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user