X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fdata-editor.c;h=13cc29a941f8be002bcbe10103fbddc590be04e6;hb=179ec0710b05fb6e52075fca3b89bbc72aa6efb8;hp=df70e89ced6cfd2f44d4492d9b87438f912c24b4;hpb=31b6e78dc21a245350249247962d199ada98e677;p=pspp-builds.git diff --git a/src/ui/gui/data-editor.c b/src/ui/gui/data-editor.c index df70e89c..13cc29a9 100644 --- a/src/ui/gui/data-editor.c +++ b/src/ui/gui/data-editor.c @@ -74,6 +74,9 @@ static void on_edit_paste (GtkAction *a, gpointer data); static GtkWidget * create_data_sheet_variable_popup_menu (struct data_editor *); + +static GtkWidget * create_var_sheet_variable_popup_menu (struct data_editor *); + static GtkWidget * create_data_sheet_cases_popup_menu (struct data_editor *); static void register_data_editor_actions (struct data_editor *de); @@ -933,17 +936,20 @@ new_data_editor (void) de->data_sheet_variable_popup_menu = GTK_MENU (create_data_sheet_variable_popup_menu (de)); + de->var_sheet_variable_popup_menu = + GTK_MENU (create_var_sheet_variable_popup_menu (de)); + de->data_sheet_cases_popup_menu = GTK_MENU (create_data_sheet_cases_popup_menu (de)); g_object_set (de->data_editor, - "column-menu", de->data_sheet_variable_popup_menu, NULL); + "datasheet-column-menu", de->data_sheet_variable_popup_menu, + "datasheet-row-menu", de->data_sheet_cases_popup_menu, + "varsheet-row-menu", de->var_sheet_variable_popup_menu, + NULL); - g_object_set (de->data_editor, - "row-menu", de->data_sheet_cases_popup_menu, NULL); - return de; } @@ -1038,9 +1044,19 @@ static void fonts_activate (GtkMenuItem *menuitem, gpointer data) { struct data_editor *de = data; + PangoFontDescription *current_font; + gchar *font_name; GtkWidget *dialog = gtk_font_selection_dialog_new (_("Font Selection")); + + current_font = GTK_WIDGET(de->data_editor)->style->font_desc; + font_name = pango_font_description_to_string (current_font); + + gtk_font_selection_dialog_set_font_name (GTK_FONT_SELECTION_DIALOG (dialog), font_name); + + g_free (font_name); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (get_widget_assert (de->xml, "data_editor"))); @@ -1402,6 +1418,11 @@ data_save_as_dialog (GtkAction *action, struct data_editor *de) de->save_as_portable = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button_sys)); + if ( de->save_as_portable) + append_filename_suffix (de, ".por"); + else + append_filename_suffix (de, ".sav"); + save_file (de); window_set_name_from_filename (e, de->file_name); @@ -1612,6 +1633,43 @@ create_data_sheet_cases_popup_menu (struct data_editor *de) } +static GtkWidget * +create_var_sheet_variable_popup_menu (struct data_editor *de) +{ + GtkWidget *menu = gtk_menu_new (); + + GtkWidget *insert_variable = + gtk_menu_item_new_with_label (_("Insert Variable")); + + GtkWidget *delete_variable = + gtk_menu_item_new_with_label (_("Clear")); + + + gtk_action_connect_proxy (de->delete_variables, + delete_variable); + + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), insert_variable); + + g_signal_connect_swapped (G_OBJECT (insert_variable), "activate", + G_CALLBACK (gtk_action_activate), + de->insert_variable); + + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), + gtk_separator_menu_item_new ()); + + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), delete_variable); + + + gtk_widget_show_all (menu); + + return menu; +} + + + static void