Kaydet (Commit) a27f1957 authored tarafından Caolán McNamara's avatar Caolán McNamara

weld DurationDialog

Change-Id: If69c4259c3fd40c822a2dd505e51059a805813f4
Reviewed-on: https://gerrit.libreoffice.org/52821Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst a8b096cb
...@@ -1255,78 +1255,54 @@ void CustomPropertiesYesNoButton::dispose() ...@@ -1255,78 +1255,54 @@ void CustomPropertiesYesNoButton::dispose()
Control::dispose(); Control::dispose();
} }
class DurationDialog_Impl : public ModalDialog class DurationDialog_Impl : public weld::GenericDialogController
{ {
VclPtr<CheckBox> m_pNegativeCB; std::unique_ptr<weld::CheckButton> m_xNegativeCB;
VclPtr<NumericField> m_pYearNF; std::unique_ptr<weld::SpinButton> m_xYearNF;
VclPtr<NumericField> m_pMonthNF; std::unique_ptr<weld::SpinButton> m_xMonthNF;
VclPtr<NumericField> m_pDayNF; std::unique_ptr<weld::SpinButton> m_xDayNF;
VclPtr<NumericField> m_pHourNF; std::unique_ptr<weld::SpinButton> m_xHourNF;
VclPtr<NumericField> m_pMinuteNF; std::unique_ptr<weld::SpinButton> m_xMinuteNF;
VclPtr<NumericField> m_pSecondNF; std::unique_ptr<weld::SpinButton> m_xSecondNF;
VclPtr<NumericField> m_pMSecondNF; std::unique_ptr<weld::SpinButton> m_xMSecondNF;
public: public:
DurationDialog_Impl(weld::Window* pParent, const util::Duration& rDuration);
DurationDialog_Impl( vcl::Window* pParent, const util::Duration& rDuration );
virtual ~DurationDialog_Impl() override;
virtual void dispose() override;
util::Duration GetDuration() const; util::Duration GetDuration() const;
}; };
DurationDialog_Impl::DurationDialog_Impl(vcl::Window* pParent, DurationDialog_Impl::DurationDialog_Impl(weld::Window* pParent, const util::Duration& rDuration)
const util::Duration& rDuration) : GenericDialogController(pParent, "sfx/ui/editdurationdialog.ui", "EditDurationDialog")
: ModalDialog(pParent, "EditDurationDialog", , m_xNegativeCB(m_xBuilder->weld_check_button("negative"))
"sfx/ui/editdurationdialog.ui") , m_xYearNF(m_xBuilder->weld_spin_button("years"))
{ , m_xMonthNF(m_xBuilder->weld_spin_button("months"))
get(m_pNegativeCB, "negative"); , m_xDayNF(m_xBuilder->weld_spin_button("days"))
get(m_pYearNF, "years"); , m_xHourNF(m_xBuilder->weld_spin_button("hours"))
get(m_pMonthNF, "months"); , m_xMinuteNF(m_xBuilder->weld_spin_button("minutes"))
get(m_pDayNF, "days"); , m_xSecondNF(m_xBuilder->weld_spin_button("seconds"))
get(m_pHourNF, "hours"); , m_xMSecondNF(m_xBuilder->weld_spin_button("milliseconds"))
get(m_pMinuteNF, "minutes"); {
get(m_pSecondNF, "seconds"); m_xNegativeCB->set_active(rDuration.Negative);
get(m_pMSecondNF, "milliseconds"); m_xYearNF->set_value(rDuration.Years);
m_xMonthNF->set_value(rDuration.Months);
m_pNegativeCB->Check(rDuration.Negative); m_xDayNF->set_value(rDuration.Days);
m_pYearNF->SetValue(rDuration.Years); m_xHourNF->set_value(rDuration.Hours);
m_pMonthNF->SetValue(rDuration.Months); m_xMinuteNF->set_value(rDuration.Minutes);
m_pDayNF->SetValue(rDuration.Days); m_xSecondNF->set_value(rDuration.Seconds);
m_pHourNF->SetValue(rDuration.Hours); m_xMSecondNF->set_value(rDuration.NanoSeconds);
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();
} }
util::Duration DurationDialog_Impl::GetDuration() const util::Duration DurationDialog_Impl::GetDuration() const
{ {
util::Duration aRet; util::Duration aRet;
aRet.Negative = m_pNegativeCB->IsChecked(); aRet.Negative = m_xNegativeCB->get_active();
aRet.Years = m_pYearNF->GetValue(); aRet.Years = m_xYearNF->get_value();
aRet.Months = m_pMonthNF->GetValue( ); aRet.Months = m_xMonthNF->get_value();
aRet.Days = m_pDayNF->GetValue( ); aRet.Days = m_xDayNF->get_value();
aRet.Hours = m_pHourNF->GetValue( ); aRet.Hours = m_xHourNF->get_value();
aRet.Minutes = m_pMinuteNF->GetValue(); aRet.Minutes = m_xMinuteNF->get_value();
aRet.Seconds = m_pSecondNF->GetValue(); aRet.Seconds = m_xSecondNF->get_value();
aRet.NanoSeconds = m_pMSecondNF->GetValue(); aRet.NanoSeconds = m_xMSecondNF->get_value();
return aRet; return aRet;
} }
...@@ -1377,9 +1353,9 @@ CustomPropertiesEditButton::CustomPropertiesEditButton(vcl::Window* pParent, Win ...@@ -1377,9 +1353,9 @@ CustomPropertiesEditButton::CustomPropertiesEditButton(vcl::Window* pParent, Win
IMPL_LINK_NOARG(CustomPropertiesEditButton, ClickHdl, Button*, void) IMPL_LINK_NOARG(CustomPropertiesEditButton, ClickHdl, Button*, void)
{ {
VclPtrInstance< DurationDialog_Impl > pDurationDlg( this, m_pLine->m_aDurationField->GetDuration() ); DurationDialog_Impl aDurationDlg(GetFrameWeld(), m_pLine->m_aDurationField->GetDuration());
if ( RET_OK == pDurationDlg->Execute() ) if (aDurationDlg.run() == RET_OK)
m_pLine->m_aDurationField->SetDuration( pDurationDlg->GetDuration() ); m_pLine->m_aDurationField->SetDuration(aDurationDlg.GetDuration());
} }
void CustomPropertiesYesNoButton::Resize() void CustomPropertiesYesNoButton::Resize()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment