Autorecode Dialog: Convert from add hoc to PsppireDialogAction
[pspp] / src / ui / gui / psppire-data-window.c
index 6464097194c72fbc95c7b8f6fac4412e80c13fcf..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)
@@ -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);
 }
 
@@ -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));