CORE: Tree context menu upgraded with 'Std_ToggleSkipRecompute'

This commit is contained in:
B0cho
2025-05-30 18:51:58 +02:00
parent b38394da68
commit 62e5d0df23
2 changed files with 11 additions and 2 deletions

View File

@@ -668,6 +668,7 @@ TreeWidget::TreeWidget(const char* name, QWidget* parent)
this->skipRecomputeAction->setCheckable(true);
connect(this->skipRecomputeAction, &QAction::toggled,
this, &TreeWidget::onSkipRecompute);
this->skipRecomputeCommand = Gui::Application::Instance->commandManager().getCommandByName("Std_ToggleSkipRecompute");
this->allowPartialRecomputeAction = new QAction(this);
this->allowPartialRecomputeAction->setCheckable(true);
@@ -1053,8 +1054,14 @@ void TreeWidget::contextMenuEvent(QContextMenuEvent* e)
}
}
contextMenu.addAction(this->selectDependentsAction);
this->skipRecomputeAction->setChecked(doc->testStatus(App::Document::SkipRecompute));
contextMenu.addAction(this->skipRecomputeAction);
if (doc == App::GetApplication().getActiveDocument() && this->skipRecomputeCommand != nullptr) {
// if active document is selected, use Command
this->skipRecomputeCommand->addTo(&contextMenu);
} else {
// if other document is selected or Command load fails, edit selected Document directly
this->skipRecomputeAction->setChecked(doc->testStatus(App::Document::SkipRecompute));
contextMenu.addAction(this->skipRecomputeAction);
}
this->allowPartialRecomputeAction->setChecked(doc->testStatus(App::Document::AllowPartialRecompute));
if (doc->testStatus(App::Document::SkipRecompute))
contextMenu.addAction(this->allowPartialRecomputeAction);

View File

@@ -49,6 +49,7 @@ using DocumentObjectDataPtr = std::shared_ptr<DocumentObjectData>;
class TreeWidgetItemDelegate;
class DocumentItem;
class Command;
GuiExport bool isTreeViewDragging();
@@ -242,6 +243,7 @@ private:
QAction* closeDocAction;
QAction* searchObjectsAction;
QAction* openFileLocationAction;
Command* skipRecomputeCommand;
QTreeWidgetItem *contextItem;
App::DocumentObject *searchObject;
Gui::Document *searchDoc;