PIValueTreeEdit paste action in add menu

add piqt_utils translation
This commit is contained in:
2023-04-28 16:06:27 +03:00
parent 76a1b35f14
commit b867500aaf
5 changed files with 794 additions and 3 deletions

View File

@@ -457,6 +457,7 @@ void PIValueTreeEdit::checkActions() {
}
widget_params->actionPasteBefore->setEnabled(can_paste);
widget_params->actionPasteAfter->setEnabled(can_paste);
widget_params->actionPaste->setEnabled(can_paste);
}
@@ -628,15 +629,21 @@ PIValueTreeEdit::GridWidgets::GridWidgets(PIValueTreeEdit * p) {
menu_conf.addActions({wp->actionRename, wp->actionChange, wp->actionReorder});
menu_group.addActions(common_actions);
menu_conf.addActions(common_actions);
menu_new.addActions({wp->actionValue, wp->actionGroup, wp->actionArray});
button_add = new QToolButton();
menu_new.addActions({wp->actionValue, wp->actionGroup, wp->actionArray, newSeparator(), wp->actionPaste});
button_add = new ToolButton();
button_add->setIcon(QIcon(":/icons/list-add.png"));
button_add->setPopupMode(QToolButton::InstantPopup);
button_add->setMenu(&menu_new);
((ToolButton *)button_add)->setPressHandler([this]() { parent->checkActions(); });
wp->actionValue->setData((int)NewType::Value);
wp->actionGroup->setData((int)NewType::Group);
wp->actionArray->setData((int)NewType::Array);
connect(button_add, &QToolButton::triggered, this, [this](QAction * a) { parent->newRequest((NewType)a->data().toInt()); });
connect(button_add, &QToolButton::triggered, this, [this](QAction * a) {
if (a == parent->widget_params->actionPaste)
parent->actionPaste(button_add, "", parent->current.children().size_s() + 1);
else
parent->newRequest((NewType)a->data().toInt());
});
}