Commit fbe0a112b6b67f0b2be156ab33429c2618718c48
1 parent
74576b2a
Exists in
master
and in
1 other branch
Fixing manual zoom.
Showing
4 changed files
with
29 additions
and
20 deletions
Show diff stats
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 |