From e5acd80247264fed41dfc1e7e07efa8a10a67fae Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Thu, 26 Jul 2018 19:32:21 +0200 Subject: Added back select on property list --- gui/designwidget.cc | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'gui/designwidget.cc') diff --git a/gui/designwidget.cc b/gui/designwidget.cc index 2bba8532..43964edf 100644 --- a/gui/designwidget.cc +++ b/gui/designwidget.cc @@ -824,6 +824,19 @@ void DesignWidget::prepareMenuProperty(const QPoint &pos) } QMenu menu(this); + QAction *selectAction = new QAction("&Select", this); + connect(selectAction, &QAction::triggered, this, [this, items] { + std::vector decals; + for (auto clickItem : items) { + IdString value = static_cast(clickItem)->getData(); + ElementType type = static_cast(clickItem)->getType(); + std::vector d = getDecals(type, value); + std::move(d.begin(), d.end(), std::back_inserter(decals)); + } + Q_EMIT selected(decals); + }); + menu.addAction(selectAction); + QMenu *subMenu = menu.addMenu("Highlight"); QActionGroup *group = new QActionGroup(this); group->setExclusive(true); @@ -876,14 +889,8 @@ void DesignWidget::onItemDoubleClicked(QTreeWidgetItem *item, int column) ElementType type = getElementTypeByName(selectedProperty->propertyId()); QString value = selectedProperty->valueText(); int index = getElementIndex(type); - switch (type) { - case ElementType::NONE: - return; - default: { - if (nameToItem[index].contains(value)) - treeWidget->setCurrentItem(nameToItem[index].value(value)); - } break; - } + if (type != ElementType::NONE && nameToItem[index].contains(value)) + treeWidget->setCurrentItem(nameToItem[index].value(value)); } NEXTPNR_NAMESPACE_END -- cgit v1.2.3