diff --git a/core/qthelper.cpp b/core/qthelper.cpp index f8c06d755..25c5fd7ce 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -1018,15 +1018,23 @@ extern "C" char *get_current_date() return copy_qstring(current_date); } -QString get_trip_date_string(timestamp_t when, int nr, bool getday) +QString get_trip_string(const dive_trip *trip) { + if (!trip) + return QString(); + + int nr = trip->dives.nr; + timestamp_t when = trip_date(trip); + bool getday = trip_is_single_day(trip); + QDateTime localTime = timestampToDateTime(when); + QString prefix = !empty_string(trip->location) ? QString(trip->location) + ", " : QString(); QString suffix = " " + gettextFromC::tr("(%n dive(s))", "", nr); if (getday) - return loc.toString(localTime, prefs.date_format) + suffix; + return prefix + loc.toString(localTime, prefs.date_format) + suffix; else - return loc.toString(localTime, "MMM yyyy") + suffix; + return prefix + loc.toString(localTime, "MMM yyyy") + suffix; } static QMutex hashOfMutex; diff --git a/core/qthelper.h b/core/qthelper.h index b703a38b4..9ea51f312 100644 --- a/core/qthelper.h +++ b/core/qthelper.h @@ -8,6 +8,7 @@ #include "subsurface-time.h" struct picture; +struct dive_trip; // 1) Types @@ -79,7 +80,7 @@ QString get_dive_date_string(timestamp_t when); QString get_first_dive_date_string(); QString get_last_dive_date_string(); QString get_short_dive_date_string(timestamp_t when); -QString get_trip_date_string(timestamp_t when, int nr, bool getday); +QString get_trip_string(const dive_trip *trip); QString getUiLanguage(); void initUiLanguage(); QLocale getLocale(); diff --git a/qt-models/divetripmodel.cpp b/qt-models/divetripmodel.cpp index 789fb3b55..539cf98ff 100644 --- a/qt-models/divetripmodel.cpp +++ b/qt-models/divetripmodel.cpp @@ -119,14 +119,10 @@ QVariant DiveTripModelBase::tripData(const dive_trip *trip, int column, int role switch (column) { case DiveTripModelBase::NR: QString shownText; - bool oneDayTrip = trip_is_single_day(trip); int countShown = trip_shown_dives(trip); if (countShown < trip->dives.nr) shownText = tr("(%1 shown)").arg(countShown); - if (!empty_string(trip->location)) - return QString(trip->location) + ", " + get_trip_date_string(trip_date(trip), trip->dives.nr, oneDayTrip) + " "+ shownText; - else - return get_trip_date_string(trip_date(trip), trip->dives.nr, oneDayTrip) + shownText; + return get_trip_string(trip) + " " + shownText; } }