diff options
Diffstat (limited to 'src/client.h')
-rw-r--r-- | src/client.h | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/src/client.h b/src/client.h index f44d8bf2..4a0bc750 100644 --- a/src/client.h +++ b/src/client.h @@ -22,7 +22,7 @@ #ifndef CLIENT_H #define CLIENT_H -#include "configlistener.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; /** @@ -68,6 +61,12 @@ extern LoginData loginData; int get_elapsed_time(int start_time); /** + * Returns if this call and the last call were done for the same + * selected index and within a short time. + */ +bool isDoubleClick(int selected); + +/** * All client states. */ enum State { @@ -113,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 ConfigListener, public gcn::ActionListener +class Client : public EventListener, public gcn::ActionListener { public: /** @@ -142,6 +141,7 @@ public: std::string brandingPath; std::string updateHost; std::string dataPath; + std::string chatLogDir; std::string configDir; std::string localDataDir; std::string screenshotDir; @@ -160,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; } @@ -178,7 +192,7 @@ public: static const std::string &getScreenshotDirectory() { return instance()->mScreenshotDir; } - void optionChanged(const std::string &name); + void event(Event::Channel channel, const Event &event); void action(const gcn::ActionEvent &event); private: @@ -211,6 +225,7 @@ private: State mState; State mOldState; + State mStateAfterOkDialog; SDL_Surface *mIcon; |