From 9c0fd203bdcda8dc3421f66975d94463dab8bce6 Mon Sep 17 00:00:00 2001 From: "Dr. Johann Pfefferl" Date: Sat, 8 May 2010 21:49:28 +0200 Subject: [PATCH 1/1] Construct the default filename from the date --- gps-tracker.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/gps-tracker.c b/gps-tracker.c index 3f3b580..62bc73c 100644 --- a/gps-tracker.c +++ b/gps-tracker.c @@ -21,8 +21,16 @@ static gchar * interface_file_chooser (AppData * appdata, GtkFileChooserAction a { GtkWidget *dialog; gchar *filename = NULL; + GDate *date = g_date_new(); + gchar save_fname[256]; + g_date_set_time_t (date, time (NULL)); + g_date_strftime(save_fname, sizeof(save_fname), "gps-tracker-%F-%H-%M.gpx", date); + g_free (date); dialog = hildon_file_chooser_dialog_new (GTK_WINDOW (appdata->window), action); + gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER (dialog), save_fname); + g_snprintf(save_fname, sizeof(save_fname), "%s" G_DIR_SEPARATOR_S "MyDocs", g_get_home_dir()); + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), save_fname); gtk_widget_show_all (GTK_WIDGET (dialog)); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { @@ -38,8 +46,10 @@ static void cb_start_stop (GtkWidget * w, AppData * data) data->tracking_is_on = !data->tracking_is_on; if(data->tracking_is_on) { hildon_banner_show_information(GTK_WIDGET(data->window), NULL, "Tracking started"); + gtk_button_set_label (data->start_stop_button, "Stop"); } else { + gtk_button_set_label (data->start_stop_button, "Start"); hildon_banner_show_information(GTK_WIDGET(data->window), NULL, "Tracking stopped"); } } @@ -49,16 +59,14 @@ static void cb_file_save (GtkWidget * w, AppData * data) gchar *filename = NULL; filename = interface_file_chooser (data, GTK_FILE_CHOOSER_ACTION_SAVE); - if (filename == NULL) { - filename = "NULL"; + if (filename) { + //FILE * f = fopen (filename, "w"); + //fprintf (f, "This file was generated by Hildon File Chooser example."); + //fclose (f); + g_print ("File saved as %s\n", filename); + hildon_banner_show_information(GTK_WIDGET(data->window), NULL, filename); } - else { - FILE * f = fopen (filename, "w"); - fprintf (f, "This file was generated by Hildon File Chooser example."); - fclose (f); - } - - g_print ("File saved as %s\n", filename); + g_free(filename); } static void -- 1.7.9.5