много исправлений

This commit is contained in:
Бычков Андрей
2022-10-13 17:00:24 +03:00
parent ce3df7d051
commit 6150882794
17 changed files with 142 additions and 145 deletions

View File

@@ -56,6 +56,8 @@ SceneTree::SceneTree(QWidget * parent): QWidget(parent) {
ui->treeObjects->header()->setSectionResizeMode(cVis, QHeaderView::ResizeToContents);
ui->treeObjects->header()->setSectionsMovable(false);
ui->treeObjects->header()->swapSections(cName, cVis);
ui->treeObjects->setItemDelegateForColumn(1, new NoEditDelegate(this));
ui->treeObjects->setItemDelegateForColumn(2, new NoEditDelegate(this));
icon_empty = QIcon(":/icons/type-empty.png");
icon_geo = QIcon(":/icons/type-geo.png");
icon_camera = QIcon(":/icons/type-camera.png");
@@ -110,6 +112,11 @@ QList<QAction *> SceneTree::actionsSelection() {
}
void SceneTree::expandItems() {
ui->treeObjects->expandAll();
}
void SceneTree::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
if (e->type() == QEvent::LanguageChange) {
@@ -265,19 +272,30 @@ bool SceneTree::filterTree(QTreeWidgetItem * ti, const QString & filter, int typ
void SceneTree::checkActions() {
bool has_1 = false, has_m = false;
bool has_cam = false;
bool has_mesh = false;
bool is_def_cam = false;
if (view) {
has_1 = !view->selectedObjects().isEmpty();
has_m = view->selectedObjects().size() > 1;
is_def_cam = view->isDefaultCamera();
ObjectBaseList slo = view->selectedObjects();
has_1 = !slo.isEmpty();
has_m = slo.size() > 1;
for (ObjectBase * o : slo) {
if (o->type() == ObjectBase::glCamera) has_cam = (slo.size() == 1);
if (o->type() == ObjectBase::glMesh) has_mesh = true;
}
}
ui->actionFocus ->setEnabled(has_1);
ui->actionFocus ->setEnabled(has_mesh);
ui->actionRemove->setEnabled(has_1);
ui->actionClone ->setEnabled(has_1);
ui->actionGroup->setEnabled(has_m);
ui->actionTransfer_transform_to_children->setEnabled(has_1);
ui->actionSelect_parent->setEnabled(has_1);
ui->actionSelect_by_mesh->setEnabled(has_1);
ui->actionSelect_by_material->setEnabled(has_1);
ui->actionActive_camera->setEnabled(has_1);
ui->actionSelect_by_mesh->setEnabled(has_mesh);
ui->actionSelect_by_material->setEnabled(has_mesh);
ui->actionActive_camera->setEnabled(has_cam);
ui->actionDefault_camera->setEnabled(is_def_cam);
}