From eff06b031996db328140b32cee94fe647e817cad Mon Sep 17 00:00:00 2001 From: Maarten ter Huurne Date: Tue, 27 Jul 2010 23:45:53 +0200 Subject: [PATCH] Remove code duplication between the two constructors of MenuSettingBool. --- src/menusettingbool.cpp | 20 +++++++++----------- src/menusettingbool.h | 5 +++-- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/menusettingbool.cpp b/src/menusettingbool.cpp index fa395f0..76b9f00 100644 --- a/src/menusettingbool.cpp +++ b/src/menusettingbool.cpp @@ -25,31 +25,29 @@ using namespace std; using namespace fastdelegate; MenuSettingBool::MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, int *value) - : MenuSetting(gmenu2x,name,description) + : MenuSetting(gmenu2x, name, description) { - IconButton *btn; - _ivalue = value; _value = NULL; originalValue = *value != 0; setValue(this->value()); - - btn = new IconButton(gmenu2x, "skin:imgs/buttons/b.png", gmenu2x->tr["Switch"]); - btn->setAction(MakeDelegate(this, &MenuSettingBool::toggle)); - buttonBox.add(btn); + initButton(); } MenuSettingBool::MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, bool *value) - : MenuSetting(gmenu2x,name,description) + : MenuSetting(gmenu2x, name, description) { - IconButton *btn; - _value = value; _ivalue = NULL; originalValue = *value; setValue(this->value()); + initButton(); +} - btn = new IconButton(gmenu2x, "skin:imgs/buttons/b.png", gmenu2x->tr["Switch"]); +void MenuSettingBool::initButton() +{ + IconButton *btn = new IconButton(gmenu2x, "skin:imgs/buttons/b.png", + gmenu2x->tr["Switch"]); btn->setAction(MakeDelegate(this, &MenuSettingBool::toggle)); buttonBox.add(btn); } diff --git a/src/menusettingbool.h b/src/menusettingbool.h index 58088ce..2b90ae1 100644 --- a/src/menusettingbool.h +++ b/src/menusettingbool.h @@ -28,13 +28,14 @@ class GMenu2X; class MenuSettingBool : public MenuSetting { private: + void initButton(); + void toggle(); + bool originalValue; bool *_value; int *_ivalue; string strvalue; - void toggle(); - public: MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, bool *value); MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, int *value);