ui/qt/toolkit.cpp

changeset 674
51670b0bc625
parent 659
d6baaa93f7be
child 795
d466b6edfebc
equal deleted inserted replaced
673:90a32d739b8e 674:51670b0bc625
41 static const char *application_name; 41 static const char *application_name;
42 42
43 static ui_callback startup_func; 43 static ui_callback startup_func;
44 static void *startup_data; 44 static void *startup_data;
45 static ui_callback open_func; 45 static ui_callback open_func;
46 void *open_data; 46 static void *open_data;
47 static ui_callback exit_func; 47 static ui_callback exit_func;
48 void *exit_data; 48 static void *exit_data;
49 49
50 static int is_toplevel_realized = 0; 50 static int is_toplevel_realized = 0;
51 51
52 int app_argc; 52 static int app_argc;
53 char **app_argv; 53 static char **app_argv;
54 QApplication *application = NULL; 54 static QApplication *application = NULL;
55
56 static UiBool exit_on_shutdown;
55 57
56 void ui_init(const char *appname, int argc, char **argv) { 58 void ui_init(const char *appname, int argc, char **argv) {
57 application_name = appname; 59 application_name = appname;
58 60
59 app_argc = argc; 61 app_argc = argc;
85 void ui_onexit(ui_callback f, void *userdata) { 87 void ui_onexit(ui_callback f, void *userdata) {
86 exit_func = f; 88 exit_func = f;
87 exit_data = userdata; 89 exit_data = userdata;
88 } 90 }
89 91
92 void ui_app_exit_on_shutdown(UiBool exitapp) {
93 exit_on_shutdown = exitapp;
94 }
95
90 void ui_main() { 96 void ui_main() {
91 if(startup_func) { 97 if(startup_func) {
92 startup_func(NULL, startup_data); 98 startup_func(NULL, startup_data);
93 } 99 }
94 application->exec(); 100 application->exec();
96 exit_func(NULL, exit_data); 102 exit_func(NULL, exit_data);
97 } 103 }
98 uic_store_app_properties(); 104 uic_store_app_properties();
99 105
100 delete application; 106 delete application;
107
108 if(exit_on_shutdown) {
109 exit(0);
110 }
101 } 111 }
102 112
103 void ui_show(UiObject *obj) { 113 void ui_show(UiObject *obj) {
104 obj->widget->show(); 114 obj->widget->show();
105 } 115 }

mercurial