From 9533042c4cfece1f826752291ea4383b1d3561a4 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 12 Mar 2018 21:52:58 -0700 Subject: [PATCH] Support 'mirror' editing for dive and emerge connections --- editor.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/editor.cpp b/editor.cpp index 448a7093..50af5d4e 100755 --- a/editor.cpp +++ b/editor.cpp @@ -611,7 +611,9 @@ void Editor::updateMirroredConnection(Connection* connection, QString originalDi return; static QMap oppositeDirections = QMap({ - {"up", "down"}, {"right", "left"}, {"down", "up"}, {"left", "right"}}); + {"up", "down"}, {"right", "left"}, + {"down", "up"}, {"left", "right"}, + {"dive", "emerge"},{"emerge", "dive"}}); QString oppositeDirection = oppositeDirections.value(originalDirection); // Find the matching connection in the connected map. @@ -698,16 +700,21 @@ void Editor::updateDiveEmergeMap(QString mapName, QString direction) { // Remove dive/emerge connection if (connection) { map->connections.removeOne(connection); + removeMirroredConnection(connection); } } else { if (!connection) { connection = new Connection; connection->direction = direction; connection->offset = "0"; + connection->map_name = mapName; map->connections.append(connection); + updateMirroredConnection(connection, connection->direction, connection->map_name); + } else { + QString originalMapName = connection->map_name; + connection->map_name = mapName; + updateMirroredConnectionMap(connection, originalMapName); } - - connection->map_name = mapName; } ui->label_NumConnections->setText(QString::number(map->connections.length()));