diff options
author | Jan-Fabian Humann <malastare@gmx.net> | 2005-05-22 19:36:19 +0000 |
---|---|---|
committer | Jan-Fabian Humann <malastare@gmx.net> | 2005-05-22 19:36:19 +0000 |
commit | 4852d95f4bd03f2e258744e2dc7ef91d4aa9f349 (patch) | |
tree | 9e0efde60adf4b96395290495062d63f9046b45e /src/gui | |
parent | 2a1af1a5dbcca1c890f38f20385e5d2639fd48db (diff) | |
download | mana-4852d95f4bd03f2e258744e2dc7ef91d4aa9f349.tar.gz mana-4852d95f4bd03f2e258744e2dc7ef91d4aa9f349.tar.bz2 mana-4852d95f4bd03f2e258744e2dc7ef91d4aa9f349.tar.xz mana-4852d95f4bd03f2e258744e2dc7ef91d4aa9f349.zip |
requestTradeDialog is modal now
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/requesttrade.cpp | 30 | ||||
-rw-r--r-- | src/gui/requesttrade.h | 7 |
2 files changed, 14 insertions, 23 deletions
diff --git a/src/gui/requesttrade.cpp b/src/gui/requesttrade.cpp index 9cbdf7b2..66ca6480 100644 --- a/src/gui/requesttrade.cpp +++ b/src/gui/requesttrade.cpp @@ -26,8 +26,8 @@ #include "../game.h" #include "../net/network.h" -RequestTradeDialog::RequestTradeDialog(): - Window("Request for Trade") +RequestTradeDialog::RequestTradeDialog(const char *name): + Window("Request for Trade", true) { nameLabel[0] = new gcn::Label(""); nameLabel[1] = new gcn::Label(""); @@ -56,6 +56,15 @@ RequestTradeDialog::RequestTradeDialog(): add(acceptButton); add(cancelButton); + std::stringstream cap[2]; + cap[0] << name << " wants to trade with you."; + cap[1] << "Do you want to accept?"; + + nameLabel[0]->setCaption(cap[0].str()); + nameLabel[0]->adjustSize(); + nameLabel[1]->setCaption(cap[1].str()); + nameLabel[1]->adjustSize(); + setLocationRelativeTo(getParent()); } @@ -66,19 +75,6 @@ RequestTradeDialog::~RequestTradeDialog() for (int i = 0; i < 2; i++) { delete nameLabel[i]; } -} - -void RequestTradeDialog::request(const char *name) -{ - std::stringstream cap; - std::stringstream captwo; - cap << name << " wants to trade with you."; - captwo << "Do you want to accept?"; - nameLabel[0]->setCaption(cap.str()); - nameLabel[0]->adjustSize(); - nameLabel[1]->setCaption(captwo.str()); - nameLabel[1]->adjustSize(); - setVisible(true); } void RequestTradeDialog::action(const std::string& eventId) @@ -88,13 +84,13 @@ void RequestTradeDialog::action(const std::string& eventId) WFIFOW(0) = net_w_value(0x00e6); WFIFOB(2) = net_b_value(3); WFIFOSET(3); - setVisible(false); + scheduleDelete(); } else if (eventId == "cancel") { // 0xff packet means cancel WFIFOW(0) = net_w_value(0x00e6); WFIFOB(2) = net_b_value(4); WFIFOSET(3); - setVisible(false); + scheduleDelete(); } } diff --git a/src/gui/requesttrade.h b/src/gui/requesttrade.h index 3d6c4c22..3573cb69 100644 --- a/src/gui/requesttrade.h +++ b/src/gui/requesttrade.h @@ -43,7 +43,7 @@ class RequestTradeDialog : public Window, public gcn::ActionListener * * @see Window::Window */ - RequestTradeDialog(); + RequestTradeDialog(const char *name); /** * Destructor. @@ -51,11 +51,6 @@ class RequestTradeDialog : public Window, public gcn::ActionListener ~RequestTradeDialog(); /** - * Changes caption and brings window to the top - */ - void request(const char *name); - - /** * Called when receiving actions from the widgets. */ void action(const std::string& eventId); |