diff --git a/.clang-format b/.clang-format index 186f7ab..ab89af9 100644 --- a/.clang-format +++ b/.clang-format @@ -219,5 +219,6 @@ WhitespaceSensitiveMacros: - BOOST_PP_STRINGIZE - NS_SWIFT_NAME - CF_SWIFT_NAME + - PIMETA ... diff --git a/libs/piqt_utils/pivaluetree_edit.cpp b/libs/piqt_utils/pivaluetree_edit.cpp index 61d4c78..763c440 100644 --- a/libs/piqt_utils/pivaluetree_edit.cpp +++ b/libs/piqt_utils/pivaluetree_edit.cpp @@ -297,7 +297,7 @@ void PIValueTreeEdit::applyPermissions() { for (auto * c: {wp->checkHidden, wp->checkLabel, wp->checkReadOnly}) if (!c->isEnabled()) c->setChecked(false); grid->button_add->setVisible( - PIVector({wp->actionValue, wp->actionGroup, wp->actionArray, wp->actionPaste}).any([](QAction * a) { + is_full_edit && PIVector({wp->actionValue, wp->actionGroup, wp->actionArray, wp->actionPaste}).any([](QAction * a) { return a->isVisible(); })); for (auto c: tree_edits) @@ -550,6 +550,7 @@ PIValueTreeEdit * PIValueTreeEdit::addTreeEdit(const PIValueTree & vt) { cw->layout()->addWidget(ve); cw->layout()->addItem(new QSpacerItem(0, 0, QSizePolicy::Preferred, QSizePolicy::Expanding)); int tab = tab_widget->addTab(cw, PIVariantEditorBase::vtTr(vt.name())); + tab_widget->setTabToolTip(tab, PIVariantEditorBase::vtTr(vt.comment())); tab_widget->tabBar()->setTabData(tab, PI2QString(vt.name())); if (is_full_edit) { auto * b = grid->createConfigButton(vt, true); @@ -708,10 +709,11 @@ PIValueTreeEdit::GridWidgets::GridWidgets(PIValueTreeEdit * p) { menu_group.addActions(common_actions); menu_conf.addActions(common_actions); menu_new.addActions({wp->actionValue, wp->actionGroup, wp->actionArray, newSeparator(), wp->actionPaste}); - button_add = new ToolButton(); + button_add = new ToolButton(parent); button_add->setIcon(QIcon(":/icons/list-add.png")); button_add->setPopupMode(QToolButton::InstantPopup); button_add->setMenu(&menu_new); + button_add->hide(); ((ToolButton *)button_add)->setPressHandler([this]() { parent->checkActions(); }); wp->actionValue->setData((int)NewType::Value); wp->actionGroup->setData((int)NewType::Group); diff --git a/libs/piqt_utils/pivaluetree_edit.h b/libs/piqt_utils/pivaluetree_edit.h index 68cba29..a3953c0 100644 --- a/libs/piqt_utils/pivaluetree_edit.h +++ b/libs/piqt_utils/pivaluetree_edit.h @@ -190,5 +190,7 @@ private: std::function value_by_name; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(PIValueTreeEdit::Permissions) + #endif