Commit b0c728d35ba559726c6c0059d2ff40832dbceee6
1 parent
d5add747
Exists in
master
and in
5 other branches
Salvando tamanho do papel no registry, retirando mensagems de erro na finalizacao
Showing
2 changed files
with
24 additions
and
3 deletions
Show diff stats
src/gtk/mainwindow.c
| ... | ... | @@ -117,6 +117,12 @@ |
| 117 | 117 | return 0; |
| 118 | 118 | } |
| 119 | 119 | |
| 120 | + static gboolean window_destroy(GtkWidget *window, GtkWidget *widget) | |
| 121 | + { | |
| 122 | + if(widget) | |
| 123 | + v3270_disconnect(widget); | |
| 124 | + } | |
| 125 | + | |
| 120 | 126 | static void disconnected(GtkWidget *widget, GtkActionGroup **group) |
| 121 | 127 | { |
| 122 | 128 | gtk_action_group_set_sensitive(group[ACTION_GROUP_PASTE],FALSE); |
| ... | ... | @@ -333,6 +339,7 @@ |
| 333 | 339 | |
| 334 | 340 | // Connect window signals |
| 335 | 341 | g_signal_connect(window,"window_state_event",G_CALLBACK(window_state_event),terminal); |
| 342 | + g_signal_connect(window,"destroy",G_CALLBACK(window_destroy),terminal); | |
| 336 | 343 | |
| 337 | 344 | // Connect widget signals |
| 338 | 345 | g_signal_connect(terminal,"toggle_changed",G_CALLBACK(toggle_changed),window); | ... | ... |
src/gtk/print.c
| ... | ... | @@ -211,10 +211,24 @@ static gchar * enum_to_string(GType type, guint enum_value) |
| 211 | 211 | |
| 212 | 212 | if(RegCreateKeyEx(hKey,"papersize",0,NULL,REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,NULL,&hPaperSize,&disp) == ERROR_SUCCESS) |
| 213 | 213 | { |
| 214 | - GtkPaperSize *paper_size = gtk_page_setup_get_paper_size (setup); | |
| 215 | - if(paper_size) | |
| 214 | + GtkPaperSize *size = gtk_page_setup_get_paper_size(setup); | |
| 215 | + if(size) | |
| 216 | 216 | { |
| 217 | - #warning Implement it | |
| 217 | + // From http://git.gnome.org/browse/gtk+/tree/gtk/gtkpapersize.c | |
| 218 | + const gchar *name = gtk_paper_size_get_name(size); | |
| 219 | + const gchar *display_name = gtk_paper_size_get_display_name(size); | |
| 220 | + const gchar *ppd_name = gtk_paper_size_get_ppd_name(size); | |
| 221 | + | |
| 222 | + if (ppd_name != NULL) | |
| 223 | + save_string(hPaperSize,"PPDName", ppd_name); | |
| 224 | + else | |
| 225 | + save_string(hPaperSize,"Name", name); | |
| 226 | + | |
| 227 | + if (display_name) | |
| 228 | + save_string(hPaperSize,"DisplayName", display_name); | |
| 229 | + | |
| 230 | + save_double(hPaperSize, "Width", gtk_paper_size_get_width (size, GTK_UNIT_MM)); | |
| 231 | + save_double(hPaperSize, "Height", gtk_paper_size_get_height (size, GTK_UNIT_MM)); | |
| 218 | 232 | } |
| 219 | 233 | RegCloseKey(hPaperSize); |
| 220 | 234 | } | ... | ... |