New menu: Edit|Options
[pspp] / src / ui / gui / psppire-data-window.c
index b2f61c60a30d45acc1608b6bc33c47c7dda60866..c9f87d7f6718073174f9c41ae7b2381aad1118a2 100644 (file)
@@ -48,6 +48,7 @@
 #include "gl/xvasprintf.h"
 
 #include "find-dialog.h"
+#include "options-dialog.h"
 #include "psppire-dialog-action-1sks.h"
 #include "psppire-dialog-action-aggregate.h"
 #include "psppire-dialog-action-autorecode.h"
@@ -788,7 +789,9 @@ fonts_activate (PsppireDataWindow  *de)
   GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (de));
   GtkWidget *dialog =  gtk_font_chooser_dialog_new (NULL, GTK_WINDOW (toplevel));
   GtkStyleContext *style = gtk_widget_get_style_context (GTK_WIDGET(de->data_editor));
-  const PangoFontDescription *current_font = gtk_style_context_get_font (style, GTK_STATE_FLAG_NORMAL);
+  const PangoFontDescription *current_font ;
+  
+  gtk_style_context_get (style, GTK_STATE_FLAG_NORMAL, "font", &current_font, NULL);
 
   gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (dialog), current_font);
 
@@ -1355,7 +1358,14 @@ create_edit_menu (PsppireDataWindow *dw)
   
     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;
+    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;
   }
   
   g_object_set (menuitem, "submenu", menu, NULL);
@@ -1946,7 +1956,7 @@ create_data_window (void)
   return GTK_WINDOW (w);
 }
 
-void
+GtkWindow *
 open_data_window (PsppireWindow *victim, const char *file_name,
                   const char *encoding, gpointer hint)
 {
@@ -1963,4 +1973,5 @@ open_data_window (PsppireWindow *victim, const char *file_name,
 
   psppire_window_load (PSPPIRE_WINDOW (window), file_name, encoding, hint);
   gtk_widget_show_all (window);
+  return GTK_WINDOW (window);
 }