Autorecode Dialog: Convert from add hoc to PsppireDialogAction
[pspp] / src / ui / gui / psppire-data-window.c
index f81d2fe6e6b2c85a70d1276d0d574ddd0f06493d..73f8bbe8ba7de858ef937aa9ac6437f4be32911d 100644 (file)
@@ -24,8 +24,6 @@
 #include "language/lexer/lexer.h"
 #include "libpspp/message.h"
 #include "libpspp/str.h"
-#include "ui/gui/aggregate-dialog.h"
-#include "ui/gui/autorecode-dialog.h"
 #include "ui/gui/builder-wrapper.h"
 #include "ui/gui/comments-dialog.h"
 #include "ui/gui/entry-dialog.h"
@@ -156,15 +154,18 @@ transformation_change_callback (bool transformations_pending,
 {
   PsppireDataWindow  *de = PSPPIRE_DATA_WINDOW (data);
 
-  GtkUIManager *uim = GTK_UI_MANAGER (get_object_assert (de->builder, "uimanager1", GTK_TYPE_UI_MANAGER));
-
-  GtkWidget *menuitem =
-    gtk_ui_manager_get_widget (uim,"/ui/menubar/transform/transform_run-pending");
-
   GtkWidget *status_label  =
     get_widget_assert (de->builder, "case-counter-area");
 
-  gtk_widget_set_sensitive (menuitem, transformations_pending);
+  { /* Set the sensitivity of the "Transformations Pending" menuitem */
+    GtkUIManager *uim = 
+      GTK_UI_MANAGER (get_object_assert (de->builder, "uimanager1", GTK_TYPE_UI_MANAGER));
+
+    GtkWidget *menuitem =
+      gtk_ui_manager_get_widget (uim,"/ui/menubar/transform/transform_run-pending");
+    
+    gtk_widget_set_sensitive (menuitem, transformations_pending);
+  }
 
 
   if ( transformations_pending)
@@ -367,7 +368,7 @@ load_file (PsppireWindow *de, const gchar *file_name, const char *encoding,
     }
 
   ok = execute_syntax (PSPPIRE_DATA_WINDOW (de),
-                       lex_reader_for_string (syntax));
+                       lex_reader_for_string (syntax, "UTF-8"));
   g_free (syntax);
 
   if (ok && syn == NULL)
@@ -490,8 +491,8 @@ data_pick_filename (PsppireWindow *window)
     gtk_file_chooser_dialog_new (_("Save"),
                                 GTK_WINDOW (de),
                                 GTK_FILE_CHOOSER_ACTION_SAVE,
-                                GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                                GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+                                _("Cancel"), GTK_RESPONSE_CANCEL,
+                                _("Save"), GTK_RESPONSE_ACCEPT,
                                 NULL);
 
   g_object_set (dialog, "local-only", FALSE, NULL);
@@ -618,8 +619,8 @@ confirm_delete_dataset (PsppireDataWindow *de,
     old_dataset, new_dataset, existing_dataset);
 
   gtk_dialog_add_buttons (GTK_DIALOG (dialog),
-                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-                          GTK_STOCK_DELETE, GTK_RESPONSE_OK,
+                          _("Cancel"), GTK_RESPONSE_CANCEL,
+                          _("Delete"), GTK_RESPONSE_OK,
                           NULL);
 
   g_object_set (dialog, "icon-name", "pspp", NULL);
@@ -837,15 +838,16 @@ static void
 on_switch_page (PsppireDataEditor *de, gpointer p,
                gint pagenum, PsppireDataWindow *dw)
 {
-  GtkWidget *page_menu_item;
-  gboolean is_ds;
-  const char *path;
+  /* Set the appropriate ui_manager according to the selected page.
+     This is necessary, because the menus for the variable view and
+     the data view are different (slightly). */
 
-  is_ds = pagenum == PSPPIRE_DATA_EDITOR_DATA_VIEW;
-  path = (is_ds
+  gboolean is_ds = pagenum == PSPPIRE_DATA_EDITOR_DATA_VIEW;
+  const char *path = (is_ds
           ? "/ui/menubar/view/view_data"
           : "/ui/menubar/view/view_variables");
-  page_menu_item = gtk_ui_manager_get_widget (dw->ui_manager, path);
+
+  GtkWidget *page_menu_item = gtk_ui_manager_get_widget (dw->ui_manager, path);
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (page_menu_item), TRUE);
 }
 
@@ -944,7 +946,7 @@ psppire_data_window_finish_init (PsppireDataWindow *de,
   psppire_data_store_set_reader (de->data_store, NULL);
 
   menubar = get_widget_assert (de->builder, "menubar");
-  hb = get_widget_assert (de->builder, "handlebox1");
+  hb = get_widget_assert (de->builder, "toolbar");
   sb = get_widget_assert (de->builder, "status-bar");
 
   de->uim = NULL;
@@ -1007,8 +1009,6 @@ psppire_data_window_finish_init (PsppireDataWindow *de,
   g_signal_connect_swapped (get_action_assert (de->builder, "view_value-labels"), "toggled", G_CALLBACK (toggle_value_labels), de);
 
   connect_action (de, "data_select-cases", G_CALLBACK (select_cases_dialog));
-  connect_action (de, "data_aggregate", G_CALLBACK (aggregate_dialog));
-  connect_action (de, "transform_autorecode", G_CALLBACK (autorecode_dialog));
   connect_action (de, "data_split-file", G_CALLBACK (split_file_dialog));
   connect_action (de, "data_weight-cases", G_CALLBACK (weight_cases_dialog));
   connect_action (de, "utilities_comments", G_CALLBACK (comments_dialog));
@@ -1089,8 +1089,8 @@ psppire_data_window_finish_init (PsppireDataWindow *de,
 
   g_signal_connect_swapped (get_action_assert (de->builder, "windows_split"), "toggled", G_CALLBACK (toggle_split_window), de);
 
-  merge_help_menu (de->ui_manager);
-
+  gtk_menu_shell_append (GTK_MENU_SHELL (menubar),  create_help_menu (GTK_WINDOW (de)));
+  
   g_signal_connect (de->data_editor, "notify::ui-manager",
                     G_CALLBACK (on_ui_manager_changed), de);
   on_ui_manager_changed (de->data_editor, NULL, de);