diff --git a/src/UI/PropertyModel.cc b/src/UI/PropertyModel.cc index 1823b5686d0094fbde16dbba9aa369ca4ea42714..699f42e21edb15b7805929564f71b3909a3fb58b 100644 --- a/src/UI/PropertyModel.cc +++ b/src/UI/PropertyModel.cc @@ -262,13 +262,19 @@ PropertyModel::columnCount(const QModelIndex & /* parent */) const noexcept Qt::ItemFlags PropertyModel::flags(const QModelIndex &index) const noexcept { + // Handle the case where the model is not editable + if (!editableState) { + return Qt::ItemIsSelectable | QAbstractItemModel::flags(index); + } + + // Here the model is editable const int col = index.column(); const Item *item = static_cast<Item *>(index.internalPointer()); const bool isArray = QJsonValue::Array == item->getType(); const bool isObject = QJsonValue::Object == item->getType(); if ((col == 1) && !(isArray || isObject)) - return Qt::ItemIsEditable | QAbstractItemModel::flags(index); + return Qt::ItemIsSelectable | Qt::ItemIsEditable | QAbstractItemModel::flags(index); else return QAbstractItemModel::flags(index); diff --git a/src/UI/PropertyModel.hh b/src/UI/PropertyModel.hh index e700b145412e2183baecfe6edc6ad1795172cbc2..c6cdca5eb16601a03c1a4d46c01c4ae8dba2d454 100644 --- a/src/UI/PropertyModel.hh +++ b/src/UI/PropertyModel.hh @@ -74,6 +74,7 @@ public: ~PropertyModel() noexcept = default; void loadJson(const QJsonDocument &json); + void setEditable(const bool); QVariant data(const QModelIndex &, int role) const noexcept override; bool setData(const QModelIndex &, const QVariant &value, @@ -96,6 +97,7 @@ private: QJsonValue generateJson(Item *) const noexcept; std::unique_ptr<Item> root{ nullptr }; QStringList headers{}; + bool editableState{ false }; }; } diff --git a/src/UI/VivyDocumentView.cc b/src/UI/VivyDocumentView.cc index 0ae4ed138422a7422c4cbd1ad1fccffe161975d5..bad8c3c6c1319fe20f45066dbc6ac46191f4f8e9 100644 --- a/src/UI/VivyDocumentView.cc +++ b/src/UI/VivyDocumentView.cc @@ -73,6 +73,7 @@ VivyDocumentView::loadAudioView() noexcept return; } + visualizer->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Expanding); visualizer->setWidget(visualizerInner); visualizer->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable); addDockWidget(Qt::LeftDockWidgetArea, visualizer, Qt::Horizontal);