[Libreoffice-commits] core.git: cui/source cui/uiconfig
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Tue Jul 30 15:19:53 UTC 2019
cui/source/options/optjava.cxx | 300 +++++++++++++------------------------
cui/source/options/optjava.hxx | 63 ++++---
cui/uiconfig/ui/optadvancedpage.ui | 235 +++++++++++++++++-----------
3 files changed, 280 insertions(+), 318 deletions(-)
New commits:
commit 1aa246a8e8c7d974ab0f7bdfa16cda36cb700e03
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Jul 30 12:59:20 2019 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Jul 30 17:18:43 2019 +0200
weld SvxJavaOptionsPage
Change-Id: Ib37f6f554a890bd6397ae7b6c56f1615cd12b6b1
Reviewed-on: https://gerrit.libreoffice.org/76604
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index f5bcb94e0137..23b61e7e8184 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -68,113 +68,69 @@ using namespace ::com::sun::star::ucb;
using namespace ::com::sun::star::ui::dialogs;
using namespace ::com::sun::star::uno;
-class SvxJavaListBox : public svx::SvxRadioButtonListBox
-{
-private:
- const OUString m_sAccessibilityText;
-public:
- SvxJavaListBox(SvSimpleTableContainer& rParent, const OUString &rAccessibilityText)
- : SvxRadioButtonListBox(rParent, 0)
- , m_sAccessibilityText(rAccessibilityText)
- {
- }
- void setColSizes()
- {
- HeaderBar &rBar = GetTheHeaderBar();
- if (rBar.GetItemCount() < 4)
- return;
- long nCheckWidth = std::max(GetControlColumnWidth() + 12,
- rBar.LogicToPixel(Size(15, 0), MapMode(MapUnit::MapAppFont)).Width());
- long nVersionWidth = 12 +
- std::max(rBar.GetTextWidth(rBar.GetItemText(3)),
- GetTextWidth("0.0.0_00-icedtea"));
- long nFeatureWidth = 12 +
- std::max(rBar.GetTextWidth(rBar.GetItemText(4)),
- GetTextWidth(m_sAccessibilityText));
- long nVendorWidth =
- std::max(GetSizePixel().Width() - (nCheckWidth + nVersionWidth + nFeatureWidth),
- 6 + std::max(rBar.GetTextWidth(rBar.GetItemText(2)),
- GetTextWidth("Sun Microsystems Inc.")));
- long aStaticTabs[]= { 0, 0, 0, 0 };
- aStaticTabs[1] = nCheckWidth;
- aStaticTabs[2] = aStaticTabs[1] + nVendorWidth;
- aStaticTabs[3] = aStaticTabs[2] + nVersionWidth;
- SvSimpleTable::SetTabs(SAL_N_ELEMENTS(aStaticTabs), aStaticTabs, MapUnit::MapPixel);
- }
- virtual void Resize() override
- {
- svx::SvxRadioButtonListBox::Resize();
- setColSizes();
- }
-};
-
// class SvxJavaOptionsPage ----------------------------------------------
-
-SvxJavaOptionsPage::SvxJavaOptionsPage( vcl::Window* pParent, const SfxItemSet& rSet )
- : SfxTabPage(pParent, "OptAdvancedPage", "cui/ui/optadvancedpage.ui", &rSet)
+SvxJavaOptionsPage::SvxJavaOptionsPage(TabPageParent pParent, const SfxItemSet& rSet)
+ : SfxTabPage(pParent, "cui/ui/optadvancedpage.ui", "OptAdvancedPage", &rSet)
, m_aResetIdle("cui options SvxJavaOptionsPage Reset")
, xDialogListener(new ::svt::DialogClosedListener())
-{
- get(m_pJavaEnableCB, "javaenabled");
- get(m_pJavaBox, "javabox");
- get(m_pJavaPathText, "javapath");
- m_sInstallText = m_pJavaPathText->GetText();
- get(m_pAddBtn, "add");
- get(m_pParameterBtn, "parameters");
- get(m_pClassPathBtn, "classpath");
- get(m_pExperimentalCB, "experimental");
- get(m_pMacroCB, "macrorecording");
- get(m_pExpertConfigBtn, "expertconfig");
- m_pParentDlg.reset( dynamic_cast<OfaTreeOptionsDialog*>(getNonLayoutParent(pParent)) );
- m_sAccessibilityText = get<FixedText>("a11y")->GetText();
- m_sAddDialogText = get<FixedText>("selectruntime")->GetText();
-
- SvSimpleTableContainer *pJavaListContainer = get<SvSimpleTableContainer>("javas");
- Size aControlSize(177, 60);
- aControlSize = LogicToPixel(aControlSize, MapMode(MapUnit::MapAppFont));
- pJavaListContainer->set_width_request(aControlSize.Width());
- pJavaListContainer->set_height_request(aControlSize.Height());
- m_pJavaList = VclPtr<SvxJavaListBox>::Create(*pJavaListContainer, m_sAccessibilityText);
-
- long const aStaticTabs[]= { 0, 0, 0, 0 };
- m_pJavaList->SvSimpleTable::SetTabs( SAL_N_ELEMENTS(aStaticTabs), aStaticTabs );
-
- OUString sHeader ( "\t" + get<FixedText>("vendor")->GetText() +
- "\t" + get<FixedText>("version")->GetText() +
- "\t" + get<FixedText>("features")->GetText() +
- "\t" );
- m_pJavaList->InsertHeaderEntry(sHeader, HEADERBAR_APPEND, HeaderBarItemBits::LEFT);
- m_pJavaList->setColSizes();
-
- m_pJavaEnableCB->SetClickHdl( LINK( this, SvxJavaOptionsPage, EnableHdl_Impl ) );
- m_pJavaList->SetCheckButtonHdl( LINK( this, SvxJavaOptionsPage, CheckHdl_Impl ) );
- m_pJavaList->SetSelectHdl( LINK( this, SvxJavaOptionsPage, SelectHdl_Impl ) );
- m_pAddBtn->SetClickHdl( LINK( this, SvxJavaOptionsPage, AddHdl_Impl ) );
- m_pParameterBtn->SetClickHdl( LINK( this, SvxJavaOptionsPage, ParameterHdl_Impl ) );
- m_pClassPathBtn->SetClickHdl( LINK( this, SvxJavaOptionsPage, ClassPathHdl_Impl ) );
+ , 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_xAccessibilityText(m_xBuilder->weld_label("a11y"))
+ , m_xAddDialogText(m_xBuilder->weld_label("selectruntime"))
+ , m_xJavaFrame(m_xBuilder->weld_widget("javaframe"))
+{
+ m_sInstallText = m_xJavaPathText->get_label();
+ m_sAccessibilityText = m_xAccessibilityText->get_label();
+ m_sAddDialogText = m_xAddDialogText->get_label();
+
+ m_xJavaList->set_size_request(m_xJavaList->get_approximate_digit_width() * 30,
+ m_xJavaList->get_height_rows(8));
+
+ std::vector<int> aWidths;
+ aWidths.push_back(m_xJavaList->get_checkbox_column_width());
+ aWidths.push_back(m_xJavaList->get_pixel_size("Sun Microsystems Inc.").Width());
+ aWidths.push_back(m_xJavaList->get_pixel_size("0.0.0_00-icedtea").Width());
+ m_xJavaList->set_column_fixed_widths(aWidths);
+
+ std::vector<int> aRadioColumns;
+ aRadioColumns.push_back(0);
+ m_xJavaList->set_toggle_columns_as_radio(aRadioColumns);
+
+ m_xJavaEnableCB->connect_clicked( LINK( this, SvxJavaOptionsPage, EnableHdl_Impl ) );
+ m_xJavaList->connect_toggled( LINK( this, SvxJavaOptionsPage, CheckHdl_Impl ) );
+ m_xJavaList->connect_changed( LINK( this, SvxJavaOptionsPage, SelectHdl_Impl ) );
+ m_xAddBtn->connect_clicked( LINK( this, SvxJavaOptionsPage, AddHdl_Impl ) );
+ m_xParameterBtn->connect_clicked( LINK( this, SvxJavaOptionsPage, ParameterHdl_Impl ) );
+ m_xClassPathBtn->connect_clicked( LINK( this, SvxJavaOptionsPage, ClassPathHdl_Impl ) );
m_aResetIdle.SetInvokeHandler( LINK( this, SvxJavaOptionsPage, ResetHdl_Impl ) );
- m_pExpertConfigBtn->SetClickHdl( LINK( this, SvxJavaOptionsPage, ExpertConfigHdl_Impl) );
+ m_xExpertConfigBtn->connect_clicked( LINK( this, SvxJavaOptionsPage, ExpertConfigHdl_Impl) );
if (!officecfg::Office::Common::Security::EnableExpertConfiguration::get())
- m_pExpertConfigBtn->Disable();
+ m_xExpertConfigBtn->set_sensitive(false);
if (officecfg::Office::Common::Misc::MacroRecorderMode::isReadOnly())
- m_pMacroCB->Disable();
+ m_xMacroCB->set_sensitive(false);
if (officecfg::Office::Common::Misc::ExperimentalMode::isReadOnly())
- m_pExperimentalCB->Disable();
+ m_xExperimentalCB->set_sensitive(false);
xDialogListener->SetDialogClosedLink( LINK( this, SvxJavaOptionsPage, DialogClosedHdl ) );
- EnableHdl_Impl(m_pJavaEnableCB);
+ EnableHdl_Impl(*m_xJavaEnableCB);
#if HAVE_FEATURE_JAVA
jfw_lock();
#else
- get<vcl::Window>("javaframe")->Disable();
+ m_xJavaFrame->set_sensitive(false);
#endif
}
-
SvxJavaOptionsPage::~SvxJavaOptionsPage()
{
disposeOnce();
@@ -182,63 +138,38 @@ SvxJavaOptionsPage::~SvxJavaOptionsPage()
void SvxJavaOptionsPage::dispose()
{
- m_pJavaList.disposeAndClear();
- m_xParamDlg.reset();
- m_xPathDlg.reset();
ClearJavaInfo();
#if HAVE_FEATURE_JAVA
m_aAddedInfos.clear();
jfw_unlock();
#endif
- m_pParentDlg.clear();
- m_pJavaEnableCB.clear();
- m_pJavaBox.clear();
- m_pJavaPathText.clear();
- m_pAddBtn.clear();
- m_pParameterBtn.clear();
- m_pClassPathBtn.clear();
- m_pExpertConfigBtn.clear();
- m_pExperimentalCB.clear();
- m_pMacroCB.clear();
SfxTabPage::dispose();
}
-
-IMPL_LINK_NOARG(SvxJavaOptionsPage, EnableHdl_Impl, Button*, void)
+IMPL_LINK_NOARG(SvxJavaOptionsPage, EnableHdl_Impl, weld::Button&, void)
{
- bool bEnable = m_pJavaEnableCB->IsChecked();
- m_pJavaBox->Enable(bEnable);
- bEnable ? m_pJavaList->EnableTable() : m_pJavaList->DisableTable();
+ bool bEnable = m_xJavaEnableCB->get_active();
+ m_xJavaList->set_sensitive(bEnable);
}
-
-IMPL_LINK( SvxJavaOptionsPage, CheckHdl_Impl, SvTreeListBox*, pList, void )
+IMPL_LINK(SvxJavaOptionsPage, CheckHdl_Impl, const row_col&, rRowCol, void)
{
- SvTreeListEntry* pEntry = pList ? m_pJavaList->GetEntry( m_pJavaList->GetCurMousePoint() )
- : m_pJavaList->FirstSelected();
- if ( pEntry )
- m_pJavaList->HandleEntryChecked( pEntry );
+ HandleCheckEntry(rRowCol.first);
}
-
-IMPL_LINK_NOARG(SvxJavaOptionsPage, SelectHdl_Impl, SvTreeListBox*, void)
+IMPL_LINK_NOARG(SvxJavaOptionsPage, SelectHdl_Impl, weld::TreeView&, void)
{
// set installation directory info
- SvTreeListEntry* pEntry = m_pJavaList->FirstSelected();
- DBG_ASSERT( pEntry, "SvxJavaOptionsPage::SelectHdl_Impl(): no entry" );
- OUString* pLocation = static_cast< OUString* >( pEntry->GetUserData() );
- DBG_ASSERT( pLocation, "invalid location string" );
+ OUString sLocation = m_xJavaList->get_selected_id();
OUString sInfo = m_sInstallText;
// tdf#80646 insert LTR mark after label
sInfo += OUStringLiteral1(0x200E);
- if ( pLocation )
- sInfo += *pLocation;
- m_pJavaPathText->SetText(sInfo);
+ sInfo += sLocation;
+ m_xJavaPathText->set_label(sInfo);
}
-
-IMPL_LINK_NOARG(SvxJavaOptionsPage, AddHdl_Impl, Button*, void)
+IMPL_LINK_NOARG(SvxJavaOptionsPage, AddHdl_Impl, weld::Button&, void)
{
try
{
@@ -261,14 +192,13 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, AddHdl_Impl, Button*, void)
}
}
-
-IMPL_LINK_NOARG(SvxJavaOptionsPage, ParameterHdl_Impl, Button*, void)
+IMPL_LINK_NOARG(SvxJavaOptionsPage, ParameterHdl_Impl, weld::Button&, void)
{
#if HAVE_FEATURE_JAVA
std::vector< OUString > aParameterList;
if (!m_xParamDlg)
{
- m_xParamDlg.reset(new SvxJavaParameterDlg(GetFrameWeld()));
+ m_xParamDlg.reset(new SvxJavaParameterDlg(GetDialogFrameWeld()));
javaFrameworkError eErr = jfw_getVMParameters( &m_parParameters );
if ( JFW_E_NONE == eErr && !m_parParameters.empty() )
{
@@ -301,14 +231,14 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, ParameterHdl_Impl, Button*, void)
}
-IMPL_LINK_NOARG(SvxJavaOptionsPage, ClassPathHdl_Impl, Button*, void)
+IMPL_LINK_NOARG(SvxJavaOptionsPage, ClassPathHdl_Impl, weld::Button&, void)
{
#if HAVE_FEATURE_JAVA
OUString sClassPath;
if ( !m_xPathDlg )
{
- m_xPathDlg.reset(new SvxJavaClassPathDlg(GetFrameWeld()));
+ m_xPathDlg.reset(new SvxJavaClassPathDlg(GetDialogFrameWeld()));
javaFrameworkError eErr = jfw_getUserClassPath( &m_pClassPath );
if ( JFW_E_NONE == eErr )
{
@@ -373,9 +303,9 @@ IMPL_LINK( SvxJavaOptionsPage, DialogClosedHdl, DialogClosedEvent*, pEvt, void )
}
}
-IMPL_STATIC_LINK( SvxJavaOptionsPage, ExpertConfigHdl_Impl, Button*, pButton, void )
+IMPL_LINK_NOARG(SvxJavaOptionsPage, ExpertConfigHdl_Impl, weld::Button&, void)
{
- ScopedVclPtrInstance< CuiAboutConfigTabPage > pExpertConfigDlg(pButton->GetParentDialog());
+ ScopedVclPtrInstance<CuiAboutConfigTabPage> pExpertConfigDlg(GetParentDialog());
pExpertConfigDlg->Reset();//initialize and reset function
if( RET_OK == pExpertConfigDlg->Execute() )
@@ -398,21 +328,14 @@ void SvxJavaOptionsPage::ClearJavaInfo()
void SvxJavaOptionsPage::ClearJavaList()
{
- SvTreeListEntry* pEntry = m_pJavaList->First();
- while ( pEntry )
- {
- OUString* pLocation = static_cast< OUString* >( pEntry->GetUserData() );
- delete pLocation;
- pEntry = m_pJavaList->Next( pEntry );
- }
- m_pJavaList->Clear();
+ m_xJavaList->clear();
}
void SvxJavaOptionsPage::LoadJREs()
{
#if HAVE_FEATURE_JAVA
- WaitObject aWaitObj(m_pJavaList);
+ weld::WaitObject aWaitObj(GetDialogFrameWeld());
javaFrameworkError eErr = jfw_findAllJREs( &m_parJavaInfo );
if ( JFW_E_NONE == eErr )
{
@@ -436,9 +359,7 @@ void SvxJavaOptionsPage::LoadJREs()
{
if ( jfw_areEqualJavaInfo( pCmpInfo.get(), pSelectedJava.get() ) )
{
- SvTreeListEntry* pEntry = m_pJavaList->GetEntry(i);
- if ( pEntry )
- m_pJavaList->HandleEntryChecked( pEntry );
+ HandleCheckEntry(i);
break;
}
++i;
@@ -453,41 +374,35 @@ void SvxJavaOptionsPage::LoadJREs()
void SvxJavaOptionsPage::AddJRE( JavaInfo const * _pInfo )
{
#if HAVE_FEATURE_JAVA
- OUString sEntry = "\t" + _pInfo->sVendor + "\t" + _pInfo->sVersion + "\t";
- if ( ( _pInfo->nFeatures & JFW_FEATURE_ACCESSBRIDGE ) == JFW_FEATURE_ACCESSBRIDGE )
- sEntry += m_sAccessibilityText;
- SvTreeListEntry* pEntry = m_pJavaList->InsertEntry(sEntry);
- INetURLObject aLocObj( _pInfo->sLocation );
- OUString* pLocation = new OUString( aLocObj.getFSysPath( FSysStyle::Detect ) );
- pEntry->SetUserData( pLocation );
+ int nPos = m_xJavaList->n_children();
+ m_xJavaList->append();
+ m_xJavaList->set_toggle(nPos, TRISTATE_FALSE, 0);
+ m_xJavaList->set_text(nPos, _pInfo->sVendor, 1);
+ m_xJavaList->set_text(nPos, _pInfo->sVersion, 2);
+ OUString sFeature;
+ if ((_pInfo->nFeatures & JFW_FEATURE_ACCESSBRIDGE) == JFW_FEATURE_ACCESSBRIDGE)
+ sFeature = m_sAccessibilityText;
+ m_xJavaList->set_text(nPos, sFeature, 3);
+
+ INetURLObject aLocObj(_pInfo->sLocation);
+ OUString sLocation = aLocObj.getFSysPath(FSysStyle::Detect);
+ m_xJavaList->set_id(nPos, sLocation);
#else
(void) this;
(void)_pInfo;
#endif
}
-
-void SvxJavaOptionsPage::HandleCheckEntry( SvTreeListEntry* _pEntry )
+void SvxJavaOptionsPage::HandleCheckEntry(int nCheckedRow)
{
- m_pJavaList->Select( _pEntry );
- SvButtonState eState = m_pJavaList->GetCheckButtonState( _pEntry );
-
- if ( SvButtonState::Checked == eState )
+ m_xJavaList->select(nCheckedRow);
+ for (int i = 0, nCount = m_xJavaList->n_children(); i < nCount; ++i)
{
// we have radio button behavior -> so uncheck the other entries
- SvTreeListEntry* pEntry = m_pJavaList->First();
- while ( pEntry )
- {
- if ( pEntry != _pEntry )
- m_pJavaList->SetCheckButtonState( pEntry, SvButtonState::Unchecked );
- pEntry = m_pJavaList->Next( pEntry );
- }
+ m_xJavaList->set_toggle(i, i == nCheckedRow ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
}
- else
- m_pJavaList->SetCheckButtonState( _pEntry, SvButtonState::Checked );
}
-
void SvxJavaOptionsPage::AddFolder( const OUString& _rFolder )
{
#if HAVE_FEATURE_JAVA
@@ -526,25 +441,22 @@ void SvxJavaOptionsPage::AddFolder( const OUString& _rFolder )
jfw_addJRELocation( pInfo->sLocation );
AddJRE( pInfo.get() );
m_aAddedInfos.push_back( std::move(pInfo) );
- nPos = m_pJavaList->GetEntryCount() - 1;
+ nPos = m_xJavaList->n_children() - 1;
}
- SvTreeListEntry* pEntry = m_pJavaList->GetEntry( nPos );
- m_pJavaList->Select( pEntry );
- m_pJavaList->SetCheckButtonState( pEntry, SvButtonState::Checked );
- HandleCheckEntry( pEntry );
+ HandleCheckEntry(nPos);
bStartAgain = false;
}
else if ( JFW_E_NOT_RECOGNIZED == eErr )
{
- std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetFrameWeld(),
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetDialogFrameWeld(),
VclMessageType::Warning, VclButtonsType::Ok,
CuiResId(RID_SVXSTR_JRE_NOT_RECOGNIZED)));
xBox->run();
}
else if ( JFW_E_FAILED_VERSION == eErr )
{
- std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetFrameWeld(),
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetDialogFrameWeld(),
VclMessageType::Warning, VclButtonsType::Ok,
CuiResId(RID_SVXSTR_JRE_FAILED_VERSION)));
xBox->run();
@@ -561,16 +473,16 @@ void SvxJavaOptionsPage::AddFolder( const OUString& _rFolder )
#endif
}
-void SvxJavaOptionsPage::RequestRestart( svtools::RestartReason eReason )
+void SvxJavaOptionsPage::RequestRestart(svtools::RestartReason eReason)
{
- if ( m_pParentDlg )
- m_pParentDlg->SetNeedsRestart( eReason );
+ VclPtr<OfaTreeOptionsDialog> xParentDlg(static_cast<OfaTreeOptionsDialog*>(GetParentDialog()));
+ if (xParentDlg)
+ xParentDlg->SetNeedsRestart(eReason);
}
-
VclPtr<SfxTabPage> SvxJavaOptionsPage::Create( TabPageParent pParent, const SfxItemSet* rAttrSet )
{
- return VclPtr<SvxJavaOptionsPage>::Create( pParent.pParent, *rAttrSet );
+ return VclPtr<SvxJavaOptionsPage>::Create( pParent, *rAttrSet );
}
@@ -578,18 +490,18 @@ bool SvxJavaOptionsPage::FillItemSet( SfxItemSet* /*rCoreSet*/ )
{
bool bModified = false;
- if ( m_pExperimentalCB->IsValueChangedFromSaved() )
+ if ( m_xExperimentalCB->get_state_changed_from_saved() )
{
SvtMiscOptions aMiscOpt;
- aMiscOpt.SetExperimentalMode( m_pExperimentalCB->IsChecked() );
+ aMiscOpt.SetExperimentalMode( m_xExperimentalCB->get_active() );
bModified = true;
RequestRestart( svtools::RESTART_REASON_EXP_FEATURES );
}
- if ( m_pMacroCB->IsValueChangedFromSaved() )
+ if ( m_xMacroCB->get_state_changed_from_saved() )
{
SvtMiscOptions aMiscOpt;
- aMiscOpt.SetMacroRecorderMode( m_pMacroCB->IsChecked() );
+ aMiscOpt.SetMacroRecorderMode(m_xMacroCB->get_active());
bModified = true;
}
@@ -613,10 +525,10 @@ bool SvxJavaOptionsPage::FillItemSet( SfxItemSet* /*rCoreSet*/ )
}
}
- sal_uLong nCount = m_pJavaList->GetEntryCount();
- for ( sal_uLong i = 0; i < nCount; ++i )
+ sal_uInt32 nCount = m_xJavaList->n_children();
+ for (sal_uInt32 i = 0; i < nCount; ++i)
{
- if ( m_pJavaList->GetCheckButtonState( m_pJavaList->GetEntry(i) ) == SvButtonState::Checked )
+ if (m_xJavaList->get_toggle(i, 0) == TRISTATE_TRUE)
{
JavaInfo const * pInfo;
if ( i < m_parJavaInfo.size() )
@@ -649,9 +561,9 @@ bool SvxJavaOptionsPage::FillItemSet( SfxItemSet* /*rCoreSet*/ )
eErr = jfw_getEnabled( &bEnabled );
DBG_ASSERT( JFW_E_NONE == eErr,
"SvxJavaOptionsPage::FillItemSet(): error in jfw_getEnabled" );
- if ( bEnabled != m_pJavaEnableCB->IsChecked() )
+ if ( bEnabled != m_xJavaEnableCB->get_active() )
{
- eErr = jfw_setEnabled( m_pJavaEnableCB->IsChecked() );
+ eErr = jfw_setEnabled( m_xJavaEnableCB->get_active() );
DBG_ASSERT( JFW_E_NONE == eErr,
"SvxJavaOptionsPage::FillItemSet(): error in jfw_setEnabled" );
bModified = true;
@@ -674,17 +586,17 @@ void SvxJavaOptionsPage::Reset( const SfxItemSet* /*rSet*/ )
javaFrameworkError eErr = jfw_getEnabled( &bEnabled );
if ( eErr != JFW_E_NONE )
bEnabled = false;
- m_pJavaEnableCB->Check( bEnabled );
- EnableHdl_Impl(m_pJavaEnableCB);
+ m_xJavaEnableCB->set_active(bEnabled);
+ EnableHdl_Impl(*m_xJavaEnableCB);
#else
- m_pJavaEnableCB->Check( false );
- m_pJavaEnableCB->Disable();
+ m_xJavaEnableCB->set_active(false);
+ m_xJavaEnableCB->set_sensitive(false);
#endif
- m_pExperimentalCB->Check( aMiscOpt.IsExperimentalMode() );
- m_pExperimentalCB->SaveValue();
- m_pMacroCB->Check( aMiscOpt.IsMacroRecorderMode() );
- m_pMacroCB->SaveValue();
+ m_xExperimentalCB->set_active( aMiscOpt.IsExperimentalMode() );
+ m_xExperimentalCB->save_state();
+ m_xMacroCB->set_active(aMiscOpt.IsMacroRecorderMode());
+ m_xMacroCB->save_state();
m_aResetIdle.Start();
}
diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx
index fdbd162914ae..dd6f9a90e07a 100644
--- a/cui/source/options/optjava.hxx
+++ b/cui/source/options/optjava.hxx
@@ -53,19 +53,6 @@ class OfaTreeOptionsDialog;
class SvxJavaOptionsPage : public SfxTabPage
{
private:
- VclPtr<CheckBox> m_pJavaEnableCB;
- VclPtr<VclContainer> m_pJavaBox;
- VclPtr<SvxJavaListBox> m_pJavaList;
- VclPtr<FixedText> m_pJavaPathText;
- VclPtr<PushButton> m_pAddBtn;
- VclPtr<PushButton> m_pParameterBtn;
- VclPtr<PushButton> m_pClassPathBtn;
- VclPtr<PushButton> m_pExpertConfigBtn;
-
- std::unique_ptr<SvxJavaParameterDlg> m_xParamDlg;
- std::unique_ptr<SvxJavaClassPathDlg> m_xPathDlg;
- VclPtr<OfaTreeOptionsDialog> m_pParentDlg;
-
#if HAVE_FEATURE_JAVA
std::vector<std::unique_ptr<JavaInfo>> m_parJavaInfo;
std::vector<OUString> m_parParameters;
@@ -76,38 +63,54 @@ private:
OUString m_sAddDialogText;
Idle m_aResetIdle;
- VclPtr<CheckBox> m_pExperimentalCB;
- VclPtr<CheckBox> m_pMacroCB;
-
- std::vector<std::unique_ptr<JavaInfo>>
- m_aAddedInfos;
+ std::vector<std::unique_ptr<JavaInfo>> m_aAddedInfos;
rtl::Reference< ::svt::DialogClosedListener > xDialogListener;
css::uno::Reference< css::ui::dialogs::XFolderPicker2 > xFolderPicker;
- DECL_LINK( EnableHdl_Impl, Button*, void);
- DECL_LINK( CheckHdl_Impl, SvTreeListBox*, void );
- DECL_LINK( SelectHdl_Impl, SvTreeListBox*, void);
- DECL_LINK( AddHdl_Impl, Button*, void);
- DECL_LINK( ParameterHdl_Impl, Button*, void);
- DECL_LINK( ClassPathHdl_Impl, Button*, void);
- DECL_LINK( ResetHdl_Impl, Timer *, void);
+ std::unique_ptr<weld::CheckButton> m_xJavaEnableCB;
+ std::unique_ptr<weld::TreeView> m_xJavaList;
+ std::unique_ptr<weld::Label> m_xJavaPathText;
+ std::unique_ptr<weld::Button> m_xAddBtn;
+ std::unique_ptr<weld::Button> m_xParameterBtn;
+ std::unique_ptr<weld::Button> m_xClassPathBtn;
+ std::unique_ptr<weld::Button> m_xExpertConfigBtn;
+
+ std::unique_ptr<SvxJavaParameterDlg> m_xParamDlg;
+ std::unique_ptr<SvxJavaClassPathDlg> m_xPathDlg;
+
+ std::unique_ptr<weld::CheckButton> m_xExperimentalCB;
+ std::unique_ptr<weld::CheckButton> m_xMacroCB;
+
+ std::unique_ptr<weld::Label> m_xAccessibilityText;
+ std::unique_ptr<weld::Label> m_xAddDialogText;
+
+ std::unique_ptr<weld::Widget> m_xJavaFrame;
+
+ DECL_LINK(EnableHdl_Impl, weld::Button&, void);
+ typedef std::pair<int, int> row_col;
+ DECL_LINK(CheckHdl_Impl, const row_col&, void);
+ DECL_LINK(SelectHdl_Impl, weld::TreeView&, void);
+ DECL_LINK(AddHdl_Impl, weld::Button&, void);
+ DECL_LINK(ParameterHdl_Impl, weld::Button&, void);
+ DECL_LINK(ClassPathHdl_Impl, weld::Button&, void);
+ DECL_LINK(ResetHdl_Impl, Timer *, void);
- DECL_LINK( StartFolderPickerHdl, void *, void );
- DECL_LINK( DialogClosedHdl, css::ui::dialogs::DialogClosedEvent*, void );
+ DECL_LINK(StartFolderPickerHdl, void *, void);
+ DECL_LINK(DialogClosedHdl, css::ui::dialogs::DialogClosedEvent*, void);
- DECL_STATIC_LINK(SvxJavaOptionsPage, ExpertConfigHdl_Impl, Button*, void);
+ DECL_LINK(ExpertConfigHdl_Impl, weld::Button&, void);
void ClearJavaInfo();
void ClearJavaList();
void LoadJREs();
void AddJRE( JavaInfo const * _pInfo );
- void HandleCheckEntry( SvTreeListEntry* _pEntry );
+ void HandleCheckEntry(int nCheckedRow);
void AddFolder( const OUString& _rFolder );
void RequestRestart( svtools::RestartReason eReason );
public:
- SvxJavaOptionsPage( vcl::Window* pParent, const SfxItemSet& rSet );
+ SvxJavaOptionsPage(TabPageParent pParent, const SfxItemSet& rSet);
virtual ~SvxJavaOptionsPage() override;
virtual void dispose() override;
diff --git a/cui/uiconfig/ui/optadvancedpage.ui b/cui/uiconfig/ui/optadvancedpage.ui
index f520503b5978..8162c26b7871 100644
--- a/cui/uiconfig/ui/optadvancedpage.ui
+++ b/cui/uiconfig/ui/optadvancedpage.ui
@@ -1,11 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
+<!-- Generated with glade 3.22.1 -->
<interface domain="cui">
<requires lib="gtk+" version="3.18"/>
- <requires lib="LibreOffice" version="1.0"/>
+ <object class="GtkTreeStore" id="liststore1">
+ <columns>
+ <!-- column-name check1 -->
+ <column type="gboolean"/>
+ <!-- column-name text -->
+ <column type="gchararray"/>
+ <!-- column-name text2 -->
+ <column type="gchararray"/>
+ <!-- column-name text3 -->
+ <column type="gchararray"/>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ <!-- column-name checkvis1 -->
+ <column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
+ </columns>
+ </object>
<object class="GtkBox" id="OptAdvancedPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">18</property>
@@ -57,13 +76,13 @@
<property name="vexpand">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkBox" id="javabox">
+ <object class="GtkGrid" id="javabox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
- <property name="spacing">12</property>
+ <property name="row_spacing">12</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
@@ -74,9 +93,8 @@
<property name="mnemonic_widget">javas</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
@@ -142,96 +160,94 @@
</packing>
</child>
<child>
- <object class="GtkGrid" id="grid2">
+ <object class="GtkBox" id="box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkGrid" id="grid3">
- <property name="can_focus">False</property>
- <property name="no_show_all">True</property>
- <property name="column_spacing">6</property>
- <child>
- <object class="GtkLabel" id="vendor">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="optadvancedpage|vendor">Vendor</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="version">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="optadvancedpage|version">Version</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="features">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="optadvancedpage|features">Features</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="a11y">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="optadvancedpage|a11y">with accessibility support</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="selectruntime">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="optadvancedpage|selectruntime">Select a Java Runtime Environment</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="svtlo-SvSimpleTableContainer" id="javas">
+ <object class="GtkScrolledWindow" id="javasscroll">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="Simple Table Container-selection1"/>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="javas">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="model">liststore1</property>
+ <property name="search_column">0</property>
+ <property name="show_expanders">False</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="Macro Library List-selection2"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn4">
+ <property name="resizable">True</property>
+ <property name="spacing">6</property>
+ <property name="alignment">0.5</property>
+ <child>
+ <object class="GtkCellRendererToggle" id="cellrenderer5">
+ <property name="radio">True</property>
+ </object>
+ <attributes>
+ <attribute name="visible">4</attribute>
+ <attribute name="active">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn5">
+ <property name="resizable">True</property>
+ <property name="spacing">6</property>
+ <property name="title" translatable="yes" context="optadvancedpage|vendor">Vendor</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderer4"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn1">
+ <property name="resizable">True</property>
+ <property name="spacing">6</property>
+ <property name="title" translatable="yes" context="optadvancedpage|version">Version</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderer1"/>
+ <attributes>
+ <attribute name="text">2</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn2">
+ <property name="resizable">True</property>
+ <property name="spacing">6</property>
+ <property name="title" translatable="yes" context="optadvancedpage|features">Features</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderer2"/>
+ <attributes>
+ <attribute name="text">3</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
</child>
</object>
<packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
</packing>
</child>
</object>
@@ -242,9 +258,8 @@
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
</packing>
</child>
<child>
@@ -255,16 +270,48 @@
<property name="xalign">0</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="a11y">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="optadvancedpage|a11y">with accessibility support</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="selectruntime">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="optadvancedpage|selectruntime">Select a Java Runtime Environment</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
@@ -331,8 +378,8 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="use_underline">True</property>
<property name="halign">start</property>
+ <property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
More information about the Libreoffice-commits
mailing list