summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-04-13 11:54:50 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-04-13 14:22:04 +0200
commita27f1957e574f03734fd4b4419f0b0f0229549f1 (patch)
treee5e55b2968628369538f44d65cadd6ff07698ff1
parenta8b096cba3a49732bfec608b4b7e7b90badb31c3 (diff)
weld DurationDialog
Change-Id: If69c4259c3fd40c822a2dd505e51059a805813f4 Reviewed-on: https://gerrit.libreoffice.org/52821 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--sfx2/source/dialog/dinfdlg.cxx104
-rw-r--r--sfx2/uiconfig/ui/editdurationdialog.ui71
2 files changed, 103 insertions, 72 deletions
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index d0f87eda0829..cda6becfc1ab 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1255,78 +1255,54 @@ void CustomPropertiesYesNoButton::dispose()
Control::dispose();
}
-class DurationDialog_Impl : public ModalDialog
+class DurationDialog_Impl : public weld::GenericDialogController
{
- VclPtr<CheckBox> m_pNegativeCB;
- VclPtr<NumericField> m_pYearNF;
- VclPtr<NumericField> m_pMonthNF;
- VclPtr<NumericField> m_pDayNF;
- VclPtr<NumericField> m_pHourNF;
- VclPtr<NumericField> m_pMinuteNF;
- VclPtr<NumericField> m_pSecondNF;
- VclPtr<NumericField> m_pMSecondNF;
+ std::unique_ptr<weld::CheckButton> m_xNegativeCB;
+ std::unique_ptr<weld::SpinButton> m_xYearNF;
+ std::unique_ptr<weld::SpinButton> m_xMonthNF;
+ std::unique_ptr<weld::SpinButton> m_xDayNF;
+ std::unique_ptr<weld::SpinButton> m_xHourNF;
+ std::unique_ptr<weld::SpinButton> m_xMinuteNF;
+ std::unique_ptr<weld::SpinButton> m_xSecondNF;
+ std::unique_ptr<weld::SpinButton> m_xMSecondNF;
public:
-
- DurationDialog_Impl( vcl::Window* pParent, const util::Duration& rDuration );
- virtual ~DurationDialog_Impl() override;
- virtual void dispose() override;
+ DurationDialog_Impl(weld::Window* pParent, const util::Duration& rDuration);
util::Duration GetDuration() const;
};
-DurationDialog_Impl::DurationDialog_Impl(vcl::Window* pParent,
- const util::Duration& rDuration)
- : ModalDialog(pParent, "EditDurationDialog",
- "sfx/ui/editdurationdialog.ui")
-{
- get(m_pNegativeCB, "negative");
- get(m_pYearNF, "years");
- get(m_pMonthNF, "months");
- get(m_pDayNF, "days");
- get(m_pHourNF, "hours");
- get(m_pMinuteNF, "minutes");
- get(m_pSecondNF, "seconds");
- get(m_pMSecondNF, "milliseconds");
-
- m_pNegativeCB->Check(rDuration.Negative);
- m_pYearNF->SetValue(rDuration.Years);
- m_pMonthNF->SetValue(rDuration.Months);
- m_pDayNF->SetValue(rDuration.Days);
- m_pHourNF->SetValue(rDuration.Hours);
- m_pMinuteNF->SetValue(rDuration.Minutes);
- m_pSecondNF->SetValue(rDuration.Seconds);
- m_pMSecondNF->SetValue(rDuration.NanoSeconds);
-}
-
-DurationDialog_Impl::~DurationDialog_Impl()
-{
- disposeOnce();
-}
-
-void DurationDialog_Impl::dispose()
-{
- m_pNegativeCB.clear();
- m_pYearNF.clear();
- m_pMonthNF.clear();
- m_pDayNF.clear();
- m_pHourNF.clear();
- m_pMinuteNF.clear();
- m_pSecondNF.clear();
- m_pMSecondNF.clear();
- ModalDialog::dispose();
+DurationDialog_Impl::DurationDialog_Impl(weld::Window* pParent, const util::Duration& rDuration)
+ : GenericDialogController(pParent, "sfx/ui/editdurationdialog.ui", "EditDurationDialog")
+ , m_xNegativeCB(m_xBuilder->weld_check_button("negative"))
+ , m_xYearNF(m_xBuilder->weld_spin_button("years"))
+ , m_xMonthNF(m_xBuilder->weld_spin_button("months"))
+ , m_xDayNF(m_xBuilder->weld_spin_button("days"))
+ , m_xHourNF(m_xBuilder->weld_spin_button("hours"))
+ , m_xMinuteNF(m_xBuilder->weld_spin_button("minutes"))
+ , m_xSecondNF(m_xBuilder->weld_spin_button("seconds"))
+ , m_xMSecondNF(m_xBuilder->weld_spin_button("milliseconds"))
+{
+ m_xNegativeCB->set_active(rDuration.Negative);
+ m_xYearNF->set_value(rDuration.Years);
+ m_xMonthNF->set_value(rDuration.Months);
+ m_xDayNF->set_value(rDuration.Days);
+ m_xHourNF->set_value(rDuration.Hours);
+ m_xMinuteNF->set_value(rDuration.Minutes);
+ m_xSecondNF->set_value(rDuration.Seconds);
+ m_xMSecondNF->set_value(rDuration.NanoSeconds);
}
util::Duration DurationDialog_Impl::GetDuration() const
{
util::Duration aRet;
- aRet.Negative = m_pNegativeCB->IsChecked();
- aRet.Years = m_pYearNF->GetValue();
- aRet.Months = m_pMonthNF->GetValue( );
- aRet.Days = m_pDayNF->GetValue( );
- aRet.Hours = m_pHourNF->GetValue( );
- aRet.Minutes = m_pMinuteNF->GetValue();
- aRet.Seconds = m_pSecondNF->GetValue();
- aRet.NanoSeconds = m_pMSecondNF->GetValue();
+ aRet.Negative = m_xNegativeCB->get_active();
+ aRet.Years = m_xYearNF->get_value();
+ aRet.Months = m_xMonthNF->get_value();
+ aRet.Days = m_xDayNF->get_value();
+ aRet.Hours = m_xHourNF->get_value();
+ aRet.Minutes = m_xMinuteNF->get_value();
+ aRet.Seconds = m_xSecondNF->get_value();
+ aRet.NanoSeconds = m_xMSecondNF->get_value();
return aRet;
}
@@ -1377,9 +1353,9 @@ CustomPropertiesEditButton::CustomPropertiesEditButton(vcl::Window* pParent, Win
IMPL_LINK_NOARG(CustomPropertiesEditButton, ClickHdl, Button*, void)
{
- VclPtrInstance< DurationDialog_Impl > pDurationDlg( this, m_pLine->m_aDurationField->GetDuration() );
- if ( RET_OK == pDurationDlg->Execute() )
- m_pLine->m_aDurationField->SetDuration( pDurationDlg->GetDuration() );
+ DurationDialog_Impl aDurationDlg(GetFrameWeld(), m_pLine->m_aDurationField->GetDuration());
+ if (aDurationDlg.run() == RET_OK)
+ m_pLine->m_aDurationField->SetDuration(aDurationDlg.GetDuration());
}
void CustomPropertiesYesNoButton::Resize()
diff --git a/sfx2/uiconfig/ui/editdurationdialog.ui b/sfx2/uiconfig/ui/editdurationdialog.ui
index e5bbad63acc2..a820a1d05e4f 100644
--- a/sfx2/uiconfig/ui/editdurationdialog.ui
+++ b/sfx2/uiconfig/ui/editdurationdialog.ui
@@ -1,12 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.4 -->
<interface domain="sfx">
<requires lib="gtk+" version="3.18"/>
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="upper">2147483647</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment2">
+ <property name="upper">2147483647</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment3">
+ <property name="upper">2147483647</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment4">
+ <property name="upper">2147483647</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment5">
+ <property name="upper">2147483647</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment6">
+ <property name="upper">2147483647</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment7">
+ <property name="upper">2147483647</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
<object class="GtkDialog" id="EditDurationDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="editdurationdialog|EditDurationDialog">Edit Duration</property>
<property name="resizable">False</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">
@@ -112,10 +150,10 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="editdurationdialog|label1">_Years:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">years</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -126,10 +164,10 @@
<object class="GtkLabel" id="label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="editdurationdialog|label">_Months:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">months</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -140,10 +178,10 @@
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="editdurationdialog|label3">_Days:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">days</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -154,10 +192,10 @@
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="editdurationdialog|label4">H_ours:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">hours</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -168,10 +206,10 @@
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="editdurationdialog|label5">Min_utes:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">minutes</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -182,10 +220,10 @@
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="editdurationdialog|label6">_Seconds:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">seconds</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -196,10 +234,10 @@
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="editdurationdialog|label7">Millise_conds:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">milliseconds</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -210,6 +248,8 @@
<object class="GtkSpinButton" id="years">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment1</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -220,6 +260,8 @@
<object class="GtkSpinButton" id="months">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment2</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -230,6 +272,8 @@
<object class="GtkSpinButton" id="days">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment3</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -240,6 +284,8 @@
<object class="GtkSpinButton" id="hours">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment4</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -250,6 +296,8 @@
<object class="GtkSpinButton" id="minutes">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment5</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -260,6 +308,8 @@
<object class="GtkSpinButton" id="seconds">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment6</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -270,6 +320,8 @@
<object class="GtkSpinButton" id="milliseconds">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">adjustment7</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -304,5 +356,8 @@
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
+ <child>
+ <placeholder/>
+ </child>
</object>
</interface>