Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 00244355 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

UI: By default the property model is not editable + better policy for the audio visualizer

parent b7c1e663
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!6Add document views
......@@ -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);
......
......@@ -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 };
};
}
......
......@@ -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);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter