diff --git a/src/UI/PropertyModel.cc b/src/UI/PropertyModel.cc index c0068cbd25eb4eb56cc5d7938864599bc8a90fd8..a882df3e4f8a9342d900b65a2c4af9a08fc50eab 100644 --- a/src/UI/PropertyModel.cc +++ b/src/UI/PropertyModel.cc @@ -285,3 +285,13 @@ PropertyModel::flags(const QModelIndex &index) const noexcept { return QAbstractItemModel::flags(index); } + +QTreeView * +PropertyModel::getView(QWidget *parent, PropertyModel *ptr) noexcept +{ + QTreeView *view = new QTreeView(parent); + view->setModel(ptr); + view->header()->setSectionResizeMode(QHeaderView::ResizeToContents); + view->expandAll(); + return view; +} diff --git a/src/UI/PropertyModel.hh b/src/UI/PropertyModel.hh index 2a4d1815b27f4e3891128fce5769298a11844bd0..f1802d85e494c8b1c6deccf998b5a44b09720ba2 100644 --- a/src/UI/PropertyModel.hh +++ b/src/UI/PropertyModel.hh @@ -67,6 +67,8 @@ public: root->setKey(object.getElementName()); } + [[nodiscard]] static QTreeView *getView(QWidget *parent, PropertyModel *) noexcept; + QVariant data(const QModelIndex &, int role) const noexcept override; bool setData(const QModelIndex &, const QVariant &v, int r = Qt::EditRole) noexcept override; diff --git a/src/UI/VivyDocumentView.cc b/src/UI/VivyDocumentView.cc index 95ba41cfaf0132077932f253acfb359d960ced4c..df87483c241107d6dc88297b6e80344bfd844916 100644 --- a/src/UI/VivyDocumentView.cc +++ b/src/UI/VivyDocumentView.cc @@ -167,10 +167,7 @@ void VivyDocumentView::openProperties() noexcept { propertyModel = std::make_unique<PropertyModel>(*document.get()); - QTreeView *view = new QTreeView(property); - view->setModel(propertyModel.get()); - view->header()->setSectionResizeMode(QHeaderView::ResizeToContents); - view->expandAll(); + QTreeView *view = PropertyModel::getView(property, propertyModel.get()); if (!property) { property = new UnclosableDockWidget("Properties", this);