#include <stdlib.h>
#include <time.h>
-#include <gconf/gconf-client.h>
-
#include "dive.h"
#include "divelist.h"
-GConfClient *gconf;
struct units output_units;
-#define GCONF_NAME(x) "/apps/subsurface/" #x
-
/* random helper functions, used here or elsewhere */
static int sortfn(const void *_a, const void *_b)
{
}
}
+/*
+ * track whether we switched to importing dives
+ */
+static gboolean imported = FALSE;
+
/*
* This doesn't really report anything at all. We just sort the
* dives, the GUI does the reporting
*/
-void report_dives(gboolean imported)
+void report_dives(gboolean is_imported)
{
int i;
int preexisting = dive_table.preexisting;
i--;
}
- if (imported) {
+ if (is_imported) {
/* Was the previous dive table state numbered? */
if (last && last->number)
try_to_renumber(last, preexisting);
if (strcmp(arg,"--import") == 0) {
/* mark the dives so far as the base,
* everything after is imported */
- report_dives(TRUE);
+ report_dives(FALSE);
+ imported = TRUE;
return;
}
/* fallthrough */
+ case 'p':
+ /* ignore process serial number argument when run as native macosx app */
+ if (strncmp(arg, "-psn_", 5) == 0) {
+ return;
+ }
+ /* fallthrough */
default:
fprintf(stderr, "Bad argument '%s'\n", arg);
exit(1);
struct dive *old_dive = buffered_dive;
if (old_dive) {
- flush_dive_info_changes(old_dive);
- flush_dive_equipment_changes(old_dive);
flush_divelist(old_dive);
}
if (new_dive) {
show_dive_info(new_dive);
show_dive_equipment(new_dive);
+ show_dive_stats(new_dive);
}
buffered_dive = new_dive;
}
for (i = 0; i < dive_table.nr; i++) {
struct dive *dive = dive_table.dives[i];
dive->number = nr + i;
+ flush_divelist(dive);
}
mark_divelist_changed(TRUE);
}
parse_xml_init();
- init_ui(argc, argv);
+ init_ui(&argc, &argv);
for (i = 1; i < argc; i++) {
const char *a = argv[i];
continue;
}
GError *error = NULL;
- parse_xml_file(a, &error);
+ parse_file(a, &error);
if (error != NULL)
{
}
}
- report_dives(FALSE);
+ report_dives(imported);
run_ui();
+ exit_ui();
return 0;
}