Save states of new splitters in config

This commit is contained in:
GriffinR 2024-01-12 22:47:50 -05:00
parent 86d0200441
commit e873e4c665
4 changed files with 23 additions and 7 deletions

View file

@ -80,8 +80,8 @@ public:
void setReopenOnLaunch(bool enabled); void setReopenOnLaunch(bool enabled);
void setMapSortOrder(MapSortOrder order); void setMapSortOrder(MapSortOrder order);
void setPrettyCursors(bool enabled); void setPrettyCursors(bool enabled);
void setMainGeometry(QByteArray, QByteArray, QByteArray, QByteArray); void setMainGeometry(QByteArray, QByteArray, QByteArray, QByteArray, QByteArray);
void setTilesetEditorGeometry(QByteArray, QByteArray); void setTilesetEditorGeometry(QByteArray, QByteArray, QByteArray);
void setPaletteEditorGeometry(QByteArray, QByteArray); void setPaletteEditorGeometry(QByteArray, QByteArray);
void setRegionMapEditorGeometry(QByteArray, QByteArray); void setRegionMapEditorGeometry(QByteArray, QByteArray);
void setProjectSettingsEditorGeometry(QByteArray, QByteArray); void setProjectSettingsEditorGeometry(QByteArray, QByteArray);
@ -151,10 +151,11 @@ private:
QByteArray mainWindowGeometry; QByteArray mainWindowGeometry;
QByteArray mainWindowState; QByteArray mainWindowState;
QByteArray mapSplitterState; QByteArray mapSplitterState;
QByteArray eventsSlpitterState;
QByteArray mainSplitterState; QByteArray mainSplitterState;
QByteArray metatilesSplitterState;
QByteArray tilesetEditorGeometry; QByteArray tilesetEditorGeometry;
QByteArray tilesetEditorState; QByteArray tilesetEditorState;
QByteArray tilesetEditorSplitterState;
QByteArray paletteEditorGeometry; QByteArray paletteEditorGeometry;
QByteArray paletteEditorState; QByteArray paletteEditorState;
QByteArray regionMapEditorGeometry; QByteArray regionMapEditorGeometry;

View file

@ -342,12 +342,16 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
this->mapSplitterState = bytesFromString(value); this->mapSplitterState = bytesFromString(value);
} else if (key == "main_splitter_state") { } else if (key == "main_splitter_state") {
this->mainSplitterState = bytesFromString(value); this->mainSplitterState = bytesFromString(value);
} else if (key == "metatiles_splitter_state") {
this->metatilesSplitterState = bytesFromString(value);
} else if (key == "collision_opacity") { } else if (key == "collision_opacity") {
this->collisionOpacity = getConfigInteger(key, value, 0, 100, 50); this->collisionOpacity = getConfigInteger(key, value, 0, 100, 50);
} else if (key == "tileset_editor_geometry") { } else if (key == "tileset_editor_geometry") {
this->tilesetEditorGeometry = bytesFromString(value); this->tilesetEditorGeometry = bytesFromString(value);
} else if (key == "tileset_editor_state") { } else if (key == "tileset_editor_state") {
this->tilesetEditorState = bytesFromString(value); this->tilesetEditorState = bytesFromString(value);
} else if (key == "tileset_editor_splitter_state") {
this->tilesetEditorSplitterState = bytesFromString(value);
} else if (key == "palette_editor_geometry") { } else if (key == "palette_editor_geometry") {
this->paletteEditorGeometry = bytesFromString(value); this->paletteEditorGeometry = bytesFromString(value);
} else if (key == "palette_editor_state") { } else if (key == "palette_editor_state") {
@ -418,8 +422,10 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("main_window_state", stringFromByteArray(this->mainWindowState)); map.insert("main_window_state", stringFromByteArray(this->mainWindowState));
map.insert("map_splitter_state", stringFromByteArray(this->mapSplitterState)); map.insert("map_splitter_state", stringFromByteArray(this->mapSplitterState));
map.insert("main_splitter_state", stringFromByteArray(this->mainSplitterState)); map.insert("main_splitter_state", stringFromByteArray(this->mainSplitterState));
map.insert("metatiles_splitter_state", stringFromByteArray(this->metatilesSplitterState));
map.insert("tileset_editor_geometry", stringFromByteArray(this->tilesetEditorGeometry)); map.insert("tileset_editor_geometry", stringFromByteArray(this->tilesetEditorGeometry));
map.insert("tileset_editor_state", stringFromByteArray(this->tilesetEditorState)); map.insert("tileset_editor_state", stringFromByteArray(this->tilesetEditorState));
map.insert("tileset_editor_splitter_state", stringFromByteArray(this->tilesetEditorSplitterState));
map.insert("palette_editor_geometry", stringFromByteArray(this->paletteEditorGeometry)); map.insert("palette_editor_geometry", stringFromByteArray(this->paletteEditorGeometry));
map.insert("palette_editor_state", stringFromByteArray(this->paletteEditorState)); map.insert("palette_editor_state", stringFromByteArray(this->paletteEditorState));
map.insert("region_map_editor_geometry", stringFromByteArray(this->regionMapEditorGeometry)); map.insert("region_map_editor_geometry", stringFromByteArray(this->regionMapEditorGeometry));
@ -505,17 +511,20 @@ void PorymapConfig::setTilesetCheckerboardFill(bool checkerboard) {
} }
void PorymapConfig::setMainGeometry(QByteArray mainWindowGeometry_, QByteArray mainWindowState_, void PorymapConfig::setMainGeometry(QByteArray mainWindowGeometry_, QByteArray mainWindowState_,
QByteArray mapSplitterState_, QByteArray mainSplitterState_) { QByteArray mapSplitterState_, QByteArray mainSplitterState_, QByteArray metatilesSplitterState_) {
this->mainWindowGeometry = mainWindowGeometry_; this->mainWindowGeometry = mainWindowGeometry_;
this->mainWindowState = mainWindowState_; this->mainWindowState = mainWindowState_;
this->mapSplitterState = mapSplitterState_; this->mapSplitterState = mapSplitterState_;
this->mainSplitterState = mainSplitterState_; this->mainSplitterState = mainSplitterState_;
this->metatilesSplitterState = metatilesSplitterState_;
this->save(); this->save();
} }
void PorymapConfig::setTilesetEditorGeometry(QByteArray tilesetEditorGeometry_, QByteArray tilesetEditorState_) { void PorymapConfig::setTilesetEditorGeometry(QByteArray tilesetEditorGeometry_, QByteArray tilesetEditorState_,
QByteArray tilesetEditorSplitterState_) {
this->tilesetEditorGeometry = tilesetEditorGeometry_; this->tilesetEditorGeometry = tilesetEditorGeometry_;
this->tilesetEditorState = tilesetEditorState_; this->tilesetEditorState = tilesetEditorState_;
this->tilesetEditorSplitterState = tilesetEditorSplitterState_;
this->save(); this->save();
} }
@ -649,6 +658,7 @@ QMap<QString, QByteArray> PorymapConfig::getMainGeometry() {
geometry.insert("main_window_state", this->mainWindowState); geometry.insert("main_window_state", this->mainWindowState);
geometry.insert("map_splitter_state", this->mapSplitterState); geometry.insert("map_splitter_state", this->mapSplitterState);
geometry.insert("main_splitter_state", this->mainSplitterState); geometry.insert("main_splitter_state", this->mainSplitterState);
geometry.insert("metatiles_splitter_state", this->metatilesSplitterState);
return geometry; return geometry;
} }
@ -658,6 +668,7 @@ QMap<QString, QByteArray> PorymapConfig::getTilesetEditorGeometry() {
geometry.insert("tileset_editor_geometry", this->tilesetEditorGeometry); geometry.insert("tileset_editor_geometry", this->tilesetEditorGeometry);
geometry.insert("tileset_editor_state", this->tilesetEditorState); geometry.insert("tileset_editor_state", this->tilesetEditorState);
geometry.insert("tileset_editor_splitter_state", this->tilesetEditorSplitterState);
return geometry; return geometry;
} }

View file

@ -464,6 +464,7 @@ void MainWindow::restoreWindowState() {
this->restoreState(geometry.value("main_window_state")); this->restoreState(geometry.value("main_window_state"));
this->ui->splitter_map->restoreState(geometry.value("map_splitter_state")); this->ui->splitter_map->restoreState(geometry.value("map_splitter_state"));
this->ui->splitter_main->restoreState(geometry.value("main_splitter_state")); this->ui->splitter_main->restoreState(geometry.value("main_splitter_state"));
this->ui->splitter_Metatiles->restoreState(geometry.value("metatiles_splitter_state"));
} }
void MainWindow::setTheme(QString theme) { void MainWindow::setTheme(QString theme) {
@ -2940,7 +2941,8 @@ void MainWindow::closeEvent(QCloseEvent *event) {
this->saveGeometry(), this->saveGeometry(),
this->saveState(), this->saveState(),
this->ui->splitter_map->saveState(), this->ui->splitter_map->saveState(),
this->ui->splitter_main->saveState() this->ui->splitter_main->saveState(),
this->ui->splitter_Metatiles->saveState()
); );
porymapConfig.save(); porymapConfig.save();
shortcutsConfig.save(); shortcutsConfig.save();

View file

@ -293,6 +293,7 @@ void TilesetEditor::restoreWindowState() {
QMap<QString, QByteArray> geometry = porymapConfig.getTilesetEditorGeometry(); QMap<QString, QByteArray> geometry = porymapConfig.getTilesetEditorGeometry();
this->restoreGeometry(geometry.value("tileset_editor_geometry")); this->restoreGeometry(geometry.value("tileset_editor_geometry"));
this->restoreState(geometry.value("tileset_editor_state")); this->restoreState(geometry.value("tileset_editor_state"));
this->ui->splitter->restoreState(geometry.value("tileset_editor_splitter_state"));
} }
void TilesetEditor::initMetatileHistory() { void TilesetEditor::initMetatileHistory() {
@ -766,7 +767,8 @@ void TilesetEditor::closeEvent(QCloseEvent *event)
if (this->paletteEditor) this->paletteEditor->close(); if (this->paletteEditor) this->paletteEditor->close();
porymapConfig.setTilesetEditorGeometry( porymapConfig.setTilesetEditorGeometry(
this->saveGeometry(), this->saveGeometry(),
this->saveState() this->saveState(),
this->ui->splitter->saveState()
); );
} }
} }