summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-10-18 23:20:45 +0300
committerAndrei Karas <akaras@inbox.ru>2013-10-19 15:12:22 +0300
commitf239185e8368da2a9307af11c98a09d1e47d79bb (patch)
tree8a9e6a9b0229df9935d6d4761ce4e67bed68f119
parent799ff280e470e19fdb617f828962c49f561a22d7 (diff)
downloadmv-f239185e8368da2a9307af11c98a09d1e47d79bb.tar.gz
mv-f239185e8368da2a9307af11c98a09d1e47d79bb.tar.bz2
mv-f239185e8368da2a9307af11c98a09d1e47d79bb.tar.xz
mv-f239185e8368da2a9307af11c98a09d1e47d79bb.zip
move virtual member calls from sliderlist constuctor into postInit.
-rw-r--r--src/gui/widgets/setupitem.cpp3
-rw-r--r--src/gui/widgets/sliderlist.cpp16
-rw-r--r--src/gui/widgets/sliderlist.h7
3 files changed, 17 insertions, 9 deletions
diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp
index 862fc11d6..043d0870f 100644
--- a/src/gui/widgets/setupitem.cpp
+++ b/src/gui/widgets/setupitem.cpp
@@ -979,7 +979,8 @@ void SetupItemSliderList::createControls()
mHorizont = new HorizontContainer(this, 32, 2);
mLabel = new Label(this, mText);
- mSlider = new SliderList(this, mModel, mParent, mEventName);
+ mSlider = new SliderList(this, mModel);
+ mSlider->postInit(mParent, mEventName);
mSlider->setSelectedString(mValue);
mSlider->adjustSize();
diff --git a/src/gui/widgets/sliderlist.cpp b/src/gui/widgets/sliderlist.cpp
index 3356e8f27..d41927f82 100644
--- a/src/gui/widgets/sliderlist.cpp
+++ b/src/gui/widgets/sliderlist.cpp
@@ -34,16 +34,14 @@ static const int buttonSpace = 30;
static const int sliderHeight = 30;
SliderList::SliderList(const Widget2 *const widget,
- gcn::ListModel *const listModel,
- gcn::ActionListener *const listener,
- const std::string &eventId) :
+ gcn::ListModel *const listModel) :
Container(widget),
gcn::ActionListener(),
gcn::MouseListener(),
mLabel(new Label(this)),
mListModel(listModel),
- mPrevEventId(eventId + "_prev"),
- mNextEventId(eventId + "_next"),
+ mPrevEventId(),
+ mNextEventId(),
mOldWidth(0),
mSelectedIndex(0)
{
@@ -51,6 +49,14 @@ SliderList::SliderList(const Widget2 *const widget,
mButtons[0] = new Button(this, "<", mPrevEventId, this);
mButtons[1] = new Button(this, ">", mNextEventId, this);
+}
+
+void SliderList::postInit(gcn::ActionListener *const listener,
+ const std::string &eventId)
+{
+ mPrevEventId = eventId + "_prev";
+ mNextEventId = eventId + "_next";
+
add(mButtons[0]);
add(mLabel);
add(mButtons[1]);
diff --git a/src/gui/widgets/sliderlist.h b/src/gui/widgets/sliderlist.h
index 9209a4f55..8427ad2d5 100644
--- a/src/gui/widgets/sliderlist.h
+++ b/src/gui/widgets/sliderlist.h
@@ -38,14 +38,15 @@ class SliderList final : public Container,
{
public:
SliderList(const Widget2 *const widget,
- gcn::ListModel *const listModel = nullptr,
- gcn::ActionListener *const listener = nullptr,
- const std::string &eventId = "");
+ gcn::ListModel *const listModel = nullptr);
A_DELETE_COPY(SliderList)
~SliderList();
+ void postInit(gcn::ActionListener *const listener,
+ const std::string &eventId);
+
void updateAlpha();
void mouseWheelMovedUp(gcn::MouseEvent& mouseEvent) override;