From 002443556321ad548f4f0109bac747453c9c6dbf Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Tue, 6 Jul 2021 22:00:45 +0200 Subject: [PATCH] UI: By default the property model is not editable + better policy for the audio visualizer --- src/UI/PropertyModel.cc | 8 +++++++- src/UI/PropertyModel.hh | 2 ++ src/UI/VivyDocumentView.cc | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/UI/PropertyModel.cc b/src/UI/PropertyModel.cc index 1823b568..699f42e2 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 e700b145..c6cdca5e 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 0ae4ed13..bad8c3c6 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); -- GitLab