Commit fbe0a112b6b67f0b2be156ab33429c2618718c48

Authored by Perry Werneck
1 parent 74576b2a
Exists in master and in 1 other branch develop

Fixing manual zoom.

src/dialogs/hostselect.c
@@ -350,7 +350,7 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget) @@ -350,7 +350,7 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget)
350 350
351 if(v3270_is_connected(widget)) 351 if(v3270_is_connected(widget))
352 { 352 {
353 - gdk_display_beep(gdk_display_get_default()); 353 + gtk_widget_error_bell(widget);
354 return; 354 return;
355 } 355 }
356 356
src/terminal/font/actions.c
@@ -64,7 +64,7 @@ void v3270_zoom_best(GtkWidget *widget) @@ -64,7 +64,7 @@ void v3270_zoom_best(GtkWidget *widget)
64 v3270 * terminal = GTK_V3270(widget); 64 v3270 * terminal = GTK_V3270(widget);
65 if(!(gtk_widget_get_realized(widget) && terminal->drawing && lib3270_is_connected(terminal->host))) 65 if(!(gtk_widget_get_realized(widget) && terminal->drawing && lib3270_is_connected(terminal->host)))
66 { 66 {
67 - gdk_display_beep(gdk_display_get_default()); 67 + gtk_widget_error_bell(widget);
68 return; 68 return;
69 } 69 }
70 70
@@ -84,24 +84,16 @@ void v3270_zoom_best(GtkWidget *widget) @@ -84,24 +84,16 @@ void v3270_zoom_best(GtkWidget *widget)
84 84
85 } 85 }
86 86
87 -static void zoom(GtkWidget *widget, double step) 87 +static void zoom(v3270 *terminal, double step)
88 { 88 {
89 debug("%s",__FUNCTION__); 89 debug("%s",__FUNCTION__);
90 90
91 - g_return_if_fail(GTK_IS_V3270(widget));  
92 - v3270 * terminal = GTK_V3270(widget);  
93 - if(!(gtk_widget_get_realized(widget) && terminal->drawing && lib3270_is_connected(terminal->host)))  
94 - {  
95 - gtk_widget_error_bell(widget);  
96 - return;  
97 - }  
98 -  
99 terminal->font.size += step; 91 terminal->font.size += step;
100 92
101 // Redraw window 93 // Redraw window
102 94
103 - gint width = gtk_widget_get_allocated_width(widget);  
104 - gint height = gtk_widget_get_allocated_height(widget); 95 + gint width = gtk_widget_get_allocated_width((GtkWidget *) terminal);
  96 + gint height = gtk_widget_get_allocated_height((GtkWidget *) terminal);
105 97
106 cairo_t *cr = cairo_create(terminal->surface); 98 cairo_t *cr = cairo_create(terminal->surface);
107 99
@@ -120,18 +112,35 @@ static void zoom(GtkWidget *widget, double step) @@ -120,18 +112,35 @@ static void zoom(GtkWidget *widget, double step)
120 112
121 cairo_destroy(cr); 113 cairo_destroy(cr);
122 114
123 - gtk_widget_queue_draw(GTK_WIDGET(terminal)); 115 + gtk_widget_queue_draw((GtkWidget *) terminal);
124 116
125 } 117 }
126 118
127 void v3270_zoom_in(GtkWidget *widget) 119 void v3270_zoom_in(GtkWidget *widget)
128 { 120 {
129 - zoom(widget,1); 121 + g_return_if_fail(GTK_IS_V3270(widget));
  122 + v3270 * terminal = GTK_V3270(widget);
  123 + if(!(gtk_widget_get_realized(widget) && terminal->drawing && lib3270_is_connected(terminal->host)))
  124 + {
  125 + gtk_widget_error_bell(widget);
  126 + return;
  127 + }
  128 +
  129 + zoom(terminal,terminal->font.step);
130 } 130 }
131 131
132 void v3270_zoom_out(GtkWidget *widget) 132 void v3270_zoom_out(GtkWidget *widget)
133 { 133 {
134 - debug("%s",__FUNCTION__);  
135 - zoom(widget,-1); 134 + g_return_if_fail(GTK_IS_V3270(widget));
  135 + v3270 * terminal = GTK_V3270(widget);
  136 + if(!(gtk_widget_get_realized(widget) && terminal->drawing && lib3270_is_connected(terminal->host)))
  137 + {
  138 + gtk_widget_error_bell(widget);
  139 + return;
  140 + }
  141 +
  142 + if(terminal->font.size > terminal->font.step)
  143 + zoom(terminal,-terminal->font.step);
  144 +
136 } 145 }
137 146
src/terminal/font/compute.c
@@ -67,13 +67,13 @@ @@ -67,13 +67,13 @@
67 cairo_set_font_face(cr,terminal->font.face); 67 cairo_set_font_face(cr,terminal->font.face);
68 68
69 { 69 {
70 - double s = terminal->font.step; 70 + double s = 0.1;
71 71
72 do 72 do
73 { 73 {
74 terminal->font.size = s; 74 terminal->font.size = s;
75 75
76 - s += terminal->font.step; 76 + s += 0.1;
77 cairo_set_font_size(cr,s); 77 cairo_set_font_size(cr,s);
78 cairo_font_extents(cr,&extents); 78 cairo_font_extents(cr,&extents);
79 79
src/terminal/font/info.c
@@ -37,7 +37,7 @@ void v3270_font_info_init(v3270FontInfo *info) @@ -37,7 +37,7 @@ void v3270_font_info_init(v3270FontInfo *info)
37 memset(info,0,sizeof(v3270FontInfo)); 37 memset(info,0,sizeof(v3270FontInfo));
38 38
39 info->family = g_strdup(v3270_get_default_font_name()); 39 info->family = g_strdup(v3270_get_default_font_name());
40 - info->step = 0.1; 40 + info->step = 1;
41 info->size = 0.1; 41 info->size = 0.1;
42 } 42 }
43 43