/[xlog]/xlog/src/callbacks_otherdialogs.c
ViewVC logotype

Diff of /xlog/src/callbacks_otherdialogs.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.23 by pa4tu, Wed Oct 1 22:35:56 2003 UTC revision 1.24 by pa4tu, Thu Oct 2 14:09:48 2003 UTC
# Line 29  Line 29 
29  #include <stdlib.h>  #include <stdlib.h>
30  #include <unistd.h>  #include <unistd.h>
31  #include <string.h>  #include <string.h>
32    #include <sys/stat.h>
33  #include <gtk/gtk.h>  #include <gtk/gtk.h>
34    
35  #include "callbacks_otherdialogs.h"  #include "callbacks_otherdialogs.h"
# Line 895  on_saveasok_button_clicked (GtkButton * Line 896  on_saveasok_button_clicked (GtkButton *
896          GtkWidget *saveasdialog, *saveasmenu, *menu, *item,          GtkWidget *saveasdialog, *saveasmenu, *menu, *item,
897                  *savewarningdialog, *savewarninglabel, *lowqsoentry,                  *savewarningdialog, *savewarninglabel, *lowqsoentry,
898                  *highqsoentry;                  *highqsoentry;
899          gchar *temp, *rev;          gchar *temp;
900          gint index;          gint index;
901          logtype *logwindow;          logtype *logwindow;
902          gboolean warning = FALSE;          gboolean warning = FALSE;
903      struct stat statdir;
904    
905    saveasdialog = gtk_widget_get_toplevel (GTK_WIDGET (button));    saveasdialog = gtk_widget_get_toplevel (GTK_WIDGET (button));
906    saveasmenu = lookup_widget (saveasdialog, "saveasmenu");    saveasmenu = lookup_widget (saveasdialog, "saveasmenu");
# Line 931  on_saveasok_button_clicked (GtkButton * Line 933  on_saveasok_button_clicked (GtkButton *
933    
934    logfile = g_strdup (gtk_file_selection_get_filename    logfile = g_strdup (gtk_file_selection_get_filename
935          (GTK_FILE_SELECTION (saveasdialog)));          (GTK_FILE_SELECTION (saveasdialog)));
936    rev = g_strdup (logfile);    stat (logfile, &statdir);
937    g_strreverse (rev);    if (S_ISDIR (statdir.st_mode))
   if (!g_ascii_strncasecmp (rev, "/", 1))  
938    {    {
939      temp = g_strdup_printf (_("No filename entered, log not saved"));      temp = g_strdup_printf (_("No filename entered, log not saved"));
940      update_statusbar (temp);      update_statusbar (temp);
# Line 949  on_saveasok_button_clicked (GtkButton * Line 950  on_saveasok_button_clicked (GtkButton *
950            lowqso = atoi (temp);            lowqso = atoi (temp);
951            temp = gtk_editable_get_chars (GTK_EDITABLE (highqsoentry), 0, -1);            temp = gtk_editable_get_chars (GTK_EDITABLE (highqsoentry), 0, -1);
952            highqso = atoi (temp);            highqso = atoi (temp);
953            if (!fileexist (logfile))          logwindow = g_list_nth_data (logwindowlist,
           {  
                 logwindow = g_list_nth_data (logwindowlist,  
954          gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook)));          gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook)));
955        if (lowqso > highqso || highqso > logwindow->qsos)
956        {
957            update_statusbar
958            (_("Cannot save log: invalid entry for first and/or last QSO"));
959        }
960        else if (!fileexist (logfile))
961              {
962                  savelog (logwindow, logfile, type, lowqso, highqso);                  savelog (logwindow, logfile, type, lowqso, highqso);
963                  temp = g_strdup_printf (_("Log saved to %s"),   logfile);                  temp = g_strdup_printf (_("Log saved to %s"),   logfile);
964          update_statusbar (temp);          update_statusbar (temp);
# Line 969  on_saveasok_button_clicked (GtkButton * Line 975  on_saveasok_button_clicked (GtkButton *
975          }          }
976    }    }
977    g_free (temp);    g_free (temp);
   g_free (rev);  
978    
979    gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (button)));    gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (button)));
980    if (!warning) gtk_widget_set_sensitive (mainwindow, 1);    if (!warning) gtk_widget_set_sensitive (mainwindow, 1);
# Line 1461  on_savewarningokbutton_clicked (GtkButto Line 1466  on_savewarningokbutton_clicked (GtkButto
1466          logwindow = g_list_nth_data (logwindowlist,          logwindow = g_list_nth_data (logwindowlist,
1467                                       gtk_notebook_get_current_page                                       gtk_notebook_get_current_page
1468                                       (GTK_NOTEBOOK (mainnotebook)));                                       (GTK_NOTEBOOK (mainnotebook)));
1469          savelog (logwindow, logfile, type, lowqso, highqso);    if (lowqso > highqso || highqso > logwindow->qsos)
1470          temp = g_strdup_printf (_("Log saved to %s"), logfile);          update_statusbar
1471          update_statusbar (temp);        (_("Cannot save log: invalid entry for first and/or last QSO"));
1472      else
1473      {
1474              savelog (logwindow, logfile, type, lowqso, highqso);
1475              temp = g_strdup_printf (_("Log saved to %s"), logfile);
1476              update_statusbar (temp);
1477      }
1478          gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (button)));          gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (button)));
1479          gtk_widget_set_sensitive (mainwindow, 1);          gtk_widget_set_sensitive (mainwindow, 1);
1480  }  }

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26