diff options
Diffstat (limited to 'vcl/source/app/svapp.cxx')
-rw-r--r-- | vcl/source/app/svapp.cxx | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx index 6c70e10d45ec..44a08442ecc1 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx @@ -37,7 +37,7 @@ #include "rtl/tencinfo.h" #include "rtl/instance.hxx" - +#include "rtl/process.h" #include "tools/tools.h" #include "tools/debug.hxx" @@ -1539,16 +1539,21 @@ Window* Application::GetDefDialogParent() // ----------------------------------------------------------------------- -void Application::EnableDialogCancel( sal_Bool bDialogCancel ) +Application::DialogCancelMode Application::GetDialogCancelMode() +{ + return ImplGetSVData()->maAppData.meDialogCancel; +} + +void Application::SetDialogCancelMode( DialogCancelMode mode ) { - ImplGetSVData()->maAppData.mbDialogCancel = bDialogCancel; + ImplGetSVData()->maAppData.meDialogCancel = mode; } // ----------------------------------------------------------------------- sal_Bool Application::IsDialogCancelEnabled() { - return ImplGetSVData()->maAppData.mbDialogCancel; + return ImplGetSVData()->maAppData.meDialogCancel != DIALOG_CANCEL_OFF; } // ----------------------------------------------------------------------- @@ -1765,9 +1770,10 @@ const LocaleDataWrapper& Application::GetAppLocaleDataWrapper() // ----------------------------------------------------------------------- -void Application::EnableHeadlessMode( sal_Bool bEnable ) +void Application::EnableHeadlessMode( bool dialogsAreFatal ) { - EnableDialogCancel( bEnable ); + SetDialogCancelMode( + dialogsAreFatal ? DIALOG_CANCEL_FATAL : DIALOG_CANCEL_SILENT ); } // ----------------------------------------------------------------------- @@ -1777,6 +1783,19 @@ sal_Bool Application::IsHeadlessModeEnabled() return IsDialogCancelEnabled(); } +bool Application::IsHeadlessModeRequested() +{ + sal_uInt32 n = rtl_getAppCommandArgCount(); + for (sal_uInt32 i = 0; i < n; ++i) { + rtl::OUString arg; + rtl_getAppCommandArg(i, &arg.pData); + if (arg.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("--headless"))) { + return true; + } + } + return false; +} + // ----------------------------------------------------------------------- void Application::ShowNativeErrorBox(const String& sTitle , @@ -1902,4 +1921,6 @@ Application::createFolderPicker( const Reference< uno::XComponentContext >& xSM return pSVData->mpDefInst->createFolderPicker( xSM ); } +Application::DialogCancelledException::~DialogCancelledException() throw () {} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |