Commit 0a7814ae3f290026776fdf5bd0cb1ca27309ff3f
1 parent
eea9f2ab
Exists in
master
and in
1 other branch
Signal tables are now static.
Showing
6 changed files
with
47 additions
and
38 deletions
Show diff stats
src/dialogs/colorscheme.c
... | ... | @@ -60,7 +60,7 @@ |
60 | 60 | LAST_SIGNAL |
61 | 61 | }; |
62 | 62 | |
63 | - static guint color_signal[LAST_SIGNAL] = { 0 }; | |
63 | + static guint signals[LAST_SIGNAL] = { 0 }; | |
64 | 64 | |
65 | 65 | G_DEFINE_TYPE(V3270ColorScheme, V3270ColorScheme, GTK_TYPE_COMBO_BOX); |
66 | 66 | |
... | ... | @@ -79,7 +79,7 @@ |
79 | 79 | clr = g_value_get_pointer(&value); |
80 | 80 | |
81 | 81 | debug("%s=%p",__FUNCTION__,clr); |
82 | - g_signal_emit(widget, color_signal[CHANGED], 0, clr); | |
82 | + g_signal_emit(widget, signals[CHANGED], 0, clr); | |
83 | 83 | |
84 | 84 | g_value_unset(&value); |
85 | 85 | |
... | ... | @@ -91,7 +91,7 @@ |
91 | 91 | |
92 | 92 | klass->parent_class.changed = changed; |
93 | 93 | |
94 | - color_signal[CHANGED] = | |
94 | + signals[CHANGED] = | |
95 | 95 | g_signal_new( |
96 | 96 | I_("update-colors"), |
97 | 97 | G_OBJECT_CLASS_TYPE (gobject_class), |
... | ... | @@ -102,7 +102,7 @@ |
102 | 102 | G_TYPE_NONE, 1, G_TYPE_POINTER, 0 |
103 | 103 | ); |
104 | 104 | |
105 | - debug("changed_signal=%d",(int) color_signal[CHANGED]); | |
105 | + debug("changed_signal=%d",(int) signals[CHANGED]); | |
106 | 106 | |
107 | 107 | } |
108 | 108 | |
... | ... | @@ -268,7 +268,7 @@ |
268 | 268 | g_message("Unable to load color schemes in \"%s\"",filename); |
269 | 269 | #else |
270 | 270 | g_warning("Unable to load color schemes in \"%s\"",filename); |
271 | -#endif | |
271 | +#endif | |
272 | 272 | gtk_widget_set_sensitive(widget,FALSE); |
273 | 273 | return widget; |
274 | 274 | } | ... | ... |
src/filetransfer/activitylist.c
... | ... | @@ -66,7 +66,7 @@ |
66 | 66 | |
67 | 67 | G_DEFINE_TYPE(V3270FTActivityList, V3270FTActivityList, GTK_TYPE_TREE_VIEW); |
68 | 68 | |
69 | - static guint v3270_activity_list_signals[V3270_ACTIVITY_LIST_LAST_SIGNAL] = { 0 }; | |
69 | + static guint signals[V3270_ACTIVITY_LIST_LAST_SIGNAL] = { 0 }; | |
70 | 70 | |
71 | 71 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
72 | 72 | |
... | ... | @@ -121,7 +121,7 @@ |
121 | 121 | if(activity) |
122 | 122 | { |
123 | 123 | debug("%s: activity is %p",__FUNCTION__,activity); |
124 | - g_signal_emit(view, v3270_activity_list_signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL], 0, activity); | |
124 | + g_signal_emit(view, signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL], 0, activity); | |
125 | 125 | } |
126 | 126 | |
127 | 127 | } |
... | ... | @@ -138,7 +138,7 @@ |
138 | 138 | |
139 | 139 | klass->signal.has_file = V3270FTActivityList_has_file; |
140 | 140 | |
141 | - v3270_activity_list_signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL] = | |
141 | + signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL] = | |
142 | 142 | g_signal_new( I_("has-file"), |
143 | 143 | G_OBJECT_CLASS_TYPE (gobject_class), |
144 | 144 | G_SIGNAL_RUN_FIRST, |
... | ... | @@ -147,7 +147,7 @@ |
147 | 147 | v3270ft_VOID__VOID_BOOLEAN, |
148 | 148 | G_TYPE_NONE, 1, G_TYPE_BOOLEAN); |
149 | 149 | |
150 | - v3270_activity_list_signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL] = | |
150 | + signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL] = | |
151 | 151 | g_signal_new( I_("changed"), |
152 | 152 | G_OBJECT_CLASS_TYPE (gobject_class), |
153 | 153 | G_SIGNAL_RUN_FIRST, |
... | ... | @@ -286,7 +286,7 @@ |
286 | 286 | { |
287 | 287 | debug("%s: Selecting inserted activity",__FUNCTION__); |
288 | 288 | gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)),&iter); |
289 | - g_signal_emit(widget, v3270_activity_list_signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL], 0, activity); | |
289 | + g_signal_emit(widget, signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL], 0, activity); | |
290 | 290 | } |
291 | 291 | |
292 | 292 | } |
... | ... | @@ -391,7 +391,7 @@ |
391 | 391 | |
392 | 392 | reload(widget); |
393 | 393 | |
394 | - g_signal_emit(widget, v3270_activity_list_signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL], 0, (list->filename == NULL ? FALSE : TRUE)); | |
394 | + g_signal_emit(widget, signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL], 0, (list->filename == NULL ? FALSE : TRUE)); | |
395 | 395 | |
396 | 396 | |
397 | 397 | } |
... | ... | @@ -460,7 +460,7 @@ |
460 | 460 | v3270_activity_list_save(widget); |
461 | 461 | } |
462 | 462 | |
463 | - g_signal_emit(widget, v3270_activity_list_signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL], 0, (list->filename == NULL ? FALSE : TRUE)); | |
463 | + g_signal_emit(widget, signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL], 0, (list->filename == NULL ? FALSE : TRUE)); | |
464 | 464 | |
465 | 465 | } |
466 | 466 | ... | ... |
src/filetransfer/private.h
... | ... | @@ -198,8 +198,6 @@ |
198 | 198 | |
199 | 199 | }; |
200 | 200 | |
201 | - G_GNUC_INTERNAL guint v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_COUNT]; | |
202 | - | |
203 | 201 | |
204 | 202 | G_GNUC_INTERNAL void v3270ft_update_actions(v3270ft *dialog); |
205 | 203 | G_GNUC_INTERNAL void v3270ft_update_state(struct v3270ft_entry *entry); |
... | ... | @@ -216,6 +214,7 @@ |
216 | 214 | G_GNUC_INTERNAL struct v3270ft_entry * v3270ft_get_selected(v3270ft *dialog); |
217 | 215 | G_GNUC_INTERNAL struct v3270ft_entry * v3270ft_create_entry(void); |
218 | 216 | |
217 | + G_GNUC_INTERNAL void v3270ftprogress_signal_emit(gpointer instance, enum V3270FTPROGRESS_SIGNAL signal_id, ...); | |
219 | 218 | |
220 | 219 | |
221 | 220 | #endif // PRIVATE_H_INCLUDED | ... | ... |
src/filetransfer/settings.c
... | ... | @@ -95,7 +95,7 @@ |
95 | 95 | V3270_FT_SETTINGS_LAST_SIGNAL |
96 | 96 | }; |
97 | 97 | |
98 | - static guint v3270_ft_settings_signals[V3270_FT_SETTINGS_LAST_SIGNAL] = { 0 }; | |
98 | + static guint signals[V3270_FT_SETTINGS_LAST_SIGNAL] = { 0 }; | |
99 | 99 | |
100 | 100 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
101 | 101 | |
... | ... | @@ -116,7 +116,7 @@ static void V3270FTSettings_has_activity(GtkWidget G_GNUC_UNUSED(*widget), gbool |
116 | 116 | klass->signal.validity = V3270FTSettings_validity; |
117 | 117 | klass->signal.has_activity = V3270FTSettings_has_activity; |
118 | 118 | |
119 | - v3270_ft_settings_signals[V3270_FT_SETTINGS_VALIDITY_SIGNAL] = | |
119 | + signals[V3270_FT_SETTINGS_VALIDITY_SIGNAL] = | |
120 | 120 | g_signal_new( I_("validity"), |
121 | 121 | G_OBJECT_CLASS_TYPE (gobject_class), |
122 | 122 | G_SIGNAL_RUN_FIRST, |
... | ... | @@ -126,7 +126,7 @@ static void V3270FTSettings_has_activity(GtkWidget G_GNUC_UNUSED(*widget), gbool |
126 | 126 | G_TYPE_NONE, 1, G_TYPE_BOOLEAN); |
127 | 127 | |
128 | 128 | |
129 | - v3270_ft_settings_signals[V3270_FT_SETTINGS_HAS_ACTIVITY_SIGNAL] = | |
129 | + signals[V3270_FT_SETTINGS_HAS_ACTIVITY_SIGNAL] = | |
130 | 130 | g_signal_new( I_("has-activity"), |
131 | 131 | G_OBJECT_CLASS_TYPE (gobject_class), |
132 | 132 | G_SIGNAL_RUN_FIRST, |
... | ... | @@ -272,7 +272,7 @@ static void open_select_file_dialog(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconP |
272 | 272 | widget->transfer.is_valid = is_valid; |
273 | 273 | |
274 | 274 | debug("Transfer is now \"%s\"", is_valid ? "valid" : "invalid"); |
275 | - g_signal_emit(widget, v3270_ft_settings_signals[V3270_FT_SETTINGS_VALIDITY_SIGNAL], 0, widget->transfer.is_valid); | |
275 | + g_signal_emit(widget, signals[V3270_FT_SETTINGS_VALIDITY_SIGNAL], 0, widget->transfer.is_valid); | |
276 | 276 | |
277 | 277 | } |
278 | 278 | |
... | ... | @@ -607,7 +607,7 @@ static void open_select_file_dialog(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconP |
607 | 607 | { |
608 | 608 | GTK_V3270_FT_SETTINGS(widget)->activity = activity; |
609 | 609 | v3270_ft_settings_reset(widget); |
610 | - g_signal_emit(widget, v3270_ft_settings_signals[V3270_FT_SETTINGS_HAS_ACTIVITY_SIGNAL], 0, (activity == NULL ? FALSE : TRUE)); | |
610 | + g_signal_emit(widget, signals[V3270_FT_SETTINGS_HAS_ACTIVITY_SIGNAL], 0, (activity == NULL ? FALSE : TRUE)); | |
611 | 611 | } |
612 | 612 | |
613 | 613 | LIB3270_EXPORT GObject * v3270_ft_settings_get_activity(GtkWidget *widget) | ... | ... |
src/filetransfer/v3270ftprogress.c
... | ... | @@ -47,7 +47,7 @@ |
47 | 47 | |
48 | 48 | /*--[ Globals ]--------------------------------------------------------------------------------------*/ |
49 | 49 | |
50 | -guint v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_COUNT] = { 0 }; | |
50 | +static guint signals[V3270FTPROGRESS_SIGNAL_COUNT] = { 0 }; | |
51 | 51 | |
52 | 52 | // http://www3.rocketsoftware.com/bluezone/help/v42/en/bz/DISPLAY/IND$FILE/IND$FILE_Technical_Reference.htm |
53 | 53 | |
... | ... | @@ -316,7 +316,7 @@ static void v3270ftprogress_class_init(v3270ftprogressClass *klass) { |
316 | 316 | dialog_class->response = dialog_response; |
317 | 317 | dialog_class->close = dialog_close; |
318 | 318 | |
319 | - v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_SUCCESS] = | |
319 | + signals[V3270FTPROGRESS_SIGNAL_SUCCESS] = | |
320 | 320 | g_signal_new( I_("success"), |
321 | 321 | G_OBJECT_CLASS_TYPE (gobject_class), |
322 | 322 | G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, |
... | ... | @@ -325,7 +325,7 @@ static void v3270ftprogress_class_init(v3270ftprogressClass *klass) { |
325 | 325 | v3270ft_VOID__POINTER_POINTER, |
326 | 326 | G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER); |
327 | 327 | |
328 | - v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_FAILED] = | |
328 | + signals[V3270FTPROGRESS_SIGNAL_FAILED] = | |
329 | 329 | g_signal_new( I_("failed"), |
330 | 330 | G_OBJECT_CLASS_TYPE (gobject_class), |
331 | 331 | G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, |
... | ... | @@ -544,7 +544,7 @@ gboolean send_delayed_signal(struct delayed_signal *sig) { |
544 | 544 | lib3270_ft_destroy(sig->hSession,NULL); |
545 | 545 | |
546 | 546 | if(userdata) { |
547 | - g_signal_emit(GTK_WIDGET(userdata),v3270ftprogress_signal[sig->signal], 0, sig->msg, sig->text); | |
547 | + v3270ftprogress_signal_emit(GTK_WIDGET(userdata),sig->signal, sig->msg, sig->text); | |
548 | 548 | } |
549 | 549 | |
550 | 550 | return FALSE; |
... | ... | @@ -718,7 +718,7 @@ static gboolean do_timer(v3270ftprogress *dialog) { |
718 | 718 | lib3270_ft_destroy(dialog->session,NULL); |
719 | 719 | } |
720 | 720 | |
721 | - g_signal_emit(GTK_WIDGET(dialog),v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_FAILED], 0, _( "Transfer failed" ), strerror(ETIMEDOUT)); | |
721 | + v3270ftprogress_signal_emit(GTK_WIDGET(dialog),V3270FTPROGRESS_SIGNAL_FAILED, _( "Transfer failed" ), strerror(ETIMEDOUT)); | |
722 | 722 | } |
723 | 723 | |
724 | 724 | return TRUE; |
... | ... | @@ -753,11 +753,11 @@ void v3270ftprogress_start_transfer(GtkWidget *widget) { |
753 | 753 | |
754 | 754 | if(message && *message) { |
755 | 755 | |
756 | - g_signal_emit(GTK_WIDGET(widget),v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_FAILED], 0, message, NULL); | |
756 | + v3270ftprogress_signal_emit(GTK_WIDGET(widget),V3270FTPROGRESS_SIGNAL_FAILED, message, NULL); | |
757 | 757 | |
758 | 758 | } else { |
759 | 759 | |
760 | - g_signal_emit(GTK_WIDGET(widget),v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_FAILED], 0, _( "Can't start file transfer session" ), NULL); | |
760 | + v3270ftprogress_signal_emit(GTK_WIDGET(widget),V3270FTPROGRESS_SIGNAL_FAILED, _( "Can't start file transfer session" ), NULL); | |
761 | 761 | |
762 | 762 | } |
763 | 763 | |
... | ... | @@ -770,7 +770,7 @@ void v3270ftprogress_start_transfer(GtkWidget *widget) { |
770 | 770 | if(!cbk) { |
771 | 771 | |
772 | 772 | lib3270_ft_destroy(dialog->session,NULL); |
773 | - g_signal_emit(GTK_WIDGET(widget),v3270ftprogress_signal[V3270FTPROGRESS_SIGNAL_FAILED], 0, _( "Can't set callback table" ), NULL); | |
773 | + v3270ftprogress_signal_emit(GTK_WIDGET(widget),V3270FTPROGRESS_SIGNAL_FAILED, _( "Can't set callback table" ), NULL); | |
774 | 774 | |
775 | 775 | return; |
776 | 776 | } |
... | ... | @@ -802,3 +802,13 @@ void v3270ftprogress_start_transfer(GtkWidget *widget) { |
802 | 802 | lib3270_ft_start(dialog->session); |
803 | 803 | |
804 | 804 | } |
805 | + | |
806 | +void v3270ftprogress_signal_emit(gpointer instance, enum V3270FTPROGRESS_SIGNAL signal_id, ...) | |
807 | +{ | |
808 | + va_list var_args; | |
809 | + | |
810 | + va_start (var_args, signal_id); | |
811 | + g_signal_emit_valist(instance, signals[signal_id], 0, var_args); | |
812 | + va_end (var_args); | |
813 | + | |
814 | +} | ... | ... |
src/filetransfer/worker.c
... | ... | @@ -76,7 +76,7 @@ |
76 | 76 | |
77 | 77 | G_DEFINE_TYPE(V3270FTWorker, V3270FTWorker, GTK_TYPE_GRID); |
78 | 78 | |
79 | - static guint v3270_worker_signals[V3270_WORKER_LAST_SIGNAL] = { 0 }; | |
79 | + static guint signals[V3270_WORKER_LAST_SIGNAL] = { 0 }; | |
80 | 80 | |
81 | 81 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
82 | 82 | |
... | ... | @@ -143,7 +143,7 @@ |
143 | 143 | |
144 | 144 | gobject_class->finalize = finalize; |
145 | 145 | |
146 | - v3270_worker_signals[V3270_WORKER_ACTIVITY_SIGNAL] = | |
146 | + signals[V3270_WORKER_ACTIVITY_SIGNAL] = | |
147 | 147 | g_signal_new( |
148 | 148 | I_("activity"), |
149 | 149 | G_OBJECT_CLASS_TYPE (gobject_class), |
... | ... | @@ -154,7 +154,7 @@ |
154 | 154 | G_TYPE_NONE, 1, G_TYPE_OBJECT |
155 | 155 | ); |
156 | 156 | |
157 | - v3270_worker_signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL] = | |
157 | + signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL] = | |
158 | 158 | g_signal_new( |
159 | 159 | I_("failed"), |
160 | 160 | G_OBJECT_CLASS_TYPE (gobject_class), |
... | ... | @@ -165,7 +165,7 @@ |
165 | 165 | G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER |
166 | 166 | ); |
167 | 167 | |
168 | - v3270_worker_signals[V3270_WORKER_TRANSFER_SUCCESS_SIGNAL] = | |
168 | + signals[V3270_WORKER_TRANSFER_SUCCESS_SIGNAL] = | |
169 | 169 | g_signal_new( |
170 | 170 | I_("success"), |
171 | 171 | G_OBJECT_CLASS_TYPE (gobject_class), |
... | ... | @@ -176,7 +176,7 @@ |
176 | 176 | G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER |
177 | 177 | ); |
178 | 178 | |
179 | - v3270_worker_signals[V3270_WORKER_TRANSFER_STATE_SIGNAL] = | |
179 | + signals[V3270_WORKER_TRANSFER_STATE_SIGNAL] = | |
180 | 180 | g_signal_new( |
181 | 181 | I_("ft-state-changed"), |
182 | 182 | G_OBJECT_CLASS_TYPE (gobject_class), |
... | ... | @@ -328,7 +328,7 @@ |
328 | 328 | gtk_entry_set_text(worker->field[ix],""); |
329 | 329 | } |
330 | 330 | |
331 | - g_signal_emit(widget, v3270_worker_signals[V3270_WORKER_ACTIVITY_SIGNAL], 0, worker->activity); | |
331 | + g_signal_emit(widget, signals[V3270_WORKER_ACTIVITY_SIGNAL], 0, worker->activity); | |
332 | 332 | |
333 | 333 | } |
334 | 334 | |
... | ... | @@ -381,7 +381,7 @@ |
381 | 381 | |
382 | 382 | g_signal_emit( |
383 | 383 | GTK_WIDGET(cfg->worker), |
384 | - v3270_worker_signals[cfg->signal], | |
384 | + signals[cfg->signal], | |
385 | 385 | 0, |
386 | 386 | cfg->msg, |
387 | 387 | description |
... | ... | @@ -522,7 +522,7 @@ |
522 | 522 | |
523 | 523 | static gboolean bg_emit_state_changed(struct bg_state_changed * cfg) |
524 | 524 | { |
525 | - g_signal_emit(cfg->worker, v3270_worker_signals[V3270_WORKER_TRANSFER_STATE_SIGNAL], 0, (guint) cfg->st, cfg->msg); | |
525 | + g_signal_emit(cfg->worker, signals[V3270_WORKER_TRANSFER_STATE_SIGNAL], 0, (guint) cfg->st, cfg->msg); | |
526 | 526 | return FALSE; |
527 | 527 | } |
528 | 528 | |
... | ... | @@ -563,7 +563,7 @@ static gboolean do_timer(V3270FTWorker *worker) { |
563 | 563 | |
564 | 564 | g_signal_emit( |
565 | 565 | GTK_WIDGET(worker), |
566 | - v3270_worker_signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL], | |
566 | + signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL], | |
567 | 567 | 0, |
568 | 568 | _( "Transfer failed" ), |
569 | 569 | message |
... | ... | @@ -595,7 +595,7 @@ static gboolean do_timer(V3270FTWorker *worker) { |
595 | 595 | pulse_stop(worker); |
596 | 596 | |
597 | 597 | // Emit "transfer failed" |
598 | - g_signal_emit(GTK_WIDGET(widget),v3270_worker_signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL], 0, message, NULL); | |
598 | + g_signal_emit(GTK_WIDGET(widget),signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL], 0, message, NULL); | |
599 | 599 | |
600 | 600 | // Emit "no transfer" |
601 | 601 | ft_state_changed(worker->hSession, LIB3270_FT_STATE_NONE, _("No transfer in progress"), widget); |
... | ... | @@ -616,7 +616,7 @@ static gboolean do_timer(V3270FTWorker *worker) { |
616 | 616 | |
617 | 617 | g_signal_emit( |
618 | 618 | GTK_WIDGET(widget), |
619 | - v3270_worker_signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL], | |
619 | + signals[V3270_WORKER_TRANSFER_FAILED_SIGNAL], | |
620 | 620 | 0, |
621 | 621 | message, |
622 | 622 | _("The callback table for file transfer was rejected, possible version mismatch on lib3270") | ... | ... |