summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--divelist.c64
-rw-r--r--divelist.h3
-rw-r--r--helpers.h3
-rw-r--r--qt-gui.cpp40
-rw-r--r--qt-ui/models.cpp7
5 files changed, 45 insertions, 72 deletions
diff --git a/divelist.c b/divelist.c
index 6df961808..858d61533 100644
--- a/divelist.c
+++ b/divelist.c
@@ -460,70 +460,6 @@ void update_cylinder_related_info(struct dive *dive)
}
}
-#define MAX_DATE_STRING 256
-/* caller needs to free the string */
-char *get_dive_date_string(timestamp_t when)
-{
- char *buffer = malloc(MAX_DATE_STRING);
- if (buffer) {
- struct tm tm;
- utc_mkdate(when, &tm);
- snprintf(buffer, MAX_DATE_STRING,
- /*++GETTEXT 60 char buffer weekday, monthname, day of month, year, hour:min */
- translate("gettextFromC","%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;
-}
-
-char *get_short_dive_date_string(timestamp_t when)
-{
- char *buffer = malloc(MAX_DATE_STRING);
- if (buffer) {
- struct tm tm;
- utc_mkdate(when, &tm);
- snprintf(buffer, MAX_DATE_STRING,
- /*++GETTEXT 40 char buffer monthname, day of month, year, hour:min */
- translate("gettextFromC","%1$s %2$d, %3$d\n%4$02d:%5$02d"),
- 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(timestamp_t when, int nr)
-{
- char *buffer = malloc(MAX_DATE_STRING);
- if (buffer) {
- struct tm tm;
- utc_mkdate(when, &tm);
- if (nr != 1) {
- snprintf(buffer, MAX_DATE_STRING,
-#if PLURAL_HANDLING_IN_TRANLATION
- /*++GETTEXT 60 char buffer monthname, year, nr dives */
- ngettext("%1$s %2$d (%3$d dive)",
- "%1$s %2$d (%3$d dives)", nr),
-#else
- translate("gettextFromC","%1$s %2$d (%3$d dives)"),
-#endif
- monthname(tm.tm_mon),
- tm.tm_year + 1900,
- nr);
- } else {
- snprintf(buffer, MAX_DATE_STRING,
- translate("gettextFromC","%1$s %2$d (1 dive)"),
- monthname(tm.tm_mon),
- tm.tm_year + 1900);
- }
- }
- return buffer;
-}
-
#define MAX_NITROX_STRING 80
#define UTF8_ELLIPSIS "\xE2\x80\xA6"
diff --git a/divelist.h b/divelist.h
index 83a48fb60..627cb575c 100644
--- a/divelist.h
+++ b/divelist.h
@@ -15,9 +15,6 @@ extern double init_decompression(struct dive * dive);
/* divelist core logic functions */
extern void process_dives(bool imported, bool prefer_imported);
-extern char *get_dive_date_string(timestamp_t when);
-extern char *get_short_dive_date_string(timestamp_t when);
-extern char *get_trip_date_string(timestamp_t when, int nr);
extern char *get_nitrox_string(struct dive *dive);
extern dive_trip_t *find_trip_by_idx(int idx);
diff --git a/helpers.h b/helpers.h
index c9e70532d..fb0bbd78b 100644
--- a/helpers.h
+++ b/helpers.h
@@ -29,6 +29,9 @@ QString getSubsurfaceDataPath(QString folderToFind);
extern const QString get_dc_nickname(const char *model, uint32_t deviceid);
int gettimezoneoffset();
int parseTemperatureToMkelvin(const QString& text);
+QString get_dive_date_string(timestamp_t when);
+QString get_short_dive_date_string(timestamp_t when);
+QString get_trip_date_string(timestamp_t when, int nr);
extern DiveComputerList dcList;
diff --git a/qt-gui.cpp b/qt-gui.cpp
index 0fd162d3d..a943bff76 100644
--- a/qt-gui.cpp
+++ b/qt-gui.cpp
@@ -453,3 +453,43 @@ int parseTemperatureToMkelvin(const QString& text)
return mkelvin;
}
+
+QString get_dive_date_string(timestamp_t when)
+{
+ struct tm tm;
+ utc_mkdate(when, &tm);
+ return translate("gettextFromC", "%1, %2 %3, %4 %5:%6")
+ .arg(weekday(tm.tm_wday))
+ .arg(monthname(tm.tm_mon))
+ .arg(tm.tm_mday)
+ .arg(tm.tm_year + 1900)
+ .arg(tm.tm_hour, 2, 10, QChar('0'))
+ .arg(tm.tm_min, 2, 10, QChar('0'));
+}
+
+QString get_short_dive_date_string(timestamp_t when)
+{
+ struct tm tm;
+ utc_mkdate(when, &tm);
+ return translate("gettextFromC", "%1 %2, %3\n%4:%5")
+ .arg(monthname(tm.tm_mon))
+ .arg(tm.tm_mday)
+ .arg(tm.tm_year + 1900)
+ .arg(tm.tm_hour, 2, 10, QChar('0'))
+ .arg(tm.tm_min, 2, 10, QChar('0'));
+}
+
+QString get_trip_date_string(timestamp_t when, int nr)
+{
+ struct tm tm;
+ utc_mkdate(when, &tm);
+ if (nr != 1)
+ return translate("gettextFromC", "%1 %2 (%3 dives)")
+ .arg(monthname(tm.tm_mon))
+ .arg(tm.tm_year + 1900)
+ .arg(nr);
+ else
+ return translate("gettextFromC", "%1 %2 (1 dive)")
+ .arg(monthname(tm.tm_mon))
+ .arg(tm.tm_year + 1900);
+}
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
index 8fedf6a35..a89557570 100644
--- a/qt-ui/models.cpp
+++ b/qt-ui/models.cpp
@@ -873,7 +873,7 @@ QVariant TripItem::data(int column, int role) const
if (role == Qt::DisplayRole) {
switch (column) {
case DiveTripModel::NR:
- ret = QString(trip->location) + ", " + QString(get_trip_date_string(trip->when, trip->nrdives));
+ ret = QString(trip->location) + ", " + get_trip_date_string(trip->when, trip->nrdives);
break;
}
}
@@ -953,10 +953,7 @@ QVariant DiveItem::data(int column, int role) const
QString DiveItem::displayDate() const
{
- char *buf = get_dive_date_string(dive->when);
- QString date(buf);
- free(buf);
- return date;
+ return get_dive_date_string(dive->when);
}
QString DiveItem::displayDepth() const