diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-12-29 11:14:34 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-12-29 11:14:34 -0800 |
commit | cab320201bc76f8ab5ca4cea5a5876ac31e79ee2 (patch) | |
tree | 3633f4f919c70c9282e0660c0dc8c50252c39161 | |
parent | adb5cc5d306f11f8b3749259623ce6aae616f532 (diff) | |
download | subsurface-cab320201bc76f8ab5ca4cea5a5876ac31e79ee2.tar.gz |
Facebook integration: improve the confirmation UI experience
Date and time needs to be a string, not a time_t.
Duration should be called that (and not time) and wasn't hooked up.
Also added a helper to get the duration string.
Finally reordered the components of the text that is shown to make it more
natural (or I should say, more in line with the order we use elsewhere).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | helpers.h | 1 | ||||
-rw-r--r-- | qt-gui.cpp | 16 | ||||
-rw-r--r-- | qt-ui/socialnetworks.cpp | 15 | ||||
-rw-r--r-- | qt-ui/socialnetworksdialog.ui | 6 |
4 files changed, 31 insertions, 7 deletions
@@ -29,6 +29,7 @@ QString getSubsurfaceDataPath(QString folderToFind); extern const QString get_dc_nickname(const char *model, uint32_t deviceid); int gettimezoneoffset(timestamp_t when = 0); int parseTemperatureToMkelvin(const QString &text); +QString get_dive_duration_string(timestamp_t when, QString hourText, QString minutesText); 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); diff --git a/qt-gui.cpp b/qt-gui.cpp index 70aef1817..e007a2563 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -416,6 +416,22 @@ int parseTemperatureToMkelvin(const QString &text) return mkelvin; } +QString get_dive_duration_string(timestamp_t when, QString hourText, QString minutesText) +{ + int hrs, mins; + mins = (when + 59) / 60; + hrs = mins / 60; + mins -= hrs * 60; + + QString displayTime; + if (hrs) + displayTime = QString("%1%2%3%4").arg(hrs).arg(hourText).arg(mins, 2, 10, QChar('0')).arg(minutesText); + else + displayTime = QString("%1%2").arg(mins).arg(minutesText); + + return displayTime; +} + QString get_dive_date_string(timestamp_t when) { QDateTime ts; diff --git a/qt-ui/socialnetworks.cpp b/qt-ui/socialnetworks.cpp index 2be2c8671..04c28df79 100644 --- a/qt-ui/socialnetworks.cpp +++ b/qt-ui/socialnetworks.cpp @@ -18,6 +18,7 @@ #include "mainwindow.h" #include "profile/profilewidget2.h" #include "pref.h" +#include "helpers.h" #include "ui_socialnetworksdialog.h" #define GET_TXT(name, field) \ @@ -259,6 +260,7 @@ SocialNetworkDialog::SocialNetworkDialog(QWidget *parent) : QDialog(parent) { ui->setupUi(this); connect(ui->date, SIGNAL(clicked()), this, SLOT(selectionChanged())); + connect(ui->duration, SIGNAL(clicked()), this, SLOT(selectionChanged())); connect(ui->Buddy, SIGNAL(clicked()), this, SLOT(selectionChanged())); connect(ui->Divemaster, SIGNAL(clicked()), this, SLOT(selectionChanged())); connect(ui->Location, SIGNAL(clicked()), this, SLOT(selectionChanged())); @@ -269,7 +271,15 @@ void SocialNetworkDialog::selectionChanged() { struct dive *d = current_dive; QString fullText; if (ui->date->isChecked()) { - fullText += tr("Dive Date: %1 \n").arg(d->when); + fullText += tr("Dive Date: %1 \n").arg(get_short_dive_date_string(d->when)); + } + if (ui->duration->isChecked()) { + fullText += tr("Duration: %1 \n").arg(get_dive_duration_string(d->duration.seconds, + tr("h:", "abbreviation for hours plus separator"), + tr("min", "abbreviation for minutes"))); + } + if (ui->Location->isChecked()) { + fullText += tr("Dive Location: %1 \n").arg(d->location); } if (ui->Buddy->isChecked()) { fullText += tr("Buddy: %1 \n").arg(d->buddy); @@ -277,9 +287,6 @@ void SocialNetworkDialog::selectionChanged() { if (ui->Divemaster->isChecked()) { fullText += tr("Divemaster: %1 \n").arg(d->divemaster); } - if (ui->Location->isChecked()) { - fullText += tr("Dive Location: %1 \n").arg(d->location); - } if (ui->Notes->isChecked()) { fullText += tr("\n %1").arg(d->notes); } diff --git a/qt-ui/socialnetworksdialog.ui b/qt-ui/socialnetworksdialog.ui index 1b88c1b1a..119b5e27d 100644 --- a/qt-ui/socialnetworksdialog.ui +++ b/qt-ui/socialnetworksdialog.ui @@ -28,9 +28,9 @@ <widget class="QPlainTextEdit" name="text"/> </item> <item row="5" column="0"> - <widget class="QCheckBox" name="time"> + <widget class="QCheckBox" name="duration"> <property name="text"> - <string>Time</string> + <string>Duration</string> </property> </widget> </item> @@ -58,7 +58,7 @@ <item row="4" column="0"> <widget class="QCheckBox" name="date"> <property name="text"> - <string>date</string> + <string>Date and time</string> </property> </widget> </item> |