diff options
author | Paul Fariello <paul@fariello.eu> | 2018-06-20 19:30:44 +0320 |
---|---|---|
committer | Paul Fariello <paul@fariello.eu> | 2018-09-05 13:52:19 +0200 |
commit | 233e076be95baf13a23e9dbefac208d424a57e5d (patch) | |
tree | 95868696fe5f3e2bed7b5a605633dd46e3a7216a /src/ui | |
parent | b11d3a79df49970b4563bbd40c4db3f53c99dfeb (diff) | |
download | profani-tty-233e076be95baf13a23e9dbefac208d424a57e5d.tar.gz |
Add support for command config execution
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/ui.h | 2 | ||||
-rw-r--r-- | src/ui/win_types.h | 1 | ||||
-rw-r--r-- | src/ui/window.c | 3 | ||||
-rw-r--r-- | src/ui/window_list.c | 4 | ||||
-rw-r--r-- | src/ui/window_list.h | 2 |
5 files changed, 7 insertions, 5 deletions
diff --git a/src/ui/ui.h b/src/ui/ui.h index 1bcc20fc..136a5e98 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -346,7 +346,7 @@ ProfWin* win_create_console(void); ProfWin* win_create_xmlconsole(void); ProfWin* win_create_chat(const char *const barejid); ProfWin* win_create_muc(const char *const roomjid); -ProfWin* win_create_config(const char *const title, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel); +ProfWin* win_create_config(const char *const title, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel, const void *userdata); ProfWin* win_create_private(const char *const fulljid); ProfWin* win_create_plugin(const char *const plugin_name, const char *const tag); void win_update_virtual(ProfWin *window); diff --git a/src/ui/win_types.h b/src/ui/win_types.h index c9dc623b..eb453cd0 100644 --- a/src/ui/win_types.h +++ b/src/ui/win_types.h @@ -182,6 +182,7 @@ struct prof_conf_win_t { unsigned long memcheck; ProfConfWinCallback submit; ProfConfWinCallback cancel; + const void *userdata; }; typedef struct prof_private_win_t { diff --git a/src/ui/window.c b/src/ui/window.c index f34e354e..5ad354f2 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -203,7 +203,7 @@ win_create_muc(const char *const roomjid) } ProfWin* -win_create_config(const char *const roomjid, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel) +win_create_config(const char *const roomjid, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel, const void *userdata) { ProfConfWin *new_win = malloc(sizeof(ProfConfWin)); new_win->window.type = WIN_CONFIG; @@ -212,6 +212,7 @@ win_create_config(const char *const roomjid, DataForm *form, ProfConfWinCallback new_win->form = form; new_win->submit = submit; new_win->cancel = cancel; + new_win->userdata = userdata; new_win->memcheck = PROFCONFWIN_MEMCHECK; diff --git a/src/ui/window_list.c b/src/ui/window_list.c index 8f886b54..a12dc7cb 100644 --- a/src/ui/window_list.c +++ b/src/ui/window_list.c @@ -657,12 +657,12 @@ wins_new_muc(const char *const roomjid) } ProfWin* -wins_new_config(const char *const roomjid, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel) +wins_new_config(const char *const roomjid, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel, const void *userdata) { GList *keys = g_hash_table_get_keys(windows); int result = _wins_get_next_available_num(keys); g_list_free(keys); - ProfWin *newwin = win_create_config(roomjid, form, submit, cancel); + ProfWin *newwin = win_create_config(roomjid, form, submit, cancel, userdata); g_hash_table_insert(windows, GINT_TO_POINTER(result), newwin); return newwin; } diff --git a/src/ui/window_list.h b/src/ui/window_list.h index f427a6d7..b47ee79f 100644 --- a/src/ui/window_list.h +++ b/src/ui/window_list.h @@ -42,7 +42,7 @@ void wins_init(void); ProfWin* wins_new_xmlconsole(void); ProfWin* wins_new_chat(const char *const barejid); ProfWin* wins_new_muc(const char *const roomjid); -ProfWin* wins_new_config(const char *const roomjid, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel); +ProfWin* wins_new_config(const char *const roomjid, DataForm *form, ProfConfWinCallback submit, ProfConfWinCallback cancel, const void *userdata); ProfWin* wins_new_private(const char *const fulljid); ProfWin* wins_new_plugin(const char *const plugin_name, const char *const tag); |