summaryrefslogtreecommitdiff
path: root/src/gui/ok_dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/ok_dialog.cpp')
-rw-r--r--src/gui/ok_dialog.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gui/ok_dialog.cpp b/src/gui/ok_dialog.cpp
index 2e2594d1..8d2ebc23 100644
--- a/src/gui/ok_dialog.cpp
+++ b/src/gui/ok_dialog.cpp
@@ -29,7 +29,7 @@
OkDialog::OkDialog(const std::string &title, const std::string &msg,
- gcn::ActionListener *listener, Window *parent):
+ Window *parent):
Window(title, true, parent)
{
gcn::Label *textLabel = new gcn::Label(msg);
@@ -49,9 +49,6 @@ OkDialog::OkDialog(const std::string &title, const std::string &msg,
okButton->setEventId("ok");
okButton->addActionListener(this);
- if (listener) {
- okButton->addActionListener(listener);
- }
add(textLabel);
add(okButton);
@@ -62,6 +59,13 @@ OkDialog::OkDialog(const std::string &title, const std::string &msg,
void OkDialog::action(const std::string &eventId)
{
+ // Proxy button events to our listeners
+ ActionListenerIterator i;
+ for (i = mActionListeners.begin(); i != mActionListeners.end(); ++i)
+ {
+ (*i)->action(eventId);
+ }
+
// Can we receive anything else anyway?
if (eventId == "ok") {
scheduleDelete();