Commit 910bc374330b41336b821ff1c8ddef6496f1585d
1 parent
60c9f2d5
Exists in
master
and in
1 other branch
Refactoring popup engine.
Showing
5 changed files
with
17 additions
and
13 deletions
Show diff stats
src/dialogs/popups.c
| ... | ... | @@ -43,17 +43,16 @@ |
| 43 | 43 | // Check if the dialog is enabled |
| 44 | 44 | if(popup->name && GTK_IS_V3270(widget)) { |
| 45 | 45 | |
| 46 | - GtkResponseType response = GTK_RESPONSE_NONE; | |
| 46 | + GtkResponseType response = GTK_RESPONSE_DELETE_EVENT; | |
| 47 | 47 | |
| 48 | 48 | v3270_signal_emit( |
| 49 | 49 | widget, |
| 50 | 50 | V3270_SIGNAL_LOAD_POPUP_RESPONSE, |
| 51 | 51 | popup->name, |
| 52 | - response, | |
| 53 | 52 | &response |
| 54 | 53 | ); |
| 55 | 54 | |
| 56 | - if(response != GTK_RESPONSE_NONE) | |
| 55 | + if((response != GTK_RESPONSE_NONE) && (response != GTK_RESPONSE_DELETE_EVENT)) | |
| 57 | 56 | return response; |
| 58 | 57 | |
| 59 | 58 | } |
| ... | ... | @@ -104,7 +103,8 @@ |
| 104 | 103 | GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, |
| 105 | 104 | settings[popup->type].type, |
| 106 | 105 | GTK_BUTTONS_NONE, |
| 107 | - "<b><big>%s</big></b>",popup->summary | |
| 106 | + (popup->body ? "<b><big>%s</big></b>" : "%s"), | |
| 107 | + popup->summary | |
| 108 | 108 | ); |
| 109 | 109 | |
| 110 | 110 | if(popup->body) { |
| ... | ... | @@ -239,14 +239,15 @@ |
| 239 | 239 | GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, |
| 240 | 240 | GTK_MESSAGE_INFO, |
| 241 | 241 | GTK_BUTTONS_NONE, |
| 242 | - "%s", | |
| 243 | - summary | |
| 242 | + (body ? "<b><big>%s</big></b>" : "%s"), | |
| 243 | + summary | |
| 244 | 244 | ); |
| 245 | 245 | |
| 246 | 246 | if(body) |
| 247 | - gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",body); | |
| 247 | + gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"<small>%s</small>",body); | |
| 248 | 248 | |
| 249 | - gtk_window_set_title(GTK_WINDOW(dialog),title); | |
| 249 | + if(title) | |
| 250 | + gtk_window_set_title(GTK_WINDOW(dialog),title); | |
| 250 | 251 | |
| 251 | 252 | // Set check button |
| 252 | 253 | GtkWidget * dont_ask = gtk_check_button_new_with_label(_("Don't ask again")); | ... | ... |
src/selection/linux/paste.c
| ... | ... | @@ -108,6 +108,8 @@ static void formatted_received(GtkClipboard *clipboard, GtkSelectionData *select |
| 108 | 108 | if(!v3270_set_from_data_block(terminal, selection)) |
| 109 | 109 | { |
| 110 | 110 | debug("%s: Can't paste data",__FUNCTION__); |
| 111 | + | |
| 112 | + | |
| 111 | 113 | if( |
| 112 | 114 | v3270_popup_toggleable_dialog( |
| 113 | 115 | widget, | ... | ... |
src/terminal/marshal
src/terminal/widget.c
| ... | ... | @@ -201,8 +201,8 @@ static void finalize(GObject *object) { |
| 201 | 201 | G_OBJECT_CLASS(v3270_parent_class)->finalize(object); |
| 202 | 202 | } |
| 203 | 203 | |
| 204 | - static GtkResponseType load_popup_response(v3270 G_GNUC_UNUSED(*widget), const gchar G_GNUC_UNUSED(*popup_name), GtkResponseType response) { | |
| 205 | - return response; | |
| 204 | + static GtkResponseType load_popup_response(v3270 G_GNUC_UNUSED(*widget), const gchar G_GNUC_UNUSED(*popup_name)) { | |
| 205 | + return GTK_RESPONSE_DELETE_EVENT; | |
| 206 | 206 | } |
| 207 | 207 | |
| 208 | 208 | static gboolean save_popup_response(v3270 G_GNUC_UNUSED(*widget), const gchar G_GNUC_UNUSED(*popup_name), GtkResponseType G_GNUC_UNUSED(response)) { |
| ... | ... | @@ -481,8 +481,8 @@ static void v3270_class_init(v3270Class *klass) |
| 481 | 481 | G_SIGNAL_RUN_LAST, |
| 482 | 482 | G_STRUCT_OFFSET (v3270Class, load_popup_response), |
| 483 | 483 | NULL, NULL, |
| 484 | - v3270_UINT__POINTER_UINT, | |
| 485 | - G_TYPE_UINT, 2, G_TYPE_POINTER, G_TYPE_UINT); | |
| 484 | + v3270_UINT__POINTER, | |
| 485 | + G_TYPE_UINT, 1, G_TYPE_POINTER); | |
| 486 | 486 | |
| 487 | 487 | v3270_widget_signal[V3270_SIGNAL_SAVE_POPUP_RESPONSE] = |
| 488 | 488 | g_signal_new( I_("save-popup-response"), | ... | ... |
v3270.cbp
| ... | ... | @@ -361,6 +361,7 @@ |
| 361 | 361 | <Unit filename="src/terminal/linux/iosource.c"> |
| 362 | 362 | <Option compilerVar="CC" /> |
| 363 | 363 | </Unit> |
| 364 | + <Unit filename="src/terminal/marshal" /> | |
| 364 | 365 | <Unit filename="src/terminal/marshal.h" /> |
| 365 | 366 | <Unit filename="src/terminal/mouse.c"> |
| 366 | 367 | <Option compilerVar="CC" /> | ... | ... |