Fix part tree UI
- Add menu: Refresh QTreeWidgetItem sometimes discontine to refresh the widget, this is a fallback option to let user refresh the tree. - Remove the short menu Before, when left click on component, a short menu will popup, this make select nodes from part tree very difficult, so removed. - Fix part widget display at wrong placemaster
parent
24e8af2352
commit
610bc978a8
|
@ -705,6 +705,10 @@ Consejos:
|
||||||
<source>Select</source>
|
<source>Select</source>
|
||||||
<translation>Seleccionar</translation>
|
<translation>Seleccionar</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Refresh</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy Color</source>
|
<source>Copy Color</source>
|
||||||
<translation>Copiar Color</translation>
|
<translation>Copiar Color</translation>
|
||||||
|
|
|
@ -712,6 +712,10 @@ Suggerimenti:
|
||||||
<source>Select</source>
|
<source>Select</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Refresh</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy Color</source>
|
<source>Copy Color</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
|
|
@ -677,6 +677,10 @@ Tips:
|
||||||
<source>Select</source>
|
<source>Select</source>
|
||||||
<translation>选择</translation>
|
<translation>选择</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Refresh</source>
|
||||||
|
<translation>刷新</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Collapse All</source>
|
<source>Collapse All</source>
|
||||||
<translation>收起所有</translation>
|
<translation>收起所有</translation>
|
||||||
|
|
|
@ -232,19 +232,19 @@ void PartTreeWidget::handleSingleClick(const QPoint &pos)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
showMenu();
|
//showMenu();
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
m_shiftStartComponentId = componentId;
|
m_shiftStartComponentId = componentId;
|
||||||
}
|
}
|
||||||
selectComponent(componentId, multiple);
|
selectComponent(componentId, multiple);
|
||||||
showMenu();
|
//showMenu();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!multiple)
|
if (!multiple)
|
||||||
selectComponent(QUuid());
|
selectComponent(QUuid());
|
||||||
|
|
||||||
showMenu();
|
//showMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartTreeWidget::mousePressEvent(QMouseEvent *event)
|
void PartTreeWidget::mousePressEvent(QMouseEvent *event)
|
||||||
|
@ -609,6 +609,7 @@ void PartTreeWidget::showContextMenu(const QPoint &pos, bool shorted)
|
||||||
QAction unlockAction(tr("Unlock"), this);
|
QAction unlockAction(tr("Unlock"), this);
|
||||||
unlockAction.setIcon(Theme::awesome()->icon(fa::unlock));
|
unlockAction.setIcon(Theme::awesome()->icon(fa::unlock));
|
||||||
QAction selectAction(tr("Select"), this);
|
QAction selectAction(tr("Select"), this);
|
||||||
|
QAction refreshAction(tr("Refresh"), this);
|
||||||
QAction copyColorAction(tr("Copy Color"), this);
|
QAction copyColorAction(tr("Copy Color"), this);
|
||||||
QAction pasteColorAction(tr("Paste Color"), this);
|
QAction pasteColorAction(tr("Paste Color"), this);
|
||||||
|
|
||||||
|
@ -624,6 +625,11 @@ void PartTreeWidget::showContextMenu(const QPoint &pos, bool shorted)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connect(&refreshAction, &QAction::triggered, [=]() {
|
||||||
|
componentChildrenChanged(QUuid());
|
||||||
|
});
|
||||||
|
contextMenu.addAction(&refreshAction);
|
||||||
|
|
||||||
if (nullptr != component && nullptr != part) {
|
if (nullptr != component && nullptr != part) {
|
||||||
connect(&selectAction, &QAction::triggered, [=]() {
|
connect(&selectAction, &QAction::triggered, [=]() {
|
||||||
emit addPartToSelection(component->linkToPartId);
|
emit addPartToSelection(component->linkToPartId);
|
||||||
|
@ -1017,14 +1023,12 @@ void PartTreeWidget::addComponentChildrenToItem(QUuid componentId, QTreeWidgetIt
|
||||||
if (nullptr == parentComponent)
|
if (nullptr == parentComponent)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const QTreeWidgetItem *scrollToItem = nullptr;
|
|
||||||
for (const auto &childId: parentComponent->childrenIds) {
|
for (const auto &childId: parentComponent->childrenIds) {
|
||||||
const Component *component = m_document->findComponent(childId);
|
const Component *component = m_document->findComponent(childId);
|
||||||
if (nullptr == component)
|
if (nullptr == component)
|
||||||
continue;
|
continue;
|
||||||
if (!component->linkToPartId.isNull()) {
|
if (!component->linkToPartId.isNull()) {
|
||||||
QTreeWidgetItem *item = new QTreeWidgetItem();
|
QTreeWidgetItem *item = new QTreeWidgetItem();
|
||||||
scrollToItem = item;
|
|
||||||
parentItem->addChild(item);
|
parentItem->addChild(item);
|
||||||
item->setData(0, Qt::UserRole, QVariant(component->id.toString()));
|
item->setData(0, Qt::UserRole, QVariant(component->id.toString()));
|
||||||
item->setFlags(item->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable));
|
item->setFlags(item->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable));
|
||||||
|
@ -1036,7 +1040,6 @@ void PartTreeWidget::addComponentChildrenToItem(QUuid componentId, QTreeWidgetIt
|
||||||
m_partItemMap[partId] = item;
|
m_partItemMap[partId] = item;
|
||||||
} else {
|
} else {
|
||||||
QTreeWidgetItem *item = new QTreeWidgetItem(QStringList(component->name));
|
QTreeWidgetItem *item = new QTreeWidgetItem(QStringList(component->name));
|
||||||
scrollToItem = item;
|
|
||||||
parentItem->addChild(item);
|
parentItem->addChild(item);
|
||||||
item->setData(0, Qt::UserRole, QVariant(component->id.toString()));
|
item->setData(0, Qt::UserRole, QVariant(component->id.toString()));
|
||||||
item->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
|
item->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
|
||||||
|
@ -1047,9 +1050,6 @@ void PartTreeWidget::addComponentChildrenToItem(QUuid componentId, QTreeWidgetIt
|
||||||
}
|
}
|
||||||
updateComponentSelectState(childId, isComponentSelected(childId));
|
updateComponentSelectState(childId, isComponentSelected(childId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nullptr != scrollToItem)
|
|
||||||
QTreeWidget::scrollToItem(scrollToItem);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartTreeWidget::partComponentChecked(QUuid partId)
|
void PartTreeWidget::partComponentChecked(QUuid partId)
|
||||||
|
@ -1100,8 +1100,8 @@ void PartTreeWidget::removeComponentDelayedTimer(const QUuid &componentId)
|
||||||
{
|
{
|
||||||
auto findTimer = m_delayedComponentTimers.find(componentId);
|
auto findTimer = m_delayedComponentTimers.find(componentId);
|
||||||
if (findTimer != m_delayedComponentTimers.end()) {
|
if (findTimer != m_delayedComponentTimers.end()) {
|
||||||
delete findTimer->second;
|
|
||||||
m_delayedComponentTimers.erase(findTimer);
|
m_delayedComponentTimers.erase(findTimer);
|
||||||
|
findTimer->second->deleteLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1114,6 +1114,15 @@ void PartTreeWidget::reloadComponentChildren(const QUuid &componentId)
|
||||||
}
|
}
|
||||||
deleteItemChildren(parentItem);
|
deleteItemChildren(parentItem);
|
||||||
addComponentChildrenToItem(componentId, parentItem);
|
addComponentChildrenToItem(componentId, parentItem);
|
||||||
|
|
||||||
|
// Fix the last item show in the wrong place sometimes
|
||||||
|
int childCount = invisibleRootItem()->childCount();
|
||||||
|
if (childCount > 0) {
|
||||||
|
QTreeWidgetItem *lastItem = invisibleRootItem()->child(childCount - 1);
|
||||||
|
bool isExpanded = lastItem->isExpanded();
|
||||||
|
lastItem->setExpanded(!isExpanded);
|
||||||
|
lastItem->setExpanded(isExpanded);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartTreeWidget::removeAllContent()
|
void PartTreeWidget::removeAllContent()
|
||||||
|
@ -1137,7 +1146,7 @@ void PartTreeWidget::componentRemoved(QUuid componentId)
|
||||||
|
|
||||||
void PartTreeWidget::componentAdded(QUuid componentId)
|
void PartTreeWidget::componentAdded(QUuid componentId)
|
||||||
{
|
{
|
||||||
// ignore
|
// void
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartTreeWidget::partRemoved(QUuid partId)
|
void PartTreeWidget::partRemoved(QUuid partId)
|
||||||
|
|
Loading…
Reference in New Issue