summaryrefslogtreecommitdiff
path: root/src/gui/widgets/popuplist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets/popuplist.cpp')
-rw-r--r--src/gui/widgets/popuplist.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gui/widgets/popuplist.cpp b/src/gui/widgets/popuplist.cpp
index 586dd5172..3a27b78a1 100644
--- a/src/gui/widgets/popuplist.cpp
+++ b/src/gui/widgets/popuplist.cpp
@@ -42,7 +42,6 @@ PopupList::PopupList(DropDown *const widget,
setFocusable(true);
mListBox->setDistributeMousePressed(true);
- mListBox->addSelectionListener(this);
mScrollArea->setPosition(mPadding, mPadding);
add(mScrollArea);
@@ -51,6 +50,8 @@ PopupList::PopupList(DropDown *const widget,
if (gui)
gui->addGlobalFocusListener(this);
+ addKeyListener(mDropDown);
+ addMouseListener(this);
adjustSize();
}
@@ -58,6 +59,7 @@ PopupList::~PopupList()
{
if (gui)
gui->removeGlobalFocusListener(this);
+ removeKeyListener(mDropDown);
}
void PopupList::show(int x, int y)
@@ -113,7 +115,7 @@ void PopupList::adjustSize()
mListBox->setWidth(getWidth() - pad2);
}
-void PopupList::valueChanged(const gcn::SelectionEvent& event A_UNUSED)
+void PopupList::mousePressed(gcn::MouseEvent& mouseEvent)
{
if (mDropDown)
mDropDown->updateSelection();