summaryrefslogtreecommitdiff
path: root/src/client.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.h')
-rw-r--r--src/client.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/client.h b/src/client.h
index 8d2c23d5..4a0bc750 100644
--- a/src/client.h
+++ b/src/client.h
@@ -22,7 +22,7 @@
#ifndef CLIENT_H
#define CLIENT_H
-#include "listener.h"
+#include "eventlistener.h"
#include "net/serverinfo.h"
@@ -52,14 +52,7 @@ extern volatile int fps;
extern volatile int tick_time;
extern volatile int cur_time;
-class ErrorListener : public gcn::ActionListener
-{
- public:
- void action(const gcn::ActionEvent &event);
-};
-
extern std::string errorMessage;
-extern ErrorListener errorListener;
extern LoginData loginData;
/**
@@ -119,7 +112,7 @@ enum State {
* The core part of the client. This class initializes all subsystems, runs
* the event loop, and shuts everything down again.
*/
-class Client : public Mana::Listener, public gcn::ActionListener
+class Client : public EventListener, public gcn::ActionListener
{
public:
/**
@@ -167,6 +160,20 @@ public:
int exec();
+ /**
+ * Pops up an OkDialog with the given \a title and \a message, and
+ * switches to the given \a state when Ok is pressed.
+ */
+ void showOkDialog(const std::string &title,
+ const std::string &message,
+ State state);
+
+ /**
+ * Pops up an error dialog with the given \a message, and switches to the
+ * given \a state when Ok is pressed.
+ */
+ void showErrorDialog(const std::string &message, State state);
+
static void setState(State state)
{ instance()->mState = state; }
@@ -185,7 +192,7 @@ public:
static const std::string &getScreenshotDirectory()
{ return instance()->mScreenshotDir; }
- void event(Channels channel, const Mana::Event &event);
+ void event(Event::Channel channel, const Event &event);
void action(const gcn::ActionEvent &event);
private:
@@ -218,6 +225,7 @@ private:
State mState;
State mOldState;
+ State mStateAfterOkDialog;
SDL_Surface *mIcon;