X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-data-window.c;h=0196532652f747d081d3685d23cb994e94b18c05;hb=109eccf01c32b5784f464de2d424fd7a9905123f;hp=a97fd4e436e2520103cd5c8f47271a0f94da202d;hpb=d506910e4bc69028c6328d15c005667ad2a0d881;p=pspp diff --git a/src/ui/gui/psppire-data-window.c b/src/ui/gui/psppire-data-window.c index a97fd4e436..0196532652 100644 --- a/src/ui/gui/psppire-data-window.c +++ b/src/ui/gui/psppire-data-window.c @@ -1,5 +1,6 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Free Software Foundation + Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014, + 2016, 2017 Free Software Foundation This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -48,6 +49,7 @@ #include "ui/gui/efficient-sheet/jmd-sheet.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" @@ -1226,11 +1228,11 @@ insert_case_at_row (PsppireDataWindow *dw) static void goto_case (PsppireDataWindow *dw) { -#if SHEET_MERGE - PsppireDataSheet *ds = psppire_data_editor_get_active_data_sheet (dw->data_editor); - - goto_case_dialog (ds); -#endif + int p = gtk_notebook_get_current_page (GTK_NOTEBOOK (dw->data_editor)); + if (p == 0) + { + goto_case_dialog (JMD_SHEET (dw->data_editor->data_sheet)); + } } @@ -1435,7 +1437,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); @@ -1482,12 +1491,6 @@ psppire_data_window_finish_init (PsppireDataWindow *de, g_signal_connect_swapped (de->data_store, "case-changed", G_CALLBACK (set_unsaved), de); - g_signal_connect_swapped (de->data_store, "case-inserted", - G_CALLBACK (set_unsaved), de); - - g_signal_connect_swapped (de->data_store, "cases-deleted", - G_CALLBACK (set_unsaved), de); - dataset_set_callbacks (de->dataset, &cbs, de); connect_help (de->builder); @@ -1511,7 +1514,7 @@ psppire_data_window_finish_init (PsppireDataWindow *de, G_CALLBACK (on_split_change), de); - g_signal_connect_swapped (de->dict, "changed", + g_signal_connect_swapped (de->dict, "items-changed", G_CALLBACK (enable_save), de); g_signal_connect_swapped (de->dict, "variable-inserted", G_CALLBACK (enable_save), de); @@ -2013,8 +2016,6 @@ psppire_data_window_for_dataset (struct dataset *ds) return NULL; } -#if SHEET_MERGE - PsppireDataWindow * psppire_data_window_for_data_store (PsppireDataStore *data_store) { @@ -2027,8 +2028,6 @@ psppire_data_window_for_data_store (PsppireDataStore *data_store) return NULL; } -#endif - GtkWindow * create_data_window (void) { @@ -2039,9 +2038,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) { @@ -2058,4 +2055,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); }