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 350  
351 351 if(v3270_is_connected(widget))
352 352 {
353   - gdk_display_beep(gdk_display_get_default());
  353 + gtk_widget_error_bell(widget);
354 354 return;
355 355 }
356 356  
... ...
src/terminal/font/actions.c
... ... @@ -64,7 +64,7 @@ void v3270_zoom_best(GtkWidget *widget)
64 64 v3270 * terminal = GTK_V3270(widget);
65 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 68 return;
69 69 }
70 70  
... ... @@ -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 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 91 terminal->font.size += step;
100 92  
101 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 98 cairo_t *cr = cairo_create(terminal->surface);
107 99  
... ... @@ -120,18 +112,35 @@ static void zoom(GtkWidget *widget, double step)
120 112  
121 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 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 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 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 72 do
73 73 {
74 74 terminal->font.size = s;
75 75  
76   - s += terminal->font.step;
  76 + s += 0.1;
77 77 cairo_set_font_size(cr,s);
78 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 37 memset(info,0,sizeof(v3270FontInfo));
38 38  
39 39 info->family = g_strdup(v3270_get_default_font_name());
40   - info->step = 0.1;
  40 + info->step = 1;
41 41 info->size = 0.1;
42 42 }
43 43  
... ...