summaryrefslogtreecommitdiff
path: root/sc/source/ui/optdlg
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-05-19 20:44:59 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-05-20 21:14:30 +0200
commit56c9746f294639583ce5422bf909ad9e4a746f70 (patch)
tree88bb79f9797127d329c81e86cdc2c69c9e4cc33e /sc/source/ui/optdlg
parent215d1ceaa086e72bb0c7251e97b199a77ef917e1 (diff)
weld ScCalcOptionsDialog
Change-Id: I391e26bd95cb3dc6cfa983502aa960a5c54cc800 Reviewed-on: https://gerrit.libreoffice.org/54580 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source/ui/optdlg')
-rw-r--r--sc/source/ui/optdlg/calcoptionsdlg.cxx67
-rw-r--r--sc/source/ui/optdlg/calcoptionsdlg.hxx38
-rw-r--r--sc/source/ui/optdlg/tpformula.cxx9
3 files changed, 44 insertions, 70 deletions
diff --git a/sc/source/ui/optdlg/calcoptionsdlg.cxx b/sc/source/ui/optdlg/calcoptionsdlg.cxx
index 74e7904249d7..e931a180e8bc 100644
--- a/sc/source/ui/optdlg/calcoptionsdlg.cxx
+++ b/sc/source/ui/optdlg/calcoptionsdlg.cxx
@@ -72,43 +72,32 @@ sal_Int32 toSelectedItem( formula::FormulaGrammar::AddressConvention eConv )
}
-ScCalcOptionsDialog::ScCalcOptionsDialog(vcl::Window* pParent, const ScCalcConfig& rConfig, bool bWriteConfig)
- : ModalDialog(pParent, "FormulaCalculationOptions",
- "modules/scalc/ui/formulacalculationoptions.ui")
+ScCalcOptionsDialog::ScCalcOptionsDialog(weld::Window* pParent, const ScCalcConfig& rConfig, bool bWriteConfig)
+ : GenericDialogController(pParent, "modules/scalc/ui/formulacalculationoptions.ui", "FormulaCalculationOptions")
, maConfig(rConfig)
, mbSelectedEmptyStringAsZero(rConfig.mbEmptyStringAsZero)
, mbWriteConfig(bWriteConfig)
+ , mxEmptyAsZero(m_xBuilder->weld_check_button("checkEmptyAsZero"))
+ , mxConversion(m_xBuilder->weld_combo_box_text("comboConversion"))
+ , mxCurrentDocOnly(m_xBuilder->weld_check_button("current_doc"))
+ , mxSyntax(m_xBuilder->weld_combo_box_text("comboSyntaxRef"))
{
- get(mpConversion,"comboConversion");
- mpConversion->SelectEntryPos(static_cast<sal_Int32>(rConfig.meStringConversion));
- mpConversion->SetSelectHdl(LINK(this, ScCalcOptionsDialog, ConversionModifiedHdl));
+ mxConversion->set_active(static_cast<int>(rConfig.meStringConversion));
+ mxConversion->connect_changed(LINK(this, ScCalcOptionsDialog, ConversionModifiedHdl));
- get(mpEmptyAsZero,"checkEmptyAsZero");
- mpEmptyAsZero->Check(rConfig.mbEmptyStringAsZero);
- mpEmptyAsZero->SetClickHdl(LINK(this, ScCalcOptionsDialog, AsZeroModifiedHdl));
+ mxEmptyAsZero->set_active(rConfig.mbEmptyStringAsZero);
+ mxEmptyAsZero->connect_toggled(LINK(this, ScCalcOptionsDialog, AsZeroModifiedHdl));
CoupleEmptyAsZeroToStringConversion();
- get(mpSyntax,"comboSyntaxRef");
- mpSyntax->SelectEntryPos( toSelectedItem(rConfig.meStringRefAddressSyntax) );
- mpSyntax->SetSelectHdl(LINK(this, ScCalcOptionsDialog, SyntaxModifiedHdl));
+ mxSyntax->set_active(toSelectedItem(rConfig.meStringRefAddressSyntax));
+ mxSyntax->connect_changed(LINK(this, ScCalcOptionsDialog, SyntaxModifiedHdl));
- get(mpCurrentDocOnly,"current_doc");
- mpCurrentDocOnly->Check(!mbWriteConfig);
- mpCurrentDocOnly->SetClickHdl(LINK(this, ScCalcOptionsDialog, CurrentDocOnlyHdl));
+ mxCurrentDocOnly->set_active(!mbWriteConfig);
+ mxCurrentDocOnly->connect_toggled(LINK(this, ScCalcOptionsDialog, CurrentDocOnlyHdl));
}
ScCalcOptionsDialog::~ScCalcOptionsDialog()
{
- disposeOnce();
-}
-
-void ScCalcOptionsDialog::dispose()
-{
- mpEmptyAsZero.clear();
- mpConversion.clear();
- mpSyntax.clear();
- mpCurrentDocOnly.clear();
- ModalDialog::dispose();
}
void ScCalcOptionsDialog::CoupleEmptyAsZeroToStringConversion()
@@ -117,43 +106,43 @@ void ScCalcOptionsDialog::CoupleEmptyAsZeroToStringConversion()
{
case ScCalcConfig::StringConversion::ILLEGAL:
maConfig.mbEmptyStringAsZero = false;
- mpEmptyAsZero->Check(false);
- mpEmptyAsZero->Enable(false);
+ mxEmptyAsZero->set_active(false);
+ mxEmptyAsZero->set_sensitive(false);
break;
case ScCalcConfig::StringConversion::ZERO:
maConfig.mbEmptyStringAsZero = true;
- mpEmptyAsZero->Check();
- mpEmptyAsZero->Enable(false);
+ mxEmptyAsZero->set_active(true);
+ mxEmptyAsZero->set_sensitive(false);
break;
case ScCalcConfig::StringConversion::UNAMBIGUOUS:
case ScCalcConfig::StringConversion::LOCALE:
// Reset to the value the user selected before.
maConfig.mbEmptyStringAsZero = mbSelectedEmptyStringAsZero;
- mpEmptyAsZero->Enable();
- mpEmptyAsZero->Check( mbSelectedEmptyStringAsZero);
+ mxEmptyAsZero->set_sensitive(true);
+ mxEmptyAsZero->set_active(mbSelectedEmptyStringAsZero);
break;
}
}
-IMPL_LINK(ScCalcOptionsDialog, AsZeroModifiedHdl, Button*, pCheckBox, void )
+IMPL_LINK(ScCalcOptionsDialog, AsZeroModifiedHdl, weld::ToggleButton&, rCheckBox, void )
{
- maConfig.mbEmptyStringAsZero = mbSelectedEmptyStringAsZero = static_cast<CheckBox*>(pCheckBox)->IsChecked();
+ maConfig.mbEmptyStringAsZero = mbSelectedEmptyStringAsZero = rCheckBox.get_active();
}
-IMPL_LINK(ScCalcOptionsDialog, ConversionModifiedHdl, ListBox&, rConv, void )
+IMPL_LINK(ScCalcOptionsDialog, ConversionModifiedHdl, weld::ComboBoxText&, rConv, void)
{
- maConfig.meStringConversion = static_cast<ScCalcConfig::StringConversion>(rConv.GetSelectedEntryPos());
+ maConfig.meStringConversion = static_cast<ScCalcConfig::StringConversion>(rConv.get_active());
CoupleEmptyAsZeroToStringConversion();
}
-IMPL_LINK(ScCalcOptionsDialog, SyntaxModifiedHdl, ListBox&, rSyntax, void)
+IMPL_LINK(ScCalcOptionsDialog, SyntaxModifiedHdl, weld::ComboBoxText&, rSyntax, void)
{
- maConfig.SetStringRefSyntax(toAddressConvention(rSyntax.GetSelectedEntryPos()));
+ maConfig.SetStringRefSyntax(toAddressConvention(rSyntax.get_active()));
}
-IMPL_LINK(ScCalcOptionsDialog, CurrentDocOnlyHdl, Button*, pCheckBox, void)
+IMPL_LINK(ScCalcOptionsDialog, CurrentDocOnlyHdl, weld::ToggleButton&, rCheckBox, void)
{
- mbWriteConfig = !(static_cast<CheckBox*>(pCheckBox)->IsChecked());
+ mbWriteConfig = !rCheckBox.get_active();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/optdlg/calcoptionsdlg.hxx b/sc/source/ui/optdlg/calcoptionsdlg.hxx
index 5d62570678cb..899f04305c9c 100644
--- a/sc/source/ui/optdlg/calcoptionsdlg.hxx
+++ b/sc/source/ui/optdlg/calcoptionsdlg.hxx
@@ -11,19 +11,7 @@
#define INCLUDED_SC_SOURCE_UI_OPTDLG_CALCOPTIONSDLG_HXX
#include <config_features.h>
-
-#include <vcl/dialog.hxx>
-#include <vcl/button.hxx>
-#include <vcl/edit.hxx>
-#include <vcl/field.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/layout.hxx>
-#include <vcl/lstbox.hxx>
-
-#include <svx/checklbx.hxx>
-
-#include <svtools/treelistbox.hxx>
-
+#include <vcl/weld.hxx>
#include <calcconfig.hxx>
#if HAVE_FEATURE_OPENCL
@@ -31,17 +19,16 @@
#include <opencl/platforminfo.hxx>
#endif
-class ScCalcOptionsDialog : public ModalDialog
+class ScCalcOptionsDialog : public weld::GenericDialogController
{
public:
- ScCalcOptionsDialog(vcl::Window* pParent, const ScCalcConfig& rConfig, bool bWriteConfig);
+ ScCalcOptionsDialog(weld::Window* pParent, const ScCalcConfig& rConfig, bool bWriteConfig);
virtual ~ScCalcOptionsDialog() override;
- virtual void dispose() override;
- DECL_LINK( AsZeroModifiedHdl, Button*, void);
- DECL_LINK( ConversionModifiedHdl, ListBox&, void);
- DECL_LINK( SyntaxModifiedHdl, ListBox&, void);
- DECL_LINK( CurrentDocOnlyHdl, Button*, void);
+ DECL_LINK(AsZeroModifiedHdl, weld::ToggleButton&, void);
+ DECL_LINK(ConversionModifiedHdl, weld::ComboBoxText&, void);
+ DECL_LINK(SyntaxModifiedHdl, weld::ComboBoxText&, void);
+ DECL_LINK(CurrentDocOnlyHdl, weld::ToggleButton&, void);
const ScCalcConfig& GetConfig() const { return maConfig;}
bool GetWriteCalcConfig() const { return mbWriteConfig;}
@@ -50,15 +37,14 @@ private:
void CoupleEmptyAsZeroToStringConversion();
private:
- VclPtr<CheckBox> mpEmptyAsZero;
- VclPtr<ListBox> mpConversion;
- VclPtr<ListBox> mpSyntax;
- VclPtr<CheckBox> mpCurrentDocOnly;
-
ScCalcConfig maConfig;
-
bool mbSelectedEmptyStringAsZero;
bool mbWriteConfig;
+
+ std::unique_ptr<weld::CheckButton> mxEmptyAsZero;
+ std::unique_ptr<weld::ComboBoxText> mxConversion;
+ std::unique_ptr<weld::CheckButton> mxCurrentDocOnly;
+ std::unique_ptr<weld::ComboBoxText> mxSyntax;
};
#endif
diff --git a/sc/source/ui/optdlg/tpformula.cxx b/sc/source/ui/optdlg/tpformula.cxx
index 75b3482fefde..09797b051071 100644
--- a/sc/source/ui/optdlg/tpformula.cxx
+++ b/sc/source/ui/optdlg/tpformula.cxx
@@ -138,12 +138,11 @@ void ScTpFormulaOptions::UpdateCustomCalcRadioButtons(bool bDefault)
void ScTpFormulaOptions::LaunchCustomCalcSettings()
{
- ScopedVclPtrInstance< ScCalcOptionsDialog > aDlg(this, maCurrentConfig,
- maCurrentDocOptions.IsWriteCalcConfig());
- if (aDlg->Execute() == RET_OK)
+ ScCalcOptionsDialog aDlg(GetFrameWeld(), maCurrentConfig, maCurrentDocOptions.IsWriteCalcConfig());
+ if (aDlg.run() == RET_OK)
{
- maCurrentConfig = aDlg->GetConfig();
- maCurrentDocOptions.SetWriteCalcConfig( aDlg->GetWriteCalcConfig());
+ maCurrentConfig = aDlg.GetConfig();
+ maCurrentDocOptions.SetWriteCalcConfig(aDlg.GetWriteCalcConfig());
}
}