X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Faggregate-dialog.c;h=a5c243a8e2de40c5fa4f80d5f581248f471807a0;hb=e943de7a3e0645852c3b659889ff3ccf38dd43ec;hp=c06011da92fd19096d25dbac440c2efee0488c23;hpb=377465b1ebfd1c09acfeb53852fa42b6af33339f;p=pspp diff --git a/src/ui/gui/aggregate-dialog.c b/src/ui/gui/aggregate-dialog.c index c06011da92..a5c243a8e2 100644 --- a/src/ui/gui/aggregate-dialog.c +++ b/src/ui/gui/aggregate-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2010, 2011 Free Software Foundation + Copyright (C) 2010, 2011, 2012 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 @@ -35,6 +35,7 @@ #include "dict-display.h" #include "executor.h" +#include "builder-wrapper.h" #include "helper.h" #include @@ -164,20 +165,19 @@ choose_filename (struct aggregate *fd) GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); + g_object_set (dialog, "local-only", FALSE, NULL); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("System Files (*.sav)")); - gtk_file_filter_add_pattern (filter, "*.sav"); - gtk_file_filter_add_pattern (filter, "*.SAV"); + gtk_file_filter_add_mime_type (filter, "application/x-spss-sav"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Portable Files (*.por) ")); - gtk_file_filter_add_pattern (filter, "*.por"); - gtk_file_filter_add_pattern (filter, "*.POR"); + gtk_file_filter_add_mime_type (filter, "application/x-spss-por"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); @@ -226,6 +226,7 @@ populate_combo_model (GtkComboBox *cb) gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (cb), renderer, "text", 0); gtk_combo_box_set_model (GTK_COMBO_BOX (cb), GTK_TREE_MODEL (list)); + g_object_unref (list); } @@ -468,8 +469,6 @@ aggregate_dialog (PsppireDataWindow *dw) struct aggregate fd; gint response; - PsppireVarStore *vs; - GtkWidget *dialog ; GtkWidget *source ; @@ -527,6 +526,7 @@ aggregate_dialog (PsppireDataWindow *dw) G_TYPE_DOUBLE); psppire_acr_set_model (PSPPIRE_ACR (fd.summary_acr), list); + g_object_unref (list); psppire_acr_set_get_value_func (PSPPIRE_ACR (fd.summary_acr), get_summary_spec, &fd); @@ -564,11 +564,9 @@ aggregate_dialog (PsppireDataWindow *dw) g_signal_connect_swapped (dialog, "refresh", G_CALLBACK (refresh), &fd); - g_object_get (fd.de->data_editor, "var-store", &vs, NULL); - gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (fd.de)); - g_object_get (vs, "dictionary", &fd.dict, NULL); + g_object_get (fd.de->data_editor, "dictionary", &fd.dict, NULL); g_object_set (source, "model", fd.dict, NULL); @@ -633,8 +631,8 @@ static void append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *string) { GtkTreeIter combo_iter; - const char *varname; - const char *funcname; + char *varname = NULL; + char *funcname = NULL; GtkTreeModel *acr_model = GTK_TREE_MODEL (PSPPIRE_ACR (agg->summary_acr)->list_store); GtkTreeModel *combo_model = gtk_combo_box_get_model (GTK_COMBO_BOX (agg->function_combo)); @@ -645,8 +643,8 @@ append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *st double arg1, arg2; int arity; enum agr_src_vars has_src_vars; - const gchar *label ; - const gchar *srcvar ; + gchar *label = NULL; + gchar *srcvar = NULL; gtk_tree_model_get (acr_model, iter, SUMMARY_COL_VARNAME, &varname, @@ -693,6 +691,11 @@ append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *st g_string_append (string, ")"); } + + free (label); + free (srcvar); + free (varname); + free (funcname); }