diff options
Diffstat (limited to 'UIManager.cpp')
-rw-r--r-- | UIManager.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/UIManager.cpp b/UIManager.cpp index e78898b..d6216fd 100644 --- a/UIManager.cpp +++ b/UIManager.cpp @@ -21,6 +21,7 @@ const gchar* const UIManager::uiData = (const gchar*) "</toolbar>" "</ui>"; + void UIManager::handleAction(GtkAction *action, UIManager *uiManager) { //const gchar* name = gtk_action_get_name(action); @@ -36,33 +37,42 @@ GtkActionGroup* UIManager::createActions() { action = gtk_action_new("fileMenu", "_File", NULL, NULL); gtk_action_group_add_action(actionGroup, action); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("toolbar1", "Toolbar", NULL, NULL); gtk_action_group_add_action(actionGroup, action); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("new", "_New", NULL, GTK_STOCK_NEW); gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("open", "_Open", NULL, GTK_STOCK_OPEN); gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("save", "_Save", NULL, GTK_STOCK_SAVE); gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("saveAs", "Save _As", NULL, NULL); gtk_action_group_add_action(actionGroup, action); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("zoomIn", "Zoom _in", NULL, GTK_STOCK_ZOOM_IN); g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(handleAction), this); gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("zoomOut", "Zoom _out", NULL, GTK_STOCK_ZOOM_OUT); g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(handleAction), this); gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + g_object_unref(G_OBJECT(action)); action = gtk_action_new("quit", "_Quit", NULL, GTK_STOCK_QUIT); g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(gtk_main_quit), NULL); gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + g_object_unref(G_OBJECT(action)); return actionGroup; } @@ -72,7 +82,9 @@ UIManager::UIManager() { gtk_ui_manager_add_ui_from_string(uiManager, uiData, -1, NULL); - gtk_ui_manager_insert_action_group(uiManager, createActions(), 0); + GtkActionGroup *actions = createActions(); + gtk_ui_manager_insert_action_group(uiManager, actions, 0); + g_object_unref(G_OBJECT(actions)); gtk_ui_manager_ensure_update(uiManager); } |