diff options
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/setupitem.cpp | 12 | ||||
-rw-r--r-- | src/gui/widgets/setupitem.h | 2 | ||||
-rw-r--r-- | src/gui/widgets/setuptabscroll.cpp | 7 | ||||
-rw-r--r-- | src/gui/widgets/setuptabscroll.h | 4 |
4 files changed, 20 insertions, 5 deletions
diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp index b3a018813..93854e823 100644 --- a/src/gui/widgets/setupitem.cpp +++ b/src/gui/widgets/setupitem.cpp @@ -171,6 +171,12 @@ void SetupItem::externalUpdated(std::string eventName A_UNUSED) toWidget(); } +void SetupItem::fixFirstItemSize(gcn::Widget *widget) +{ + if (widget->getWidth() < mParent->getPreferredFirstItemSize()) + widget->setWidth(mParent->getPreferredFirstItemSize()); +} + SetupItemCheckBox::SetupItemCheckBox(std::string text, std::string description, std::string keyName, SetupTabScroll *parent, @@ -279,6 +285,7 @@ void SetupItemTextField::createControls() mButton = new Button(_("Edit"), mEventName + "_EDIT", mParent); mWidget = mTextField; mTextField->setWidth(200); + fixFirstItemSize(mLabel); mHorizont->add(mLabel); mHorizont->add(mTextField); mHorizont->add(mButton); @@ -402,6 +409,7 @@ void SetupItemIntTextField::createControls() mButton = new Button(_("Edit"), mEventName + "_EDIT", mParent); mWidget = mTextField; mTextField->setWidth(50); + fixFirstItemSize(mLabel); mHorizont->add(mLabel); mHorizont->add(mTextField); mHorizont->add(mButton); @@ -572,6 +580,7 @@ void SetupItemDropDown::createControls() mWidget = mDropDown; // mTextField->setWidth(50); + fixFirstItemSize(mLabel); mHorizont->add(mLabel); mHorizont->add(mDropDown); @@ -656,6 +665,7 @@ void SetupItemSlider::createControls() mWidget = mSlider; mSlider->setWidth(mWidth); mSlider->setHeight(40); + fixFirstItemSize(mLabel); mHorizont->add(mLabel); mHorizont->add(mSlider, -10); @@ -767,6 +777,7 @@ void SetupItemSlider2::createControls() mWidget = mSlider; mSlider->setWidth(150); mSlider->setHeight(40); + fixFirstItemSize(mLabel); mHorizont->add(mLabel); mHorizont->add(mSlider, -10); mHorizont->add(mLabel2); @@ -917,6 +928,7 @@ void SetupItemSliderList::createControls() mSlider->adjustSize(); mWidget = mSlider; + fixFirstItemSize(mLabel); mHorizont->add(mLabel, 5); mHorizont->add(mSlider); diff --git a/src/gui/widgets/setupitem.h b/src/gui/widgets/setupitem.h index 38dec929e..86fdf95f9 100644 --- a/src/gui/widgets/setupitem.h +++ b/src/gui/widgets/setupitem.h @@ -97,6 +97,8 @@ class SetupItem : public gcn::ActionListener bool isMainConfig() const { return mMainConfig; } + void fixFirstItemSize(gcn::Widget *widget); + protected: std::string mText; diff --git a/src/gui/widgets/setuptabscroll.cpp b/src/gui/widgets/setuptabscroll.cpp index 34cc993a9..f3f8b1526 100644 --- a/src/gui/widgets/setuptabscroll.cpp +++ b/src/gui/widgets/setuptabscroll.cpp @@ -28,17 +28,14 @@ #include "debug.h" SetupTabScroll::SetupTabScroll() : - SetupTab() + SetupTab(), + mPreferredFirstItemSize(200) { mContainer = new VertContainer(25, false, 8); mScroll = new ScrollArea(mContainer); mScroll->setOpaque(false); mScroll->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER); mScroll->setVerticalScrollPolicy(ScrollArea::SHOW_AUTO); - -// LayoutHelper h(this); -// ContainerPlacer place = h.getPlacer(0, 0); -// place(0, 0, mScroll, 10, 10); } SetupTabScroll::~SetupTabScroll() diff --git a/src/gui/widgets/setuptabscroll.h b/src/gui/widgets/setuptabscroll.h index d471ecfbc..e7151769e 100644 --- a/src/gui/widgets/setuptabscroll.h +++ b/src/gui/widgets/setuptabscroll.h @@ -55,11 +55,15 @@ class SetupTabScroll : public SetupTab virtual void action(const gcn::ActionEvent &event A_UNUSED) { } + int getPreferredFirstItemSize() + { return mPreferredFirstItemSize; } + protected: VertContainer *mContainer; ScrollArea *mScroll; std::map<std::string, SetupItem*> mItems; std::set<SetupItem*> mAllItems; + int mPreferredFirstItemSize; }; #endif |