diff options
Diffstat (limited to 'cui/source/options/optimprove2.cxx')
-rw-r--r-- | cui/source/options/optimprove2.cxx | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/cui/source/options/optimprove2.cxx b/cui/source/options/optimprove2.cxx index 29ef718a6c74..b2127d2680e8 100644 --- a/cui/source/options/optimprove2.cxx +++ b/cui/source/options/optimprove2.cxx @@ -52,6 +52,7 @@ #include <comphelper/synchronousdispatch.hxx> #include <comphelper/uieventslogger.hxx> #include <tools/testtoolloader.hxx> +#include <osl/file.hxx> #define C2S(s) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s)) @@ -61,14 +62,16 @@ namespace uno = ::com::sun::star::uno; namespace util = ::com::sun::star::util; using namespace com::sun::star::system; -// class SvxEmptyPage ---------------------------------------------------- - -SvxEmptyPage::SvxEmptyPage( Window* pParent ) : - - TabPage( pParent, CUI_RES( RID_SVXPAGE_IMPROVEMENT ) ) +namespace { - FreeResource(); + bool lcl_doesLogfileExist(const ::rtl::OUString& sLogPath) + { + ::rtl::OUString sLogFile( sLogPath ); + sLogFile += C2S("/Current.csv"); + ::osl::File aLogFile(sLogFile); + return aLogFile.open(osl_File_OpenFlag_Read) == ::osl::FileBase::E_None; + } } // class SvxImprovementOptionsPage --------------------------------------- @@ -153,7 +156,10 @@ IMPL_LINK( SvxImprovementOptionsPage, HandleShowData, PushButton*, EMPTYARG ) uno::Reference< lang::XComponent > xDoc = ::comphelper::SynchronousDispatch::dispatch( xDesktop, sLogFile, C2S("_default"), 0, aArgs ); if ( xDoc.is() ) + { + dynamic_cast<Dialog*>(GetParent())->EndDialog( RET_CANCEL ); return 1; + } } return 0; @@ -164,11 +170,6 @@ SfxTabPage* SvxImprovementOptionsPage::Create( Window* pParent, const SfxItemSet return new SvxImprovementOptionsPage( pParent, rSet ); } -sal_uInt16* SvxImprovementOptionsPage::GetRanges() -{ - return NULL; -} - sal_Bool SvxImprovementOptionsPage::FillItemSet( SfxItemSet& /*rSet*/ ) { uno::Reference< lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory(); @@ -259,11 +260,13 @@ void SvxImprovementOptionsPage::Reset( const SfxItemSet& /*rSet*/ ) if ( xSubst.is() ) sPath = xSubst->substituteVariables( sPath, sal_False ); m_sLogPath = sPath; + m_aShowDataPB.Enable(lcl_doesLogfileExist(m_sLogPath)); } } } catch( uno::Exception& ) { + m_aShowDataPB.Enable(false); } } |