diff options
Diffstat (limited to 'cui/source/options/optjava.cxx')
-rw-r--r-- | cui/source/options/optjava.cxx | 83 |
1 files changed, 63 insertions, 20 deletions
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx index ce535b9f6a6c..cc89865bdd28 100644 --- a/cui/source/options/optjava.cxx +++ b/cui/source/options/optjava.cxx @@ -33,6 +33,7 @@ #include <officecfg/Office/Common.hxx> #include <osl/file.hxx> +#include <rtl/bootstrap.hxx> #include <strings.hrc> #include <vcl/svapp.hxx> @@ -44,14 +45,12 @@ #include <svtools/restartdialog.hxx> #include <sfx2/filedlghelper.hxx> #include <sfx2/inputdlg.hxx> -#include <tools/diagnose_ex.h> +#include <comphelper/diagnose_ex.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/string.hxx> #include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp> #include <com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.hpp> #include <com/sun/star/ui/dialogs/TemplateDescription.hpp> -#include <com/sun/star/ui/dialogs/FolderPicker.hpp> -#include <com/sun/star/ucb/XContentProvider.hpp> #if HAVE_FEATURE_JAVA #include <jvmfwk/framework.hxx> #endif @@ -60,8 +59,6 @@ #define CLASSPATH_DELIMITER SAL_PATHSEPARATOR -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::ucb; using namespace ::com::sun::star::ui::dialogs; using namespace ::com::sun::star::uno; @@ -78,7 +75,9 @@ SvxJavaOptionsPage::SvxJavaOptionsPage(weld::Container* pPage, weld::DialogContr , m_xClassPathBtn(m_xBuilder->weld_button("classpath")) , m_xExpertConfigBtn(m_xBuilder->weld_button("expertconfig")) , m_xExperimentalCB(m_xBuilder->weld_check_button("experimental")) + , m_xExperimentalImg(m_xBuilder->weld_widget("lockexperimental")) , m_xMacroCB(m_xBuilder->weld_check_button("macrorecording")) + , m_xMacroImg(m_xBuilder->weld_widget("lockmacrorecording")) , m_xAddDialogText(m_xBuilder->weld_label("selectruntime")) , m_xJavaFrame(m_xBuilder->weld_widget("javaframe")) { @@ -110,10 +109,16 @@ SvxJavaOptionsPage::SvxJavaOptionsPage(weld::Container* pPage, weld::DialogContr m_xExpertConfigBtn->set_sensitive(false); if (officecfg::Office::Common::Misc::MacroRecorderMode::isReadOnly()) + { m_xMacroCB->set_sensitive(false); + m_xMacroImg->set_visible(true); + } if (officecfg::Office::Common::Misc::ExperimentalMode::isReadOnly()) + { m_xExperimentalCB->set_sensitive(false); + m_xExperimentalImg->set_visible(true); + } xDialogListener->SetDialogClosedLink( LINK( this, SvxJavaOptionsPage, DialogClosedHdl ) ); @@ -434,14 +439,14 @@ void SvxJavaOptionsPage::AddFolder( const OUString& _rFolder ) { std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetFrameWeld(), VclMessageType::Warning, VclButtonsType::Ok, - CuiResId(RID_SVXSTR_JRE_NOT_RECOGNIZED))); + CuiResId(RID_CUISTR_JRE_NOT_RECOGNIZED))); xBox->run(); } else if ( JFW_E_FAILED_VERSION == eErr ) { std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetFrameWeld(), VclMessageType::Warning, VclButtonsType::Ok, - CuiResId(RID_SVXSTR_JRE_FAILED_VERSION))); + CuiResId(RID_CUISTR_JRE_FAILED_VERSION))); xBox->run(); } @@ -468,6 +473,36 @@ std::unique_ptr<SfxTabPage> SvxJavaOptionsPage::Create(weld::Container* pPage, w return std::make_unique<SvxJavaOptionsPage>(pPage, pController, *rAttrSet); } +OUString SvxJavaOptionsPage::GetAllStrings() +{ + OUString sAllStrings; + OUString labels[] = { "label1", "label2", "javapath", "selectruntime", "label12" }; + + for (const auto& label : labels) + { + if (const auto& pString = m_xBuilder->weld_label(label)) + sAllStrings += pString->get_label() + " "; + } + + OUString checkButton[] = { "javaenabled", "experimental", "macrorecording" }; + + for (const auto& check : checkButton) + { + if (const auto& pString = m_xBuilder->weld_check_button(check)) + sAllStrings += pString->get_label() + " "; + } + + OUString buttons[] = { "add", "parameters", "classpath", "expertconfig" }; + + for (const auto& btn : buttons) + { + if (const auto& pString = m_xBuilder->weld_button(btn)) + sAllStrings += pString->get_label() + " "; + } + + return sAllStrings.replaceAll("_", ""); +} + bool SvxJavaOptionsPage::FillItemSet( SfxItemSet* /*rCoreSet*/ ) { bool bModified = false; @@ -712,7 +747,7 @@ void SvxJavaParameterDlg::EditParameter() if (nPos == -1) return; - InputDialog aParamEditDlg(m_xDialog.get(), CuiResId(RID_SVXSTR_JAVA_START_PARAM)); + InputDialog aParamEditDlg(m_xDialog.get(), CuiResId(RID_CUISTR_JAVA_START_PARAM)); OUString editableClassPath = m_xAssignedList->get_selected_text(); aParamEditDlg.SetEntryText(editableClassPath); aParamEditDlg.HideHelpBtn(); @@ -792,8 +827,8 @@ SvxJavaClassPathDlg::~SvxJavaClassPathDlg() IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddArchiveHdl_Impl, weld::Button&, void) { sfx2::FileDialogHelper aDlg(TemplateDescription::FILEOPEN_SIMPLE, FileDialogFlags::NONE, m_xDialog.get()); - aDlg.SetTitle( CuiResId( RID_SVXSTR_ARCHIVE_TITLE ) ); - aDlg.AddFilter( CuiResId( RID_SVXSTR_ARCHIVE_HEADLINE ), "*.jar;*.zip" ); + aDlg.SetTitle( CuiResId( RID_CUISTR_ARCHIVE_TITLE ) ); + aDlg.AddFilter( CuiResId( RID_CUISTR_ARCHIVE_HEADLINE ), "*.jar;*.zip" ); aDlg.SetContext(sfx2::FileDialogHelper::JavaClassPath); OUString sFolder; if (m_xPathList->count_selected_rows() > 0) @@ -817,7 +852,7 @@ IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddArchiveHdl_Impl, weld::Button&, void) } else { - OUString sMsg( CuiResId( RID_SVXSTR_MULTIFILE_DBL_ERR ) ); + OUString sMsg( CuiResId( RID_CUISTR_MULTIFILE_DBL_ERR ) ); sMsg = sMsg.replaceFirst( "%1", sFile ); std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok, sMsg)); @@ -826,7 +861,7 @@ IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddArchiveHdl_Impl, weld::Button&, void) } else { - OUString sMsg( CuiResId( RID_SVXSTR_CANNOTCONVERTURL_ERR ) ); + OUString sMsg( CuiResId( RID_CUISTR_CANNOTCONVERTURL_ERR ) ); sMsg = sMsg.replaceFirst( "%1", sURL ); std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok, sMsg)); @@ -865,7 +900,7 @@ IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddPathHdl_Impl, weld::Button&, void) } else { - OUString sMsg( CuiResId( RID_SVXSTR_MULTIFILE_DBL_ERR ) ); + OUString sMsg( CuiResId( RID_CUISTR_MULTIFILE_DBL_ERR ) ); sMsg = sMsg.replaceFirst( "%1", sNewFolder ); std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok, sMsg)); @@ -874,7 +909,7 @@ IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddPathHdl_Impl, weld::Button&, void) } else { - OUString sMsg( CuiResId( RID_SVXSTR_CANNOTCONVERTURL_ERR ) ); + OUString sMsg( CuiResId( RID_CUISTR_CANNOTCONVERTURL_ERR ) ); sMsg = sMsg.replaceFirst( "%1", sFolderURL ); std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok, sMsg)); @@ -936,6 +971,7 @@ OUString SvxJavaClassPathDlg::GetClassPath() const return sPath.makeStringAndClear(); } +#if HAVE_FEATURE_JAVA void SvxJavaClassPathDlg::SetClassPath( const OUString& _rPath ) { if ( m_sOldPath.isEmpty() ) @@ -943,20 +979,27 @@ void SvxJavaClassPathDlg::SetClassPath( const OUString& _rPath ) m_xPathList->clear(); if (!_rPath.isEmpty()) { - sal_Int32 nIdx = 0; - do + std::vector paths = jfw_convertUserPathList(_rPath); + for (auto const& path : paths) { - OUString sToken = _rPath.getToken( 0, CLASSPATH_DELIMITER, nIdx ); OUString sURL; - osl::FileBase::getFileURLFromSystemPath(sToken, sURL); // best effort + if (path.startsWith("$")) + { + sURL = path; + rtl::Bootstrap::expandMacros(sURL); + } + else + { + osl::FileBase::getFileURLFromSystemPath(path, sURL); + } INetURLObject aURL( sURL ); - m_xPathList->append("", sToken, SvFileInformationManager::GetImageId(aURL)); + m_xPathList->append("", path, SvFileInformationManager::GetImageId(aURL)); } - while (nIdx>=0); // select first entry m_xPathList->select(0); } SelectHdl_Impl(*m_xPathList); } +#endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |