From 464f3b9d834705edef827a08baf1e43a8526cbce Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 6 Jun 2019 13:35:25 +0200 Subject: [PATCH] #4441 Advanced snapshot export : Remember output path between multiple sessions --- .../RicAdvancedSnapshotExportFeature.cpp | 9 ++++++++ .../RiuAdvancedSnapshotExportWidget.cpp | 21 +++++++++++++++---- .../RiuAdvancedSnapshotExportWidget.h | 2 ++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/ApplicationCode/Commands/ExportCommands/RicAdvancedSnapshotExportFeature.cpp b/ApplicationCode/Commands/ExportCommands/RicAdvancedSnapshotExportFeature.cpp index 358432e5f4..bf07f46e0c 100644 --- a/ApplicationCode/Commands/ExportCommands/RicAdvancedSnapshotExportFeature.cpp +++ b/ApplicationCode/Commands/ExportCommands/RicAdvancedSnapshotExportFeature.cpp @@ -87,7 +87,16 @@ void RicAdvancedSnapshotExportFeature::onActionTriggered(bool isChecked) dlg.addEmptySnapshotItems(4); } + { + QString fallbackFolderName = RiaApplication::instance()->createAbsolutePathFromProjectRelativePath("snapshots"); + QString folderName = + RiaApplication::instance()->lastUsedDialogDirectoryWithFallback("ADVANCED_SNAPSHOT_EXPORT", fallbackFolderName); + dlg.setExportFolder(folderName); + } + dlg.exec(); + + RiaApplication::instance()->setLastUsedDialogDirectory("ADVANCED_SNAPSHOT_EXPORT", dlg.exportFolder()); } } diff --git a/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.cpp b/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.cpp index 5c522a572d..74e1cb96a1 100644 --- a/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.cpp +++ b/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.cpp @@ -93,10 +93,7 @@ RiuAdvancedSnapshotExportWidget::RiuAdvancedSnapshotExportWidget(QWidget* parent layout->addWidget(new QLabel("Export folder")); - // Save images in snapshot catalog relative to project directory - QString snapshotFolderName = RiaApplication::instance()->createAbsolutePathFromProjectRelativePath("snapshots"); - - m_exportFolderLineEdit = new QLineEdit(snapshotFolderName); + m_exportFolderLineEdit = new QLineEdit; QToolButton* button = new QToolButton; button->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred)); @@ -187,6 +184,22 @@ void RiuAdvancedSnapshotExportWidget::addEmptySnapshotItems(size_t itemCount) m_rimProject->multiSnapshotDefinitions.uiCapability()->updateConnectedEditors(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiuAdvancedSnapshotExportWidget::setExportFolder(const QString& folder) +{ + m_exportFolderLineEdit->setText(folder); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RiuAdvancedSnapshotExportWidget::exportFolder() const +{ + return m_exportFolderLineEdit->text(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.h b/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.h index 6f4a43b72c..8dd566ab8d 100644 --- a/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.h +++ b/ApplicationCode/UserInterface/RiuAdvancedSnapshotExportWidget.h @@ -38,6 +38,8 @@ public: void addSnapshotItemFromActiveView(); void addEmptySnapshotItems(size_t itemCount); + void setExportFolder(const QString& folder); + QString exportFolder() const; private slots: void customMenuRequested(QPoint pos);