summaryrefslogtreecommitdiffstats
path: root/cui/source/options/optjava.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/options/optjava.cxx')
-rw-r--r--cui/source/options/optjava.cxx119
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: */