Make Duplicate Map/Layout more accessible

This commit is contained in:
GriffinR
2025-02-25 16:46:46 -05:00
parent dff7fae040
commit b78f23f259
3 changed files with 16 additions and 0 deletions

View File

@@ -2906,6 +2906,7 @@
<addaction name="action_NewMap"/>
<addaction name="action_NewLayout"/>
<addaction name="actionNew_Tileset"/>
<addaction name="actionDuplicate_Current_Map_Layout"/>
<addaction name="separator"/>
<addaction name="actionTileset_Editor"/>
<addaction name="actionRegion_Map_Editor"/>
@@ -3278,6 +3279,11 @@
<string>New Layout...</string>
</property>
</action>
<action name="actionDuplicate_Current_Map_Layout">
<property name="text">
<string>Duplicate Current Map/Layout...</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>

View File

@@ -361,6 +361,7 @@ private:
NewLayoutDialog* createNewLayoutDialog(const Layout *layoutToCopy = nullptr);
void openNewLayoutDialog();
void openDuplicateLayoutDialog(const QString &layoutId);
void openDuplicateMapOrLayoutDialog();
void openNewMapGroupDialog();
void openNewLocationDialog();
void openSubWindow(QWidget * window);

View File

@@ -297,6 +297,7 @@ void MainWindow::initExtraSignals() {
connect(ui->action_NewMap, &QAction::triggered, this, &MainWindow::openNewMapDialog);
connect(ui->action_NewLayout, &QAction::triggered, this, &MainWindow::openNewLayoutDialog);
connect(ui->actionDuplicate_Current_Map_Layout, &QAction::triggered, this, &MainWindow::openDuplicateMapOrLayoutDialog);
}
void MainWindow::on_actionCheck_for_Updates_triggered() {
@@ -1412,6 +1413,14 @@ void MainWindow::openDuplicateLayoutDialog(const QString &layoutId) {
}
}
void MainWindow::openDuplicateMapOrLayoutDialog() {
if (this->editor->map) {
openDuplicateMapDialog(this->editor->map->name());
} else if (this->editor->layout) {
openDuplicateLayoutDialog(this->editor->layout->id);
}
}
void MainWindow::on_actionNew_Tileset_triggered() {
auto dialog = new NewTilesetDialog(editor->project, this);
connect(dialog, &NewTilesetDialog::applied, [this](Tileset *tileset) {