@@ -683,13 +683,30 @@ void MainWindow::onAutoArrange()
683683 currentTabInfo ()->nodeReorder ();
684684}
685685
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+
686703void MainWindow::onSceneChanged ()
687704{
688705 const bool valid_BT = currentTabInfo ()->containsValidTree ();
689706
690707 ui->toolButtonLayout ->setEnabled (valid_BT);
691708 ui->toolButtonReorder ->setEnabled (valid_BT);
692- ui->toolButtonReorder ->setEnabled (valid_BT);
709+ ui->toolButtonSaveSvg ->setEnabled (valid_BT);
693710
694711 ui->actionSave ->setEnabled (valid_BT);
695712 QPixmap pix;
@@ -1167,6 +1184,11 @@ void MainWindow::on_toolButtonReorder_pressed()
11671184 onAutoArrange ();
11681185}
11691186
1187+ void MainWindow::on_toolButtonSaveSvg_pressed ()
1188+ {
1189+ onSaveSvg ();
1190+ }
1191+
11701192void MainWindow::on_toolButtonCenterView_pressed ()
11711193{
11721194 currentTabInfo ()->zoomHomeView ();
@@ -1313,6 +1335,7 @@ void MainWindow::updateCurrentMode()
13131335
13141336 ui->toolButtonSaveFile ->setHidden ( NOT_EDITOR );
13151337 ui->toolButtonReorder ->setHidden ( NOT_EDITOR );
1338+ ui->toolButtonSaveSvg ->setHidden ( NOT_EDITOR );
13161339
13171340 if ( _current_mode == GraphicMode::EDITOR )
13181341 {
0 commit comments