Compute dialog: Avoid double population
[pspp] / src / ui / gui / psppire-data-window.c
index 6464097194c72fbc95c7b8f6fac4412e80c13fcf..c68f65e129c3a2311d4a7636d34ddc11e5e443f5 100644 (file)
@@ -156,15 +156,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 +370,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 +840,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);
 }