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,6 +117,12 @@ | ||
117 | return 0; | 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 | static void disconnected(GtkWidget *widget, GtkActionGroup **group) | 126 | static void disconnected(GtkWidget *widget, GtkActionGroup **group) |
121 | { | 127 | { |
122 | gtk_action_group_set_sensitive(group[ACTION_GROUP_PASTE],FALSE); | 128 | gtk_action_group_set_sensitive(group[ACTION_GROUP_PASTE],FALSE); |
@@ -333,6 +339,7 @@ | @@ -333,6 +339,7 @@ | ||
333 | 339 | ||
334 | // Connect window signals | 340 | // Connect window signals |
335 | g_signal_connect(window,"window_state_event",G_CALLBACK(window_state_event),terminal); | 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 | // Connect widget signals | 344 | // Connect widget signals |
338 | g_signal_connect(terminal,"toggle_changed",G_CALLBACK(toggle_changed),window); | 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,10 +211,24 @@ static gchar * enum_to_string(GType type, guint enum_value) | ||
211 | 211 | ||
212 | if(RegCreateKeyEx(hKey,"papersize",0,NULL,REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,NULL,&hPaperSize,&disp) == ERROR_SUCCESS) | 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 | RegCloseKey(hPaperSize); | 233 | RegCloseKey(hPaperSize); |
220 | } | 234 | } |