From 16a5f224128acde7343c53c636ff53e7983ef754 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 28 Feb 2012 22:33:42 +0300 Subject: Adjust label size in setupitem controls. --- src/gui/widgets/setupitem.cpp | 12 ++++++++++++ src/gui/widgets/setupitem.h | 2 ++ src/gui/widgets/setuptabscroll.cpp | 7 ++----- src/gui/widgets/setuptabscroll.h | 4 ++++ 4 files changed, 20 insertions(+), 5 deletions(-) (limited to 'src/gui/widgets') 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 mItems; std::set mAllItems; + int mPreferredFirstItemSize; }; #endif -- cgit v1.2.3-70-g09d2