Date:2010-07-27 23:45:53 (13 years 4 months ago)
Author:Maarten ter Huurne
Commit:eff06b031996db328140b32cee94fe647e817cad
Message:Remove code duplication between the two constructors of MenuSettingBool.

Files: src/menusettingbool.cpp (1 diff)
src/menusettingbool.h (1 diff)

Change Details

src/menusettingbool.cpp
2525using namespace fastdelegate;
2626
2727MenuSettingBool::MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, int *value)
28    : MenuSetting(gmenu2x,name,description)
28    : MenuSetting(gmenu2x, name, description)
2929{
30    IconButton *btn;
31
3230    _ivalue = value;
3331    _value = NULL;
3432    originalValue = *value != 0;
3533    setValue(this->value());
36
37    btn = new IconButton(gmenu2x, "skin:imgs/buttons/b.png", gmenu2x->tr["Switch"]);
38    btn->setAction(MakeDelegate(this, &MenuSettingBool::toggle));
39    buttonBox.add(btn);
34    initButton();
4035}
4136
4237MenuSettingBool::MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, bool *value)
43    : MenuSetting(gmenu2x,name,description)
38    : MenuSetting(gmenu2x, name, description)
4439{
45    IconButton *btn;
46
4740    _value = value;
4841    _ivalue = NULL;
4942    originalValue = *value;
5043    setValue(this->value());
44    initButton();
45}
5146
52    btn = new IconButton(gmenu2x, "skin:imgs/buttons/b.png", gmenu2x->tr["Switch"]);
47void MenuSettingBool::initButton()
48{
49    IconButton *btn = new IconButton(gmenu2x, "skin:imgs/buttons/b.png",
50                                     gmenu2x->tr["Switch"]);
5351    btn->setAction(MakeDelegate(this, &MenuSettingBool::toggle));
5452    buttonBox.add(btn);
5553}
src/menusettingbool.h
2828
2929class MenuSettingBool : public MenuSetting {
3030private:
31    void initButton();
32    void toggle();
33
3134    bool originalValue;
3235    bool *_value;
3336    int *_ivalue;
3437    string strvalue;
3538
36    void toggle();
37
3839public:
3940    MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, bool *value);
4041    MenuSettingBool(GMenu2X *gmenu2x, const string &name, const string &description, int *value);

Archive Download the corresponding diff file



interactive