]> git.tdb.fi Git - ext/subsurface.git/blobdiff - dive.h
Avoid changing selection status when collapsing/expanding groups
[ext/subsurface.git] / dive.h
diff --git a/dive.h b/dive.h
index faed89ac9a8eb5ee631a4e993fcf8b4021cde1f2..cc27ab861d8622d3482799a45b773c53a791ef48 100644 (file)
--- a/dive.h
+++ b/dive.h
@@ -92,8 +92,11 @@ typedef struct {
        const char *description;        /* "integrated", "belt", "ankle" */
 } weightsystem_t;
 
-extern int cylinder_none(void *_data);
-extern int weightsystem_none(void *_data);
+extern gboolean cylinder_none(void *_data);
+extern gboolean no_cylinders(cylinder_t *cyl);
+extern gboolean cylinders_equal(cylinder_t *cyl1, cylinder_t *cyl2);
+extern gboolean no_weightsystems(weightsystem_t *ws);
+extern gboolean weightsystems_equal(weightsystem_t *ws1, weightsystem_t *ws2);
 
 extern int get_pressure_units(unsigned int mb, const char **units);
 extern double get_depth_units(unsigned int mm, int *frac, const char **units);
@@ -228,9 +231,12 @@ struct event {
 
 #define MAX_CYLINDERS (8)
 #define MAX_WEIGHTSYSTEMS (4)
+#define W_IDX_PRIMARY 0
+#define W_IDX_SECONDARY 1
 
 struct dive {
        int number;
+       int selected;
        time_t when;
        char *location;
        char *notes;
@@ -284,7 +290,7 @@ extern int selected_dive;
 
 static inline struct dive *get_dive(unsigned int nr)
 {
-       if (nr >= dive_table.nr)
+       if (nr >= dive_table.nr || nr < 0)
                return NULL;
        return dive_table.dives[nr];
 }
@@ -301,7 +307,7 @@ extern xmlDoc *test_xslt_transforms(xmlDoc *doc);
 
 extern void show_dive_info(struct dive *);
 
-extern void show_dive_equipment(struct dive *);
+extern void show_dive_equipment(struct dive *, int w_idx);
 
 extern void show_dive_stats(struct dive *);
 
@@ -349,6 +355,7 @@ extern void evn_foreach(void (*callback)(const char *, int *, void *), void *dat
 
 extern int add_new_dive(struct dive *dive);
 extern int edit_dive_info(struct dive *dive);
+extern int edit_multi_dive_info(int idx);
 extern void dive_list_update_dives(void);
 extern void flush_divelist(struct dive *dive);