mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-08 01:46:16 +00:00
Move creation of dive and dive trip date string into helper functions
This allows this code to easily be shared by Gtk and Qt UI. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
d25de98b7c
commit
e4a31e1e41
3 changed files with 36 additions and 16 deletions
|
@ -261,31 +261,19 @@ static void date_data_func(GtkTreeViewColumn *col,
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
timestamp_t when;
|
timestamp_t when;
|
||||||
/* this should be enought for most languages. if not increase the value. */
|
/* this should be enought for most languages. if not increase the value. */
|
||||||
char buffer[256];
|
char *buffer;
|
||||||
|
|
||||||
gtk_tree_model_get(model, iter, DIVE_INDEX, &idx, DIVE_DATE, &when, -1);
|
gtk_tree_model_get(model, iter, DIVE_INDEX, &idx, DIVE_DATE, &when, -1);
|
||||||
nr = gtk_tree_model_iter_n_children(model, iter);
|
nr = gtk_tree_model_iter_n_children(model, iter);
|
||||||
|
|
||||||
utc_mkdate(when, &tm);
|
utc_mkdate(when, &tm);
|
||||||
if (idx < 0) {
|
if (idx < 0) {
|
||||||
snprintf(buffer, sizeof(buffer),
|
buffer = get_trip_date_string(&tm, nr);
|
||||||
/*++GETTEXT 60 char buffer weekday, monthname, day of month, year, nr dives */
|
|
||||||
ngettext("Trip %1$s, %2$s %3$d, %4$d (%5$d dive)",
|
|
||||||
"Trip %1$s, %2$s %3$d, %4$d (%5$d dives)", nr),
|
|
||||||
weekday(tm.tm_wday),
|
|
||||||
monthname(tm.tm_mon),
|
|
||||||
tm.tm_mday, tm.tm_year + 1900,
|
|
||||||
nr);
|
|
||||||
} else {
|
} else {
|
||||||
snprintf(buffer, sizeof(buffer),
|
buffer = get_dive_date_string(&tm);
|
||||||
/*++GETTEXT 60 char buffer weekday, monthname, day of month, year, hour:min */
|
|
||||||
_("%1$s, %2$s %3$d, %4$d %5$02d:%6$02d"),
|
|
||||||
weekday(tm.tm_wday),
|
|
||||||
monthname(tm.tm_mon),
|
|
||||||
tm.tm_mday, tm.tm_year + 1900,
|
|
||||||
tm.tm_hour, tm.tm_min);
|
|
||||||
}
|
}
|
||||||
g_object_set(renderer, "text", buffer, NULL);
|
g_object_set(renderer, "text", buffer, NULL);
|
||||||
|
free(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void depth_data_func(GtkTreeViewColumn *col,
|
static void depth_data_func(GtkTreeViewColumn *col,
|
||||||
|
|
30
divelist.c
30
divelist.c
|
@ -559,6 +559,36 @@ void get_suit(struct dive *dive, char **str)
|
||||||
get_string(str, dive->suit);
|
get_string(str, dive->suit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define MAX_DATE_STRING 256
|
||||||
|
/* caller needs to free the string */
|
||||||
|
char *get_dive_date_string(struct tm *tm) {
|
||||||
|
char *buffer = malloc(MAX_DATE_STRING);
|
||||||
|
if (buffer)
|
||||||
|
snprintf(buffer, MAX_DATE_STRING,
|
||||||
|
/*++GETTEXT 60 char buffer weekday, monthname, day of month, year, hour:min */
|
||||||
|
_("%1$s, %2$s %3$d, %4$d %5$02d:%6$02d"),
|
||||||
|
weekday(tm->tm_wday),
|
||||||
|
monthname(tm->tm_mon),
|
||||||
|
tm->tm_mday, tm->tm_year + 1900,
|
||||||
|
tm->tm_hour, tm->tm_min);
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* caller needs to free the string */
|
||||||
|
char *get_trip_date_string(struct tm *tm, int nr) {
|
||||||
|
char *buffer = malloc(MAX_DATE_STRING);
|
||||||
|
if (buffer)
|
||||||
|
snprintf(buffer, MAX_DATE_STRING,
|
||||||
|
/*++GETTEXT 60 char buffer weekday, monthname, day of month, year, nr dives */
|
||||||
|
ngettext("Trip %1$s, %2$s %3$d, %4$d (%5$d dive)",
|
||||||
|
"Trip %1$s, %2$s %3$d, %4$d (%5$d dives)", nr),
|
||||||
|
weekday(tm->tm_wday),
|
||||||
|
monthname(tm->tm_mon),
|
||||||
|
tm->tm_mday, tm->tm_year + 1900,
|
||||||
|
nr);
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* helper functions for dive_trip handling
|
* helper functions for dive_trip handling
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -22,6 +22,8 @@ extern void upload_all_dives_divelogs_cb();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* divelist core logic functions */
|
/* divelist core logic functions */
|
||||||
|
extern char *get_dive_date_string(struct tm *tm);
|
||||||
|
extern char *get_trip_date_string(struct tm *tm, int nr);
|
||||||
extern void clear_trip_indexes(void);
|
extern void clear_trip_indexes(void);
|
||||||
extern dive_trip_t *find_trip_by_idx(int idx);
|
extern dive_trip_t *find_trip_by_idx(int idx);
|
||||||
extern int dive_nr_sort(int idx_a, int idx_b, timestamp_t when_a, timestamp_t when_b);
|
extern int dive_nr_sort(int idx_a, int idx_b, timestamp_t when_a, timestamp_t when_b);
|
||||||
|
|
Loading…
Add table
Reference in a new issue