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 | } | ... | ... |