diff options
author | Takeshi Abe <tabe@fixedpoint.jp> | 2017-12-27 14:02:17 +0900 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-12-27 17:13:55 +0100 |
commit | d77d0d8e2fabc9dfc9eef3e532c31351632fb7b7 (patch) | |
tree | 211494cc895674decf26a8e99059f286d9f9a18f | |
parent | 3b35f1d985d2cd230c0676d01d3f2518acb1e50c (diff) |
svtools: Simplify DoubleNumericField with std::unique_ptr
Change-Id: I25df3a06afa5e1eb2fa282f2be2ae1ea69aa0ab5
Reviewed-on: https://gerrit.libreoffice.org/47077
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | include/svtools/fmtfield.hxx | 11 | ||||
-rw-r--r-- | svtools/source/control/fmtfield.cxx | 14 |
2 files changed, 8 insertions, 17 deletions
diff --git a/include/svtools/fmtfield.hxx b/include/svtools/fmtfield.hxx index e8d794fd76f6..6be6e44c59b0 100644 --- a/include/svtools/fmtfield.hxx +++ b/include/svtools/fmtfield.hxx @@ -23,6 +23,7 @@ #include <svtools/svtdllapi.h> #include <vcl/spinfld.hxx> #include <svl/zforlist.hxx> +#include <memory> namespace validation { class NumberValidator; } @@ -255,15 +256,9 @@ protected: class SVT_DLLPUBLIC DoubleNumericField final : public FormattedField { public: - DoubleNumericField(vcl::Window* pParent, WinBits nStyle) - :FormattedField(pParent, nStyle) - ,m_pNumberValidator( nullptr ) - { - ResetConformanceTester(); - } + DoubleNumericField(vcl::Window* pParent, WinBits nStyle); virtual ~DoubleNumericField() override; - virtual void dispose() override; private: virtual bool CheckText(const OUString& sText) const override; @@ -271,7 +266,7 @@ private: virtual void FormatChanged(FORMAT_CHANGE_TYPE nWhat) override; void ResetConformanceTester(); - validation::NumberValidator* m_pNumberValidator; + std::unique_ptr<validation::NumberValidator> m_pNumberValidator; }; diff --git a/svtools/source/control/fmtfield.cxx b/svtools/source/control/fmtfield.cxx index 3b47e08c938b..20770f95569b 100644 --- a/svtools/source/control/fmtfield.cxx +++ b/svtools/source/control/fmtfield.cxx @@ -1007,16 +1007,13 @@ void FormattedField::UseInputStringForFormatting() } -DoubleNumericField::~DoubleNumericField() +DoubleNumericField::DoubleNumericField(vcl::Window* pParent, WinBits nStyle) + : FormattedField(pParent, nStyle) { - disposeOnce(); + ResetConformanceTester(); } -void DoubleNumericField::dispose() -{ - delete m_pNumberValidator; - FormattedField::dispose(); -} +DoubleNumericField::~DoubleNumericField() = default; void DoubleNumericField::FormatChanged(FORMAT_CHANGE_TYPE nWhat) { @@ -1052,8 +1049,7 @@ void DoubleNumericField::ResetConformanceTester() cSeparatorDecimal = sSeparator[0]; } - delete m_pNumberValidator; - m_pNumberValidator = new validation::NumberValidator( cSeparatorThousand, cSeparatorDecimal ); + m_pNumberValidator.reset(new validation::NumberValidator( cSeparatorThousand, cSeparatorDecimal )); } DoubleCurrencyField::DoubleCurrencyField(vcl::Window* pParent, WinBits nStyle) |