summaryrefslogtreecommitdiff
path: root/client/info_gui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'client/info_gui.cc')
-rw-r--r--client/info_gui.cc50
1 files changed, 16 insertions, 34 deletions
diff --git a/client/info_gui.cc b/client/info_gui.cc
index aa831b6..f836a92 100644
--- a/client/info_gui.cc
+++ b/client/info_gui.cc
@@ -37,10 +37,13 @@
bool InfoEventHandler::eventFilter( QObject *o, QEvent *e )
{
if ( e->type() == TYPE_SHOW_MESSAGEBOX ) {
- // fprintf(stderr, "Custom event!\n"); fflush(stderr);
- MessageBox *msgbox = ((ShowMessageEvent*)e)->messagebox();
- msgbox->exec();
- delete msgbox;
+ ShowMessageEvent *msgevt = (ShowMessageEvent*)e;
+ MessageBox msgbox(NULL,
+ msgevt->title(),
+ msgevt->message(),
+ TYPE_OK,
+ msgevt->icon());
+ msgbox.exec();
return TRUE; // eat event
} else {
// standard event processing
@@ -48,54 +51,33 @@ bool InfoEventHandler::eventFilter( QObject *o, QEvent *e )
}
}
-InfoGui::InfoGui(QApplication *a, QWidget *p, MiavConfig *c): Info()
+InfoGui::InfoGui(MiavConfig *c): Info()
{
this->config = c;
log_filename = *(this->config->readString("client_log_file"));
- qapp = a;
- parent = p;
+ InfoEventHandler *eventhandler = new InfoEventHandler();
+ qApp->installEventFilter( eventhandler );
- pthread_mutex_init (&mutex, NULL);
+ // pthread_mutex_init (&mutex, NULL);
}
InfoGui::~InfoGui()
{
- pthread_mutex_destroy(&mutex);
-}
-
-void InfoGui::setParent(QWidget *p)
-{
- parent = p;
+ // pthread_mutex_destroy(&mutex);
}
void InfoGui::showmsg(char *msg, char *title, msg_icon icon)
{
- pthread_mutex_lock(&mutex);
+ // pthread_mutex_lock(&mutex);
// Beginning of safezone
- fprintf(stderr, "%s: %s\n", title, msg); fflush(stderr);
-
- while( !parent ) {
- struct timespec ts;
-
- ts.tv_sec = 0;
- ts.tv_nsec = 200000000L; // 200ms
- nanosleep(&ts, NULL);
- }
-
- MessageBox *msgbox = new MessageBox(parent,
- title,
- msg,
- TYPE_OK,
- icon);
-
- ShowMessageEvent *event = new ShowMessageEvent( msgbox );
+ ShowMessageEvent *event = new ShowMessageEvent(msg, title, icon);
- qapp->postEvent(parent, event);
+ qApp->postEvent(qApp, event);
// End of safezone
- pthread_mutex_unlock(&mutex);
+ // pthread_mutex_unlock(&mutex);
}
void InfoGui::error(char *fmt, ...)