diff options
Diffstat (limited to 'cui/source/options/optjava.cxx')
-rw-r--r-- | cui/source/options/optjava.cxx | 119 |
1 files changed, 82 insertions, 37 deletions
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx index 69302982214e..323fb34d3b6b 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,7 +45,7 @@ #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> @@ -58,27 +59,27 @@ #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; // class SvxJavaOptionsPage ---------------------------------------------- SvxJavaOptionsPage::SvxJavaOptionsPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet) - : SfxTabPage(pPage, pController, "cui/ui/optadvancedpage.ui", "OptAdvancedPage", &rSet) + : SfxTabPage(pPage, pController, u"cui/ui/optadvancedpage.ui"_ustr, u"OptAdvancedPage"_ustr, &rSet) , m_aResetIdle("cui options SvxJavaOptionsPage Reset") , xDialogListener(new ::svt::DialogClosedListener()) - , m_xJavaEnableCB(m_xBuilder->weld_check_button("javaenabled")) - , m_xJavaList(m_xBuilder->weld_tree_view("javas")) - , m_xJavaPathText(m_xBuilder->weld_label("javapath")) - , m_xAddBtn(m_xBuilder->weld_button("add")) - , m_xParameterBtn(m_xBuilder->weld_button("parameters")) - , m_xClassPathBtn(m_xBuilder->weld_button("classpath")) - , m_xExpertConfigBtn(m_xBuilder->weld_button("expertconfig")) - , m_xExperimentalCB(m_xBuilder->weld_check_button("experimental")) - , m_xMacroCB(m_xBuilder->weld_check_button("macrorecording")) - , m_xAddDialogText(m_xBuilder->weld_label("selectruntime")) - , m_xJavaFrame(m_xBuilder->weld_widget("javaframe")) + , m_xJavaEnableCB(m_xBuilder->weld_check_button(u"javaenabled"_ustr)) + , m_xJavaList(m_xBuilder->weld_tree_view(u"javas"_ustr)) + , m_xJavaPathText(m_xBuilder->weld_label(u"javapath"_ustr)) + , m_xAddBtn(m_xBuilder->weld_button(u"add"_ustr)) + , m_xParameterBtn(m_xBuilder->weld_button(u"parameters"_ustr)) + , m_xClassPathBtn(m_xBuilder->weld_button(u"classpath"_ustr)) + , m_xExpertConfigBtn(m_xBuilder->weld_button(u"expertconfig"_ustr)) + , m_xExperimentalCB(m_xBuilder->weld_check_button(u"experimental"_ustr)) + , m_xExperimentalImg(m_xBuilder->weld_widget(u"lockexperimental"_ustr)) + , m_xMacroCB(m_xBuilder->weld_check_button(u"macrorecording"_ustr)) + , m_xMacroImg(m_xBuilder->weld_widget(u"lockmacrorecording"_ustr)) + , m_xAddDialogText(m_xBuilder->weld_label(u"selectruntime"_ustr)) + , m_xJavaFrame(m_xBuilder->weld_widget(u"javaframe"_ustr)) { m_sInstallText = m_xJavaPathText->get_label(); m_sAddDialogText = m_xAddDialogText->get_label(); @@ -93,7 +94,7 @@ SvxJavaOptionsPage::SvxJavaOptionsPage(weld::Container* pPage, weld::DialogContr std::vector<int> aWidths { m_xJavaList->get_checkbox_column_width(), - o3tl::narrowing<int>(m_xJavaList->get_pixel_size("Sun Microsystems Inc.").Width()) + o3tl::narrowing<int>(m_xJavaList->get_pixel_size(u"Sun Microsystems Inc."_ustr).Width()) }; m_xJavaList->set_column_fixed_widths(aWidths); @@ -108,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 ) ); @@ -466,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[] = { u"label1"_ustr, u"label2"_ustr, u"javapath"_ustr, u"selectruntime"_ustr, u"label12"_ustr }; + + for (const auto& label : labels) + { + if (const auto& pString = m_xBuilder->weld_label(label)) + sAllStrings += pString->get_label() + " "; + } + + OUString checkButton[] = { u"javaenabled"_ustr, u"experimental"_ustr, u"macrorecording"_ustr }; + + for (const auto& check : checkButton) + { + if (const auto& pString = m_xBuilder->weld_check_button(check)) + sAllStrings += pString->get_label() + " "; + } + + OUString buttons[] = { u"add"_ustr, u"parameters"_ustr, u"classpath"_ustr, u"expertconfig"_ustr }; + + 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; @@ -601,13 +638,13 @@ void SvxJavaOptionsPage::FillUserData() // class SvxJavaParameterDlg --------------------------------------------- SvxJavaParameterDlg::SvxJavaParameterDlg(weld::Window* pParent) - : GenericDialogController(pParent, "cui/ui/javastartparametersdialog.ui", - "JavaStartParameters") - , m_xParameterEdit(m_xBuilder->weld_entry("parameterfield")) - , m_xAssignBtn(m_xBuilder->weld_button("assignbtn")) - , m_xAssignedList(m_xBuilder->weld_tree_view("assignlist")) - , m_xRemoveBtn(m_xBuilder->weld_button("removebtn")) - , m_xEditBtn(m_xBuilder->weld_button("editbtn")) + : GenericDialogController(pParent, u"cui/ui/javastartparametersdialog.ui"_ustr, + u"JavaStartParameters"_ustr) + , m_xParameterEdit(m_xBuilder->weld_entry(u"parameterfield"_ustr)) + , m_xAssignBtn(m_xBuilder->weld_button(u"assignbtn"_ustr)) + , m_xAssignedList(m_xBuilder->weld_tree_view(u"assignlist"_ustr)) + , m_xRemoveBtn(m_xBuilder->weld_button(u"removebtn"_ustr)) + , m_xEditBtn(m_xBuilder->weld_button(u"editbtn"_ustr)) { m_xAssignedList->set_size_request(m_xAssignedList->get_approximate_digit_width() * 54, m_xAssignedList->get_height_rows(6)); @@ -766,11 +803,11 @@ void SvxJavaParameterDlg::SetParameters( std::vector< OUString > const & rParams // class SvxJavaClassPathDlg --------------------------------------------- SvxJavaClassPathDlg::SvxJavaClassPathDlg(weld::Window* pParent) - : GenericDialogController(pParent, "cui/ui/javaclasspathdialog.ui", "JavaClassPath") - , m_xPathList(m_xBuilder->weld_tree_view("paths")) - , m_xAddArchiveBtn(m_xBuilder->weld_button("archive")) - , m_xAddPathBtn(m_xBuilder->weld_button("folder")) - , m_xRemoveBtn(m_xBuilder->weld_button("remove")) + : GenericDialogController(pParent, u"cui/ui/javaclasspathdialog.ui"_ustr, u"JavaClassPath"_ustr) + , m_xPathList(m_xBuilder->weld_tree_view(u"paths"_ustr)) + , m_xAddArchiveBtn(m_xBuilder->weld_button(u"archive"_ustr)) + , m_xAddPathBtn(m_xBuilder->weld_button(u"folder"_ustr)) + , m_xRemoveBtn(m_xBuilder->weld_button(u"remove"_ustr)) { m_xPathList->set_size_request(m_xPathList->get_approximate_digit_width() * 54, m_xPathList->get_height_rows(8)); @@ -791,7 +828,7 @@ IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddArchiveHdl_Impl, weld::Button&, void) { sfx2::FileDialogHelper aDlg(TemplateDescription::FILEOPEN_SIMPLE, FileDialogFlags::NONE, m_xDialog.get()); aDlg.SetTitle( CuiResId( RID_CUISTR_ARCHIVE_TITLE ) ); - aDlg.AddFilter( CuiResId( RID_CUISTR_ARCHIVE_HEADLINE ), "*.jar;*.zip" ); + aDlg.AddFilter( CuiResId( RID_CUISTR_ARCHIVE_HEADLINE ), u"*.jar;*.zip"_ustr ); aDlg.SetContext(sfx2::FileDialogHelper::JavaClassPath); OUString sFolder; if (m_xPathList->count_selected_rows() > 0) @@ -810,7 +847,7 @@ IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddArchiveHdl_Impl, weld::Button&, void) INetURLObject aURL( sURL ); if ( !IsPathDuplicate( sFile ) ) { - m_xPathList->append("", sFile, SvFileInformationManager::GetImageId(aURL)); + m_xPathList->append(u""_ustr, sFile, SvFileInformationManager::GetImageId(aURL)); m_xPathList->select(m_xPathList->n_children() - 1); } else @@ -858,7 +895,7 @@ IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddPathHdl_Impl, weld::Button&, void) { if ( !IsPathDuplicate( sNewFolder ) ) { - m_xPathList->append("", sNewFolder, SvFileInformationManager::GetImageId(aURL)); + m_xPathList->append(u""_ustr, sNewFolder, SvFileInformationManager::GetImageId(aURL)); m_xPathList->select(m_xPathList->n_children() - 1); } else @@ -934,6 +971,7 @@ OUString SvxJavaClassPathDlg::GetClassPath() const return sPath.makeStringAndClear(); } +#if HAVE_FEATURE_JAVA void SvxJavaClassPathDlg::SetClassPath( const OUString& _rPath ) { if ( m_sOldPath.isEmpty() ) @@ -941,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(u""_ustr, 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: */ |