diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-05-19 20:44:59 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-05-20 21:14:30 +0200 |
commit | 56c9746f294639583ce5422bf909ad9e4a746f70 (patch) | |
tree | 88bb79f9797127d329c81e86cdc2c69c9e4cc33e | |
parent | 215d1ceaa086e72bb0c7251e97b199a77ef917e1 (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>
-rw-r--r-- | sc/source/ui/optdlg/calcoptionsdlg.cxx | 67 | ||||
-rw-r--r-- | sc/source/ui/optdlg/calcoptionsdlg.hxx | 38 | ||||
-rw-r--r-- | sc/source/ui/optdlg/tpformula.cxx | 9 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/formulacalculationoptions.ui | 130 |
4 files changed, 109 insertions, 135 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()); } } diff --git a/sc/uiconfig/scalc/ui/formulacalculationoptions.ui b/sc/uiconfig/scalc/ui/formulacalculationoptions.ui index fe751a985bfc..e637ca6af42e 100644 --- a/sc/uiconfig/scalc/ui/formulacalculationoptions.ui +++ b/sc/uiconfig/scalc/ui/formulacalculationoptions.ui @@ -1,25 +1,79 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.20.4 --> <interface domain="sc"> <requires lib="gtk+" version="3.18"/> <requires lib="LibreOffice" version="1.0"/> - <object class="GtkAdjustment" id="adjustment1"> - <property name="lower">2</property> - <property name="value">100</property> - <property name="step_increment">1</property> - <property name="page_increment">100</property> - </object> <object class="GtkDialog" id="FormulaCalculationOptions"> <property name="can_focus">False</property> <property name="vexpand">True</property> <property name="border_width">6</property> <property name="title" translatable="yes" context="formulacalculationoptions|FormulaCalculationOptions">Detailed Calculation Settings</property> + <property name="modal">True</property> + <property name="default_width">0</property> + <property name="default_height">0</property> <property name="type_hint">dialog</property> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1"> <property name="can_focus">False</property> <property name="orientation">vertical</property> <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + <property name="secondary">True</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ok"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> <child> <object class="GtkFrame" id="frame1"> <property name="visible">True</property> @@ -42,8 +96,8 @@ <object class="GtkLabel" id="labelConvT2N"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="formulacalculationoptions|labelConvT2N">Conversion from text to number:</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -147,69 +201,15 @@ <property name="position">0</property> </packing> </child> - <child internal-child="action_area"> - <object class="GtkButtonBox" id="dialog-action_area1"> - <property name="can_focus">False</property> - <property name="layout_style">end</property> - <child> - <object class="GtkButton" id="help"> - <property name="label">gtk-help</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - <property name="secondary">True</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ok"> - <property name="label">gtk-ok</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="cancel"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> </object> </child> <action-widgets> <action-widget response="-5">ok</action-widget> <action-widget response="-6">cancel</action-widget> </action-widgets> + <child> + <placeholder/> + </child> </object> <object class="GtkSizeGroup" id="sizegroup1"> <widgets> |