@@ -683,13 +683,30 @@ void MainWindow::onAutoArrange()
683
683
currentTabInfo ()->nodeReorder ();
684
684
}
685
685
686
+ void MainWindow::onSaveSvg ()
687
+ {
688
+ QSettings settings;
689
+ QString last_load_path = settings.value (" MainWindow.lastLoadDirectory" ,
690
+ QDir::homePath () ).toString ();
691
+ QString directory_path = settings.value (" MainWindow.lastSaveSvgDirectory" ,
692
+ last_load_path ).toString ();
693
+
694
+ QString fileName = QFileDialog::getSaveFileName (this ,
695
+ tr (" Save BehaviorTree to svg" ), directory_path,
696
+ tr (" SVG files (*.svg)" ));
697
+ currentTabInfo ()->saveSvgFile (fileName);
698
+
699
+ directory_path = QFileInfo (fileName).absolutePath ();
700
+ settings.setValue (" SidepanelEditor.lastSaveSvgDirectory" , directory_path);
701
+ }
702
+
686
703
void MainWindow::onSceneChanged ()
687
704
{
688
705
const bool valid_BT = currentTabInfo ()->containsValidTree ();
689
706
690
707
ui->toolButtonLayout ->setEnabled (valid_BT);
691
708
ui->toolButtonReorder ->setEnabled (valid_BT);
692
- ui->toolButtonReorder ->setEnabled (valid_BT);
709
+ ui->toolButtonSaveSvg ->setEnabled (valid_BT);
693
710
694
711
ui->actionSave ->setEnabled (valid_BT);
695
712
QPixmap pix;
@@ -1167,6 +1184,11 @@ void MainWindow::on_toolButtonReorder_pressed()
1167
1184
onAutoArrange ();
1168
1185
}
1169
1186
1187
+ void MainWindow::on_toolButtonSaveSvg_pressed ()
1188
+ {
1189
+ onSaveSvg ();
1190
+ }
1191
+
1170
1192
void MainWindow::on_toolButtonCenterView_pressed ()
1171
1193
{
1172
1194
currentTabInfo ()->zoomHomeView ();
@@ -1313,6 +1335,7 @@ void MainWindow::updateCurrentMode()
1313
1335
1314
1336
ui->toolButtonSaveFile ->setHidden ( NOT_EDITOR );
1315
1337
ui->toolButtonReorder ->setHidden ( NOT_EDITOR );
1338
+ ui->toolButtonSaveSvg ->setHidden ( NOT_EDITOR );
1316
1339
1317
1340
if ( _current_mode == GraphicMode::EDITOR )
1318
1341
{
0 commit comments