summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Joseph W. Joshua <joejoshw@gmail.com>2014-06-10 18:37:37 +0300
committerGravatar Thiago Macieira <thiago@macieira.org>2014-08-13 10:48:14 -0700
commit3534e29ae2165aab491c2e0cdecd667dd8cf50e8 (patch)
treee2e1a6b99fef7d3be59f3a7ce3cfaed5ffcf4dfd /qt-ui
parent20eb62a98a70c1773ff99ece05f1c69e6ca8ce15 (diff)
downloadsubsurface-3534e29ae2165aab491c2e0cdecd667dd8cf50e8.tar.gz
Port writing of date and time to new classes
After splitting dive computer configuration classes, the date/time setting had not been ported. This adds the same to the classes. Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com> Signed-off-by: Thiago Macieira <thiago@macieira.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/configuredivecomputerdialog.cpp1
-rw-r--r--qt-ui/configuredivecomputerdialog.ui95
-rw-r--r--qt-ui/configuredivecomputerthreads.cpp15
-rw-r--r--qt-ui/devicedetails.cpp10
-rw-r--r--qt-ui/devicedetails.h4
5 files changed, 81 insertions, 44 deletions
diff --git a/qt-ui/configuredivecomputerdialog.cpp b/qt-ui/configuredivecomputerdialog.cpp
index ea5e764dc..973243af7 100644
--- a/qt-ui/configuredivecomputerdialog.cpp
+++ b/qt-ui/configuredivecomputerdialog.cpp
@@ -204,6 +204,7 @@ void ConfigureDiveComputerDialog::on_saveSettingsPushButton_clicked()
deviceDetails->setLanguage(ui->languageComboBox->currentIndex());
deviceDetails->setDateFormat(ui->dateFormatComboBox->currentIndex());
deviceDetails->setCustomText(ui->customTextLlineEdit->text());
+ deviceDetails->setSyncTime(ui->dateTimeSyncCheckBox->isChecked());
getDeviceData();
config->saveDeviceDetails(deviceDetails, &device_data);
}
diff --git a/qt-ui/configuredivecomputerdialog.ui b/qt-ui/configuredivecomputerdialog.ui
index 4f1c7a8af..580f86159 100644
--- a/qt-ui/configuredivecomputerdialog.ui
+++ b/qt-ui/configuredivecomputerdialog.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>343</width>
- <height>390</height>
+ <width>364</width>
+ <height>416</height>
</rect>
</property>
<property name="windowTitle">
@@ -93,6 +93,41 @@
</item>
<item>
<layout class="QGridLayout" name="gridLayout_2">
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Brightness:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Serial No.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Custom Text:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="serialNoLineEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Language:</string>
+ </property>
+ </widget>
+ </item>
<item row="2" column="1">
<widget class="QLineEdit" name="customTextLlineEdit"/>
</item>
@@ -146,48 +181,6 @@
</item>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Brightness:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="serialNoLineEdit">
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Custom Text:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Serial No.</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Language:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="firmwareVersionLineEdit">
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
<item row="5" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
@@ -214,6 +207,20 @@
</item>
</widget>
</item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="firmwareVersionLineEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QCheckBox" name="dateTimeSyncCheckBox">
+ <property name="text">
+ <string>Sync dive computer time with PC</string>
+ </property>
+ </widget>
+ </item>
</layout>
</item>
<item>
diff --git a/qt-ui/configuredivecomputerthreads.cpp b/qt-ui/configuredivecomputerthreads.cpp
index 5d9f0e8b0..bddced474 100644
--- a/qt-ui/configuredivecomputerthreads.cpp
+++ b/qt-ui/configuredivecomputerthreads.cpp
@@ -1,6 +1,7 @@
#include "configuredivecomputerthreads.h"
#include "libdivecomputer/hw.h"
#include <QDebug>
+#include <QDateTime>
ReadSettingsThread::ReadSettingsThread(QObject *parent, device_data_t *data)
: QThread(parent), m_data(data)
@@ -95,6 +96,20 @@ void WriteSettingsThread::run()
hw_ostc3_device_config_write(m_data->device, 0x32, data, sizeof(data));
data[0] = m_deviceDetails->dateFormat();
hw_ostc3_device_config_write(m_data->device, 0x33, data, sizeof(data));
+
+ //sync date and time
+ if (m_deviceDetails->syncTime()) {
+ QDateTime timeToSet = QDateTime::currentDateTime();
+ dc_datetime_t time;
+ time.year = timeToSet.date().year();
+ time.month = timeToSet.date().month();
+ time.day = timeToSet.date().day();
+ time.hour = timeToSet.time().hour();
+ time.minute = timeToSet.time().minute();
+ time.second = timeToSet.time().second();
+ hw_ostc3_device_clock(m_data->device, &time);
+ }
+
break;
}
diff --git a/qt-ui/devicedetails.cpp b/qt-ui/devicedetails.cpp
index e5a90b9da..7d6212f18 100644
--- a/qt-ui/devicedetails.cpp
+++ b/qt-ui/devicedetails.cpp
@@ -86,3 +86,13 @@ void DeviceDetails::setLastDeco(int lastDeco)
{
m_lastDeco = lastDeco;
}
+bool DeviceDetails::syncTime() const
+{
+ return m_syncTime;
+}
+
+void DeviceDetails::setSyncTime(bool syncTime)
+{
+ m_syncTime = syncTime;
+}
+
diff --git a/qt-ui/devicedetails.h b/qt-ui/devicedetails.h
index 9f5e7c1dd..a0d0f18c2 100644
--- a/qt-ui/devicedetails.h
+++ b/qt-ui/devicedetails.h
@@ -38,6 +38,9 @@ public:
int lastDeco() const;
void setLastDeco(int lastDeco);
+ bool syncTime() const;
+ void setSyncTime(bool syncTime);
+
private:
device_data_t *m_data;
QString m_serialNo;
@@ -48,6 +51,7 @@ private:
int m_language;
int m_dateFormat;
int m_lastDeco;
+ bool m_syncTime;
};