mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Display day number in trips longer than 1 day
Signed-off-by: Giorgio Marzano <marzano.giorgio@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
5d1703cf2c
commit
45b1d0d73d
3 changed files with 35 additions and 11 deletions
|
@ -36,7 +36,8 @@ int parseTemperatureToMkelvin(const QString &text);
|
||||||
QString get_dive_duration_string(timestamp_t when, QString hourText, QString minutesText);
|
QString get_dive_duration_string(timestamp_t when, QString hourText, QString minutesText);
|
||||||
QString get_dive_date_string(timestamp_t when);
|
QString get_dive_date_string(timestamp_t when);
|
||||||
QString get_short_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);
|
bool is_same_day (timestamp_t trip_when, timestamp_t dive_when);
|
||||||
|
QString get_trip_date_string(timestamp_t when, int nr, bool getday);
|
||||||
QString uiLanguage(QLocale *callerLoc);
|
QString uiLanguage(QLocale *callerLoc);
|
||||||
QLocale getLocale();
|
QLocale getLocale();
|
||||||
QString getDateFormat();
|
QString getDateFormat();
|
||||||
|
|
|
@ -43,6 +43,7 @@ static QVariant dive_table_alignment(int column)
|
||||||
QVariant TripItem::data(int column, int role) const
|
QVariant TripItem::data(int column, int role) const
|
||||||
{
|
{
|
||||||
QVariant ret;
|
QVariant ret;
|
||||||
|
bool oneDayTrip=true;
|
||||||
|
|
||||||
if (role == DiveTripModel::TRIP_ROLE)
|
if (role == DiveTripModel::TRIP_ROLE)
|
||||||
return QVariant::fromValue<void *>(trip);
|
return QVariant::fromValue<void *>(trip);
|
||||||
|
@ -59,14 +60,15 @@ QVariant TripItem::data(int column, int role) const
|
||||||
while (d) {
|
while (d) {
|
||||||
if (!d->hidden_by_filter)
|
if (!d->hidden_by_filter)
|
||||||
countShown++;
|
countShown++;
|
||||||
|
oneDayTrip &= is_same_day (trip->when, d->when);
|
||||||
d = d->next;
|
d = d->next;
|
||||||
}
|
}
|
||||||
if (countShown < trip->nrdives)
|
if (countShown < trip->nrdives)
|
||||||
shownText = tr("(%1 shown)").arg(countShown);
|
shownText = tr("(%1 shown)").arg(countShown);
|
||||||
if (trip->location && *trip->location)
|
if (trip->location && *trip->location)
|
||||||
ret = QString(trip->location) + ", " + get_trip_date_string(trip->when, trip->nrdives) + " " + shownText;
|
ret = QString(trip->location) + ", " + get_trip_date_string(trip->when, trip->nrdives, oneDayTrip) + " "+ shownText;
|
||||||
else
|
else
|
||||||
ret = get_trip_date_string(trip->when, trip->nrdives) + shownText;
|
ret = get_trip_date_string(trip->when, trip->nrdives, oneDayTrip) + shownText;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
37
qthelper.cpp
37
qthelper.cpp
|
@ -1043,20 +1043,41 @@ const char *get_dive_date_c_string(timestamp_t when)
|
||||||
return strdup(text.toUtf8().data());
|
return strdup(text.toUtf8().data());
|
||||||
}
|
}
|
||||||
|
|
||||||
QString get_trip_date_string(timestamp_t when, int nr)
|
bool is_same_day(timestamp_t trip_when, timestamp_t dive_when)
|
||||||
|
{
|
||||||
|
static timestamp_t twhen = (timestamp_t) 0;
|
||||||
|
static struct tm tmt;
|
||||||
|
struct tm tmd;
|
||||||
|
|
||||||
|
utc_mkdate(dive_when, &tmd);
|
||||||
|
|
||||||
|
if (twhen != trip_when) {
|
||||||
|
twhen = trip_when;
|
||||||
|
utc_mkdate(twhen, &tmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ((tmd.tm_mday == tmt.tm_mday) && (tmd.tm_mon == tmt.tm_mon) && (tmd.tm_year == tmt.tm_year));
|
||||||
|
}
|
||||||
|
|
||||||
|
QString get_trip_date_string(timestamp_t when, int nr, bool getday)
|
||||||
{
|
{
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
utc_mkdate(when, &tm);
|
utc_mkdate(when, &tm);
|
||||||
|
QDateTime localTime = QDateTime::fromTime_t(when);
|
||||||
|
localTime.setTimeSpec(Qt::UTC);
|
||||||
|
QString ret ;
|
||||||
|
|
||||||
if (nr != 1) {
|
if (nr != 1) {
|
||||||
QString ret = translate("gettextFromC", "%1 %2 (%3 dives)");
|
if (getday) {
|
||||||
return ret.arg(monthname(tm.tm_mon))
|
ret = localTime.date().toString(dateFormat).append(" (%1 dives)").arg(nr);
|
||||||
.arg(tm.tm_year + 1900)
|
|
||||||
.arg(nr);
|
|
||||||
} else {
|
} else {
|
||||||
QString ret = translate("gettextFromC", "%1 %2 (1 dive)");
|
ret = localTime.date().toString("MMM yy").append(" (%1 dives)").arg(nr);
|
||||||
return ret.arg(monthname(tm.tm_mon))
|
|
||||||
.arg(tm.tm_year + 1900);
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ret = localTime.date().toString(dateFormat).append(" (1 dive)");
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" void reverseGeoLookup(degrees_t latitude, degrees_t longitude, uint32_t uuid)
|
extern "C" void reverseGeoLookup(degrees_t latitude, degrees_t longitude, uint32_t uuid)
|
||||||
|
|
Loading…
Add table
Reference in a new issue