summaryrefslogtreecommitdiff
path: root/src/gui/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets')
-rw-r--r--src/gui/widgets/listbox.cpp12
-rw-r--r--src/gui/widgets/listbox.h4
2 files changed, 16 insertions, 0 deletions
diff --git a/src/gui/widgets/listbox.cpp b/src/gui/widgets/listbox.cpp
index 259e49972..3592b12da 100644
--- a/src/gui/widgets/listbox.cpp
+++ b/src/gui/widgets/listbox.cpp
@@ -48,6 +48,7 @@ ListBox::ListBox(gcn::ListModel *const listModel):
mOldSelected(-1)
{
mForegroundColor = Theme::getThemeColor(Theme::LISTBOX);
+ adjustSize();
}
ListBox::~ListBox()
@@ -193,3 +194,14 @@ void ListBox::refocus()
if (isFocusable())
mFocusHandler->requestFocus(this);
}
+
+void ListBox::adjustSize()
+{
+ if (mListModel)
+ setHeight(getRowHeight() * mListModel->getNumberOfElements());
+}
+
+void ListBox::logic()
+{
+ adjustSize();
+}
diff --git a/src/gui/widgets/listbox.h b/src/gui/widgets/listbox.h
index e3976454d..c9a70557f 100644
--- a/src/gui/widgets/listbox.h
+++ b/src/gui/widgets/listbox.h
@@ -77,6 +77,10 @@ class ListBox : public gcn::ListBox
void setDistributeMousePressed(bool b)
{ mDistributeMousePressed = b; }
+ void adjustSize();
+
+ void logic() override;
+
protected:
gcn::Color mHighlightColor;
bool mDistributeMousePressed;