Finish support for deleting MAPSEC values

This commit is contained in:
GriffinR
2024-11-08 13:55:50 -05:00
parent d448765d63
commit 06ece16b93
7 changed files with 70 additions and 24 deletions

View File

@@ -417,6 +417,7 @@ private:
void scrollMetatileSelectorToSelection();
MapListToolBar* getCurrentMapListToolBar();
MapTree* getCurrentMapList();
void refreshLocationsComboBox();
QObjectList shortcutableObjects() const;
void addCustomHeaderValue(QString key, QJsonValue value, bool isNew = false);

View File

@@ -139,7 +139,8 @@ public:
bool readSpeciesIconPaths();
QMap<QString, QString> speciesToIconPath;
void addNewMapsec(QString name);
void addNewMapsec(const QString &name);
void removeMapsec(const QString &name);
bool hasUnsavedChanges();
bool hasUnsavedDataChanges = false;
@@ -266,6 +267,7 @@ private:
signals:
void fileChanged(QString filepath);
void mapSectionIdNamesChanged();
void mapLoaded(Map *map);
};

View File

@@ -65,9 +65,11 @@ public:
~MapListModel() { }
virtual QModelIndex indexOf(QString id) const = 0;
virtual void removeFolder(int index) = 0;
virtual void removeItem(const QModelIndex &index);
virtual void removeItemAt(const QModelIndex &index);
virtual QStandardItem *getItem(const QModelIndex &index) const = 0;
protected:
virtual void removeItem(QStandardItem *item) = 0;
};
class MapGroupModel : public MapListModel {
@@ -94,13 +96,15 @@ public:
QStandardItem *insertGroupItem(QString groupName);
QStandardItem *insertMapItem(QString mapName, QString groupName);
virtual void removeFolder(int index) override;
virtual QStandardItem *getItem(const QModelIndex &index) const override;
virtual QModelIndex indexOf(QString mapName) const override;
void initialize();
protected:
virtual void removeItem(QStandardItem *item) override;
private:
friend class MapTree;
void updateProject();
@@ -137,13 +141,15 @@ public:
QStandardItem *insertAreaItem(QString areaName);
QStandardItem *insertMapItem(QString mapName, QString areaName, int groupIndex);
virtual void removeFolder(int index) override;
virtual QStandardItem *getItem(const QModelIndex &index) const override;
virtual QModelIndex indexOf(QString mapName) const override;
void initialize();
protected:
virtual void removeItem(QStandardItem *item) override;
private:
Project *project;
QStandardItem *root = nullptr;
@@ -176,13 +182,15 @@ public:
QStandardItem *insertLayoutItem(QString layoutId);
QStandardItem *insertMapItem(QString mapName, QString layoutId);
virtual void removeFolder(int index) override;
virtual QStandardItem *getItem(const QModelIndex &index) const override;
virtual QModelIndex indexOf(QString layoutName) const override;
void initialize();
protected:
virtual void removeItem(QStandardItem *item) override;
private:
Project *project;
QStandardItem *root = nullptr;