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" |
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"); |
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); |
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); |
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); |
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 |
} |
} |