diff --git a/MainWindow.cpp b/MainWindow.cpp index 1e86c61..96f9175 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -2660,7 +2660,7 @@ void MainWindow::addMappingItem(uid mappingId) contentTab->setCurrentWidget(mappingSplitter); // Add item to layerList widget. - mappingListModel->addItem(icon, label, mappingId); + mappingListModel->addItem(mapping, icon, label); mappingListModel->updateModel(); setCurrentMapping(mappingId); diff --git a/MappingListModel.cpp b/MappingListModel.cpp index 3f834e6..c251f3d 100644 --- a/MappingListModel.cpp +++ b/MappingListModel.cpp @@ -60,10 +60,10 @@ QVariant MappingListModel::data(const QModelIndex &index, int role) const return QVariant(mappingList.at(index.row()).id); break; case Qt::EditRole: - return QVariant(mappingList.at(index.row()).name); + return QVariant(mappingList.at(index.row()).label); break; case Qt::DisplayRole: - return QVariant(mappingList.at(index.row()).name); + return QVariant(mappingList.at(index.row()).label); break; case Qt::DecorationRole: return mappingList.at(index.row()).icon; @@ -193,8 +193,8 @@ bool MappingListModel::setData(const QModelIndex &index, const QVariant &value, } if (role == Qt::EditRole && index.column() == MM::IconAndNameColum) { - if (mappingList[index.row()].name != value.toString()) { - mappingList[index.row()].name = value.toString(); + if (mappingList[index.row()].label != value.toString()) { + mappingList[index.row()].label = value.toString(); emit dataChanged(index, index); return true; } @@ -209,16 +209,16 @@ void MappingListModel::removeItem(int index) mappingList.erase(it + index); } -void MappingListModel::addItem(const QIcon &icon, const QString &name, int id) +void MappingListModel::addItem(Mapping::ptr mapping, const QIcon &icon, const QString &label) { MappingItem item; + item.id = mapping->getId(); item.icon = icon; - item.name = name; - item.isVisible = true; - item.isLocked = false; - item.isSolo = false; - item.id = id; + item.label = label; + item.isVisible = mapping->isVisible(); + item.isLocked = mapping->isLocked(); + item.isSolo = mapping->isSolo(); mappingList.insert(0, item); } diff --git a/MappingListModel.h b/MappingListModel.h index 0450c05..8070407 100644 --- a/MappingListModel.h +++ b/MappingListModel.h @@ -27,6 +27,7 @@ #include #include "MM.h" +#include "Mapping.h" MM_BEGIN_NAMESPACE @@ -55,7 +56,7 @@ public: bool setData(const QModelIndex &index, const QVariant &value, int role) Q_DECL_OVERRIDE; void removeItem(int index); - void addItem(const QIcon &icon, const QString &name, int id); + void addItem(Mapping::ptr mapping, const QIcon &icon, const QString &label); void updateModel(); void clear(); @@ -69,7 +70,7 @@ private: struct MappingItem { int id; QIcon icon; - QString name; + QString label; bool isLocked; bool isVisible; bool isSolo;