diff --git a/ApplicationCode/Application/RiaPreferences.cpp b/ApplicationCode/Application/RiaPreferences.cpp index a1f40c3376..07ac962f5d 100644 --- a/ApplicationCode/Application/RiaPreferences.cpp +++ b/ApplicationCode/Application/RiaPreferences.cpp @@ -391,6 +391,9 @@ RiaPreferences::RiaPreferences( void ) "", "" ); CAF_PDM_InitField( &m_defaultPlotFontSize_OBSOLETE, "defaultPlotFontSize", invalidFontSize, "Plot Font Size", "", "", "" ); + + CAF_PDM_InitField( &m_openExportedPdfInViewer, "openExportedPdfInViewer", false, "Open Exported PDF in Viewer", "", "", "" ); + m_openExportedPdfInViewer.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN ); } //-------------------------------------------------------------------------------------------------- @@ -430,7 +433,7 @@ void RiaPreferences::defineEditorAttribute( const caf::PdmFieldHandle* field, field == &m_showProjectChangedDialog || field == &m_searchPlotTemplateFoldersRecursively || field == &m_showLegendBackground || field == &m_showSummaryTimeAsLongString || field == &m_showViewIdInProjectTree || field == &m_useMultipleThreadsWhenLoadingSummaryData || - field == &m_enableFaultsByDefault || field == &m_showProgressBar ) + field == &m_enableFaultsByDefault || field == &m_showProgressBar || field == &m_openExportedPdfInViewer ) { caf::PdmUiCheckBoxEditorAttribute* myAttr = dynamic_cast( attribute ); if ( myAttr ) @@ -563,6 +566,7 @@ void RiaPreferences::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& else if ( uiConfigName == RiaPreferences::tabNameExport() ) { uiOrdering.add( &csvTextExportFieldSeparator ); + uiOrdering.add( &m_openExportedPdfInViewer ); } else if ( RiaApplication::enableDevelopmentFeatures() && uiConfigName == RiaPreferences::tabNameSystem() ) { @@ -961,6 +965,14 @@ bool RiaPreferences::showProgressBar() const return m_showProgressBar; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaPreferences::openExportedPdfInViewer() const +{ + return m_openExportedPdfInViewer; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/Application/RiaPreferences.h b/ApplicationCode/Application/RiaPreferences.h index 705d63b4e1..443631faa0 100644 --- a/ApplicationCode/Application/RiaPreferences.h +++ b/ApplicationCode/Application/RiaPreferences.h @@ -103,6 +103,7 @@ public: bool showSummaryTimeAsLongString() const; bool useMultipleThreadsWhenReadingSummaryData() const; bool showProgressBar() const; + bool openExportedPdfInViewer() const; std::map defaultFontSizes() const; @@ -204,6 +205,7 @@ private: caf::PdmField m_pageRightMargin; caf::PdmField m_pageTopMargin; caf::PdmField m_pageBottomMargin; + caf::PdmField m_openExportedPdfInViewer; caf::PdmField m_plotTemplateFolders; caf::PdmField m_searchPlotTemplateFoldersRecursively; diff --git a/ApplicationCode/Commands/ExportCommands/RicSnapshotViewToPdfFeature.cpp b/ApplicationCode/Commands/ExportCommands/RicSnapshotViewToPdfFeature.cpp index 13638a5f2f..d3a9b51a83 100644 --- a/ApplicationCode/Commands/ExportCommands/RicSnapshotViewToPdfFeature.cpp +++ b/ApplicationCode/Commands/ExportCommands/RicSnapshotViewToPdfFeature.cpp @@ -18,14 +18,19 @@ #include "RicSnapshotViewToPdfFeature.h" +#include "RiaApplication.h" #include "RiaGuiApplication.h" #include "RiaLogging.h" +#include "RiaPreferences.h" #include "RicSnapshotFilenameGenerator.h" #include "RicSnapshotViewToFileFeature.h" #include "RimPlotWindow.h" + #include +#include +#include CAF_CMD_SOURCE_INIT( RicSnapshotViewToPdfFeature, "RicSnapshotViewToPdfFeature" ); @@ -66,6 +71,11 @@ void RicSnapshotViewToPdfFeature::onActionTriggered( bool isChecked ) if ( plotWindow && fileName.endsWith( "PDF", Qt::CaseInsensitive ) ) { RicSnapshotViewToFileFeature::savePlotPdfReportAs( fileName, plotWindow ); + + if ( RiaApplication::instance()->preferences()->openExportedPdfInViewer() ) + { + QDesktopServices::openUrl( fileName ); + } } } }