X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Faggregate-dialog.c;h=c6f5ad838f925ab61b6d6d53a06b211f7980e13f;hb=28c9cdd6ad22eae547cc5b3b18395ac733a7c8d4;hp=8b54ed584afe84798b8475e46295bed1b66060fa;hpb=fa1fffd5c789d9c7875fc3bdf556eaf017cf524e;p=pspp diff --git a/src/ui/gui/aggregate-dialog.c b/src/ui/gui/aggregate-dialog.c index 8b54ed584a..c6f5ad838f 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, 2012 Free Software Foundation + Copyright (C) 2010, 2011, 2012, 2013, 2014 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 @@ -18,6 +18,8 @@ #include "dialog-common.h" +#include +#include #include #include @@ -151,11 +153,12 @@ choose_filename (struct aggregate *fd) GtkFileFilter *filter; GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Aggregate destination file"), - GTK_WINDOW (fd->de), - GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, - NULL); + GTK_WINDOW (fd->de), + GTK_FILE_CHOOSER_ACTION_SAVE, + _("Cancel"), GTK_RESPONSE_CANCEL, + _("Save"), GTK_RESPONSE_ACCEPT, + NULL); + g_object_set (dialog, "local-only", FALSE, NULL); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); @@ -166,6 +169,11 @@ choose_filename (struct aggregate *fd) 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, _("Compressed System Files (*.zsav)")); + gtk_file_filter_add_pattern (filter, "*.zsav"); + 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_mime_type (filter, "application/x-spss-por"); @@ -426,15 +434,14 @@ on_acr_change (const struct aggregate *agg, GtkTreeView *tv) gtk_entry_set_text (GTK_ENTRY (agg->summary_var_label_entry), label); gtk_entry_set_text (GTK_ENTRY (agg->summary_sv_entry), srcvar); - text = g_strdup_printf ("%g", arg1); + text = c_xasprintf ("%.*g", DBL_DIG + 1, arg1); gtk_entry_set_text (GTK_ENTRY (agg->summary_arg1_entry), text); g_free (text); - text = g_strdup_printf ("%g", arg2); + text = c_xasprintf ("%.*g", DBL_DIG + 1, arg2); gtk_entry_set_text (GTK_ENTRY (agg->summary_arg2_entry), text); g_free (text); - gtk_combo_box_set_active (GTK_COMBO_BOX (agg->function_combo), f_idx); } @@ -670,17 +677,22 @@ append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *st if ( has_src_vars != AGR_SV_NO) { - g_string_append (string, " ("); + struct string dss; + ds_init_cstr (&dss, " ("); - g_string_append (string, srcvar); + ds_put_cstr (&dss, srcvar); if ( arity > 0) - g_string_append_printf (string, ", %g", arg1); + ds_put_c_format (&dss, ", %.*g", DBL_DIG + 1, arg1); if ( arity > 1) - g_string_append_printf (string, ", %g", arg2); + ds_put_c_format (&dss, ", %.*g", DBL_DIG + 1, arg2); + + ds_put_cstr (&dss, ")"); + + g_string_append (string, ds_cstr (&dss)); - g_string_append (string, ")"); + ds_destroy (&dss); } free (label);