+ g_signal_connect_swapped (dw->mi_insert_case, "activate", G_CALLBACK (insert_case_at_row), dw);
+ g_signal_connect_swapped (dw->mi_go_to_case, "activate", G_CALLBACK (goto_case), dw);
+ g_signal_connect_swapped (dw->mi_insert_var, "activate", G_CALLBACK (insert_variable), dw);
+
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (dw), "PsppireDialogActionVarInfo");
+ g_assert (a);
+ g_signal_connect_swapped (go_to_variable, "activate", G_CALLBACK (psppire_dialog_action_activate_null), a);
+
+ gtk_menu_attach (GTK_MENU (menu), go_to_variable, 0, 1, i, i + 1); ++i;
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_go_to_case, 0, 1, i, i + 1); ++i;
+
+ {
+ GtkAccelGroup *ag = gtk_accel_group_new ();
+
+ dw->mi_edit_separator = gtk_separator_menu_item_new ();
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_edit_separator, 0, 1, i, i + 1); ++i;
+
+ dw->mi_cut = gtk_menu_item_new_with_mnemonic (_("Cu_t"));
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_cut, 0, 1, i, i + 1); ++i;
+ g_signal_connect_swapped (dw->mi_cut, "activate", G_CALLBACK (on_cut), dw);
+
+ gtk_window_add_accel_group (GTK_WINDOW (dw), ag);
+ gtk_widget_add_accelerator (dw->mi_cut, "activate", ag,
+ 'X', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ dw->mi_copy = gtk_menu_item_new_with_mnemonic (_("_Copy"));
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_copy, 0, 1, i, i + 1); ++i;
+ g_signal_connect_swapped (dw->mi_copy, "activate", G_CALLBACK (on_copy), dw);
+ gtk_widget_add_accelerator (dw->mi_copy, "activate", ag,
+ 'C', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ dw->mi_paste = gtk_menu_item_new_with_mnemonic (_("_Paste"));
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_paste, 0, 1, i, i + 1); ++i;
+ g_signal_connect_swapped (dw->mi_paste, "activate", G_CALLBACK (on_paste), dw);
+ gtk_widget_add_accelerator (dw->mi_paste, "activate", ag,
+ 'V', GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ dw->mi_clear_variables = gtk_menu_item_new_with_mnemonic (_("Clear _Variables"));
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_clear_variables, 0, 1, i, i + 1); ++i;
+ g_signal_connect_swapped (dw->mi_clear_variables, "activate", G_CALLBACK (on_clear_variables), dw);
+
+ dw->mi_clear_cases = gtk_menu_item_new_with_mnemonic (_("Cl_ear Cases"));
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_clear_cases, 0, 1, i, i + 1); ++i;
+ g_signal_connect_swapped (dw->mi_clear_cases, "activate", G_CALLBACK (on_clear_cases), dw);
+ }
+
+ {
+ dw->mi_find_separator = gtk_separator_menu_item_new ();
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_find_separator, 0, 1, i, i + 1); ++i;
+
+ dw->mi_find = gtk_menu_item_new_with_mnemonic (_("_Find..."));
+ g_signal_connect_swapped (dw->mi_find, "activate", G_CALLBACK (find_dialog), dw);
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_find, 0, 1, i, i + 1); ++i;
+ }
+
+ {
+ dw->mi_options = gtk_menu_item_new_with_mnemonic (_("_Options..."));
+ g_signal_connect_swapped (dw->mi_options, "activate",
+ G_CALLBACK (options_dialog), dw);
+ gtk_menu_attach (GTK_MENU (menu), dw->mi_options, 0, 1, i, i + 1); ++i;