about summary refs log tree commit diff stats
path: root/src/ui
diff options
context:
space:
mode:
authorPaul Fariello <paul@fariello.eu>2018-06-20 19:30:44 +0320
committerPaul Fariello <paul@fariello.eu>2018-09-05 13:52:19 +0200
commit233e076be95baf13a23e9dbefac208d424a57e5d (patch)
tree95868696fe5f3e2bed7b5a605633dd46e3a7216a /src/ui
parentb11d3a79df49970b4563bbd40c4db3f53c99dfeb (diff)
downloadprofani-tty-233e076be95baf13a23e9dbefac208d424a57e5d.tar.gz
Add support for command config execution
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/ui.h2
-rw-r--r--src/ui/win_types.h1
-rw-r--r--src/ui/window.c3
-rw-r--r--src/ui/window_list.c4
-rw-r--r--src/ui/window_list.h2
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);