mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Create date and time formats preferences
Now we can actually change them in preferences instead of just deriving them from the language set. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
222ce62bce
commit
f85883c707
6 changed files with 23 additions and 14 deletions
|
@ -104,7 +104,7 @@ void DiveHandler::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
|||
DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
ui.dateEdit->setDisplayFormat(getDateFormat());
|
||||
ui.dateEdit->setDisplayFormat(prefs.date_format);
|
||||
ui.tableWidget->setTitle(tr("Dive planner points"));
|
||||
ui.tableWidget->setModel(plannerModel);
|
||||
plannerModel->setRecalc(true);
|
||||
|
|
|
@ -43,7 +43,7 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
|
|||
currentTrip(0)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
ui.dateEdit->setDisplayFormat(getDateFormat());
|
||||
ui.dateEdit->setDisplayFormat(prefs.date_format);
|
||||
|
||||
memset(&displayed_dive, 0, sizeof(displayed_dive));
|
||||
memset(&displayedTrip, 0, sizeof(displayedTrip));
|
||||
|
|
|
@ -40,7 +40,6 @@ 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);
|
||||
QLocale getLocale();
|
||||
QString getDateFormat();
|
||||
void selectedDivesGasUsed(QVector<QPair<QString, int> > &gasUsed);
|
||||
QString getUserAgent();
|
||||
|
||||
|
|
|
@ -44,6 +44,11 @@ struct preferences {
|
|||
const char *default_cylinder;
|
||||
const char *cloud_base_url;
|
||||
const char *cloud_git_url;
|
||||
const char *time_format;
|
||||
const char *date_format;
|
||||
const char *date_format_short;
|
||||
bool time_format_override;
|
||||
bool date_format_override;
|
||||
double font_size;
|
||||
partial_pressure_graphs_t pp_graphs;
|
||||
short mod;
|
||||
|
|
|
@ -33,9 +33,6 @@
|
|||
#include <libxslt/documents.h>
|
||||
|
||||
const char *existing_filename;
|
||||
static QString shortDateFormat;
|
||||
static QString dateFormat;
|
||||
static QString timeFormat;
|
||||
static QLocale loc;
|
||||
|
||||
#define translate(_context, arg) trGettext(arg)
|
||||
|
@ -168,8 +165,8 @@ void Dive::put_date_time()
|
|||
{
|
||||
QDateTime localTime = QDateTime::fromTime_t(dive->when - gettimezoneoffset(displayed_dive.when));
|
||||
localTime.setTimeSpec(Qt::UTC);
|
||||
m_date = localTime.date().toString(dateFormat);
|
||||
m_time = localTime.time().toString(timeFormat);
|
||||
m_date = localTime.date().toString(prefs.date_format);
|
||||
m_time = localTime.time().toString(prefs.time_format);
|
||||
}
|
||||
|
||||
void Dive::put_timestamp()
|
||||
|
@ -721,6 +718,9 @@ QString getUserAgent()
|
|||
|
||||
QString uiLanguage(QLocale *callerLoc)
|
||||
{
|
||||
QString shortDateFormat;
|
||||
QString dateFormat;
|
||||
QString timeFormat;
|
||||
QSettings s;
|
||||
s.beginGroup("Language");
|
||||
|
||||
|
@ -754,6 +754,12 @@ QString uiLanguage(QLocale *callerLoc)
|
|||
timeFormat = loc.timeFormat();
|
||||
timeFormat.replace("(t)", "").replace(" t", "").replace("t", "").replace("hh", "h").replace("HH", "H").replace("'kl'.", "");
|
||||
timeFormat.replace(".ss", "").replace(":ss", "").replace("ss", "");
|
||||
free((void*)prefs.time_format);
|
||||
prefs.time_format = strdup(qPrintable(timeFormat));
|
||||
free((void*)prefs.date_format);
|
||||
prefs.date_format = strdup(qPrintable(dateFormat));
|
||||
free((void*)prefs.date_format_short);
|
||||
prefs.date_format_short = strdup(qPrintable(shortDateFormat));
|
||||
return uiLang;
|
||||
}
|
||||
|
||||
|
@ -762,10 +768,6 @@ QLocale getLocale()
|
|||
return loc;
|
||||
}
|
||||
|
||||
QString getDateFormat()
|
||||
{
|
||||
return dateFormat;
|
||||
}
|
||||
void set_filename(const char *filename, bool force)
|
||||
{
|
||||
if (!force && existing_filename)
|
||||
|
@ -1034,14 +1036,14 @@ QString get_dive_date_string(timestamp_t when)
|
|||
{
|
||||
QDateTime ts;
|
||||
ts.setMSecsSinceEpoch(when * 1000L);
|
||||
return loc.toString(ts.toUTC(), dateFormat + " " + timeFormat);
|
||||
return loc.toString(ts.toUTC(), QString(prefs.date_format) + " " + prefs.time_format);
|
||||
}
|
||||
|
||||
QString get_short_dive_date_string(timestamp_t when)
|
||||
{
|
||||
QDateTime ts;
|
||||
ts.setMSecsSinceEpoch(when * 1000L);
|
||||
return loc.toString(ts.toUTC(), shortDateFormat + " " + timeFormat);
|
||||
return loc.toString(ts.toUTC(), QString(prefs.date_format_short) + " " + prefs.time_format);
|
||||
}
|
||||
|
||||
const char *get_dive_date_c_string(timestamp_t when)
|
||||
|
|
|
@ -291,6 +291,9 @@ void copy_prefs(struct preferences *src, struct preferences *dest)
|
|||
dest->proxy_host = copy_string(src->proxy_host);
|
||||
dest->proxy_user = copy_string(src->proxy_user);
|
||||
dest->proxy_pass = copy_string(src->proxy_pass);
|
||||
dest->time_format = copy_string(src->time_format);
|
||||
dest->date_format = copy_string(src->date_format);
|
||||
dest->date_format_short = copy_string(src->date_format_short);
|
||||
dest->cloud_storage_password = copy_string(src->cloud_storage_password);
|
||||
dest->cloud_storage_newpassword = copy_string(src->cloud_storage_newpassword);
|
||||
dest->cloud_storage_email = copy_string(src->cloud_storage_email);
|
||||
|
|
Loading…
Reference in a new issue