From 82aad45a9787f6e53fca624f07119aea6941aa32 Mon Sep 17 00:00:00 2001 From: Tats Date: Tue, 21 Oct 2014 17:18:25 +0000 Subject: [PATCH] Fixed support for read/write of mapping visibility (solo and locked are still incomplete). --- MainWindow.cpp | 22 ++++++++++++++++++++++ MainWindow.h | 9 +++++++++ ProjectReader.cpp | 9 ++++----- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/MainWindow.cpp b/MainWindow.cpp index 4b5cee8..5786143 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -868,6 +868,28 @@ uid MainWindow::createEllipseColorMapping(uid mappingId, } } + +void MainWindow::setMappingVisible(uid mappingId, bool visible) +{ + QListWidgetItem* item = getItemFromId(*mappingList, mappingId); + Q_ASSERT( item ); + item->setCheckState(visible ? Qt::Checked : Qt::Unchecked ); + + updateCanvases(); +} + +void MainWindow::setMappingSolo(uid mappingId, bool solo) +{ + Q_UNUSED(mappingId); + Q_UNUSED(solo); +} + +void MainWindow::setMappingLocked(uid mappingId, bool locked) +{ + Q_UNUSED(mappingId); + Q_UNUSED(locked); +} + void MainWindow::deleteMapping(uid mappingId) { // Cannot delete unexisting mapping. diff --git a/MainWindow.h b/MainWindow.h index 54ac351..dd11518 100644 --- a/MainWindow.h +++ b/MainWindow.h @@ -151,6 +151,15 @@ public slots: uid paintId, const QVector &dst); + /// Sets visibility of mapping. + void setMappingVisible(uid mappingId, bool visible); + + /// Sets solo status of mapping. + void setMappingSolo(uid mappingId, bool solo); + + /// Sets locked attribute of mapping. + void setMappingLocked(uid mappingId, bool locked); + /// Deletes/removes a mapping. void deleteMapping(uid mappingId); diff --git a/ProjectReader.cpp b/ProjectReader.cpp index 4976069..5023c77 100644 --- a/ProjectReader.cpp +++ b/ProjectReader.cpp @@ -210,14 +210,13 @@ void ProjectReader::parseMapping(const QDomElement& mapping) } else _xml.raiseError(QObject::tr("Unsupported mapping type: %1.").arg(mappingAttrType)); + // and then set some more attributes: if (id != NULL_UID) { - MappingManager& manager = _window->getMappingManager(); - Mapping::ptr mapping = manager.getMappingById(id); - mapping->setSolo(isSolo); - mapping->setVisible(isVisible); - mapping->setLocked(isLocked); + _window->setMappingVisible(id, isVisible); + _window->setMappingSolo (id, isSolo); + _window->setMappingLocked (id, isLocked); } }