mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
formatting: move get_trip_title to string-format.h and split it
To enable grouping by trip in the statistics module, split the get_trip_title() function in a version that appends a "(n dive(s)" string an one that doesn't. The statistics module doesn't want that added string, since it displays the number of dives in a different way. Also, move the functions to string-format.h, where these are collected. And rename them to camelCase. Yes, it's ugly, but consistent with most other C++ code in the code base. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
5d1f12438b
commit
d1b8f1ca3d
6 changed files with 35 additions and 25 deletions
|
@ -1,6 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "qthelper.h"
|
||||
#include "dive.h"
|
||||
#include "divelist.h"
|
||||
#include "core/settings/qPrefLanguage.h"
|
||||
#include "core/settings/qPrefUpdateManager.h"
|
||||
#include "core/subsurface-qt/divelistnotifier.h"
|
||||
|
@ -18,7 +19,6 @@
|
|||
#include "picture.h"
|
||||
#include "selection.h"
|
||||
#include "tag.h"
|
||||
#include "trip.h"
|
||||
#include "imagedownloader.h"
|
||||
#include "xmlparams.h"
|
||||
#include "core/git-access.h" // for CLOUD_HOST definitions
|
||||
|
@ -1040,25 +1040,6 @@ extern "C" char *get_current_date()
|
|||
return copy_qstring(current_date);
|
||||
}
|
||||
|
||||
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 prefix + loc.toString(localTime, prefs.date_format) + suffix;
|
||||
else
|
||||
return prefix + loc.toString(localTime, "MMM yyyy") + suffix;
|
||||
}
|
||||
|
||||
static QMutex hashOfMutex;
|
||||
static QHash<QString, QString> localFilenameOf;
|
||||
|
||||
|
|
|
@ -88,7 +88,6 @@ 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_string(const dive_trip *trip);
|
||||
QString getUiLanguage();
|
||||
void initUiLanguage();
|
||||
QLocale getLocale();
|
||||
|
|
|
@ -3,10 +3,13 @@
|
|||
#include "divesite.h"
|
||||
#include "qthelper.h"
|
||||
#include "subsurface-string.h"
|
||||
#include "trip.h"
|
||||
#include <QDateTime>
|
||||
#include <QLocale>
|
||||
#include <QTextDocument>
|
||||
|
||||
enum returnPressureSelector { START_PRESSURE, END_PRESSURE };
|
||||
static QLocale loc;
|
||||
|
||||
static QString getPressures(const struct dive *dive, int i, enum returnPressureSelector ret)
|
||||
{
|
||||
|
@ -273,3 +276,27 @@ QString formatDayOfWeek(int day)
|
|||
case 6: return gettextFromC::tr("Saturday");
|
||||
}
|
||||
}
|
||||
|
||||
QString formatTripTitle(const dive_trip *trip)
|
||||
{
|
||||
if (!trip)
|
||||
return QString();
|
||||
|
||||
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();
|
||||
if (getday)
|
||||
return prefix + loc.toString(localTime, prefs.date_format);
|
||||
else
|
||||
return prefix + loc.toString(localTime, "MMM yyyy");
|
||||
}
|
||||
|
||||
QString formatTripTitleWithDives(const dive_trip *trip)
|
||||
{
|
||||
int nr = trip->dives.nr;
|
||||
return formatTripTitle(trip) + " " +
|
||||
gettextFromC::tr("(%n dive(s))", "", nr);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include <QStringList>
|
||||
|
||||
struct dive;
|
||||
struct dive_trip;
|
||||
|
||||
QString formatSac(const dive *d);
|
||||
QString formatNotes(const dive *d);
|
||||
|
@ -26,5 +27,7 @@ QString formatDiveDate(const dive *d);
|
|||
QString formatDiveTime(const dive *d);
|
||||
QString formatDiveDateTime(const dive *d);
|
||||
QString formatDayOfWeek(int day);
|
||||
QString formatTripTitle(const dive_trip *trip);
|
||||
QString formatTripTitleWithDives(const dive_trip *trip);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "tripselectiondialog.h"
|
||||
#include "core/string-format.h"
|
||||
#include "core/trip.h"
|
||||
#include "core/qthelper.h"
|
||||
#include <QShortcut>
|
||||
#include <QPushButton>
|
||||
|
||||
|
@ -19,7 +19,7 @@ TripSelectionDialog::TripSelectionDialog(QWidget *parent) : QDialog(parent)
|
|||
QStringList list;
|
||||
list.reserve(trip_table.nr);
|
||||
for (int i = 0; i < trip_table.nr; ++i)
|
||||
list.push_back(get_trip_string(trip_table.trips[i]));
|
||||
list.push_back(formatTripTitleWithDives(trip_table.trips[i]));
|
||||
ui.trips->addItems(list);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
#include "core/divefilter.h"
|
||||
#ifdef SUBSURFACE_MOBILE
|
||||
#include "qt-models/mobilelistmodel.h"
|
||||
#include "core/string-format.h"
|
||||
#endif
|
||||
#include "core/gettextfromc.h"
|
||||
#include "core/metrics.h"
|
||||
#include "core/selection.h"
|
||||
#include "core/string-format.h"
|
||||
#include "core/trip.h"
|
||||
#include "core/qthelper.h"
|
||||
#include "core/divesite.h"
|
||||
|
@ -123,7 +123,7 @@ QVariant DiveTripModelBase::tripData(const dive_trip *trip, int column, int role
|
|||
int countShown = trip_shown_dives(trip);
|
||||
if (countShown < trip->dives.nr)
|
||||
shownText = tr("(%1 shown)").arg(countShown);
|
||||
return get_trip_string(trip) + " " + shownText;
|
||||
return formatTripTitleWithDives(trip) + " " + shownText;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue