summaryrefslogtreecommitdiffstats
path: root/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/ui.c b/ui.c
index da702ba..d0fc58b 100644
--- a/ui.c
+++ b/ui.c
@@ -26,7 +26,14 @@ static const gchar *uiData =
"</ui>";
-
+static void handleAction(GtkAction *action, gpointer user_data) {
+ const gchar* name = gtk_action_get_name(action);
+
+ if(!strcmp(name, "zoomIn"))
+ zoomInCentered(1.2);
+ else if(!strcmp(name, "zoomOut"))
+ zoomOutCentered(1.2);
+}
static GtkActionGroup *createActions() {
GtkActionGroup *actionGroup = gtk_action_group_new("actions");
@@ -51,11 +58,11 @@ static GtkActionGroup *createActions() {
gtk_action_group_add_action(actionGroup, action);
action = gtk_action_new("zoomIn", "Zoom _in", NULL, GTK_STOCK_ZOOM_IN);
- g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(zoomIn), NULL);
+ g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(handleAction), NULL);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
action = gtk_action_new("zoomOut", "Zoom _out", NULL, GTK_STOCK_ZOOM_OUT);
- g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(zoomOut), NULL);
+ g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(handleAction), NULL);
gtk_action_group_add_action_with_accel(actionGroup, action, NULL);
action = gtk_action_new("quit", "_Quit", NULL, GTK_STOCK_QUIT);