This patches fixes a bug with date edition and also re-enables time edition. It's not the widget that I'v envisioned but it's very hard to do that using normal qt widgets as I need to paint on top of others.
From 8e7fd5e258ae3645b39d6b40972f0a51b2a4f58e Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava <[email protected]> Date: Thu, 26 Jun 2014 14:01:31 -0300 Subject: [PATCH 1/5] Headers cleanup.
Too much noise on the headers, this commit remove uneeded headers when they are uneeded. Signed-off-by: Tomaz Canabrava <[email protected]> --- pref.h | 2 ++ qt-ui/about.h | 1 - qt-ui/divelogexportdialog.h | 2 +- qt-ui/divelogimportdialog.h | 2 +- qt-ui/divepicturewidget.cpp | 9 ++------- qt-ui/divepicturewidget.h | 5 ----- qt-ui/diveplanner.h | 3 --- qt-ui/downloadfromdivecomputer.h | 4 +++- qt-ui/globe.h | 5 ++++- qt-ui/maintab.cpp | 1 - qt-ui/maintab.h | 5 +++-- qt-ui/preferences.h | 1 - qt-ui/printlayout.h | 3 ++- qt-ui/printoptions.h | 2 -- qt-ui/simplewidgets.cpp | 10 ---------- qt-ui/subsurfacewebservices.h | 1 - qt-ui/tagwidget.cpp | 1 + qt-ui/tagwidget.h | 3 ++- units.h | 1 + 19 files changed, 22 insertions(+), 39 deletions(-) diff --git a/pref.h b/pref.h index 0764418..fe4278d 100644 --- a/pref.h +++ b/pref.h @@ -5,6 +5,8 @@ extern "C" { #endif +#include "units.h" + /* can't use 'bool' for the boolean values - different size in C and C++ */ typedef struct { diff --git a/qt-ui/about.h b/qt-ui/about.h index 0fa7d67..47423ae 100644 --- a/qt-ui/about.h +++ b/qt-ui/about.h @@ -2,7 +2,6 @@ #define ABOUT_H #include <QDialog> -#include <QPushButton> #include "ui_about.h" class SubsurfaceAbout : public QDialog { diff --git a/qt-ui/divelogexportdialog.h b/qt-ui/divelogexportdialog.h index 390cd39..1177505 100644 --- a/qt-ui/divelogexportdialog.h +++ b/qt-ui/divelogexportdialog.h @@ -2,7 +2,7 @@ #define DIVELOGEXPORTDIALOG_H #include <QDialog> -#include <QAbstractButton> +class QAbstractButton; namespace Ui { class DiveLogExportDialog; diff --git a/qt-ui/divelogimportdialog.h b/qt-ui/divelogimportdialog.h index fb44faa..a3dc0b2 100644 --- a/qt-ui/divelogimportdialog.h +++ b/qt-ui/divelogimportdialog.h @@ -2,7 +2,7 @@ #define DIVELOGIMPORTDIALOG_H #include <QDialog> -#include <QModelIndex> + #include "../dive.h" #include "../divelist.h" diff --git a/qt-ui/divepicturewidget.cpp b/qt-ui/divepicturewidget.cpp index bf76d11..6849146 100644 --- a/qt-ui/divepicturewidget.cpp +++ b/qt-ui/divepicturewidget.cpp @@ -1,12 +1,7 @@ #include "divepicturewidget.h" #include <dive.h> -#include <qtconcurrentmap.h> -#include <qdir.h> - -void DivePictureDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const -{ - QStyledItemDelegate::paint(painter, option, index); -} +#include <QtConcurrentMap> +#include <QDir> DivePictureModel *DivePictureModel::instance() { diff --git a/qt-ui/divepicturewidget.h b/qt-ui/divepicturewidget.h index 92df82c..fde7c5a 100644 --- a/qt-ui/divepicturewidget.h +++ b/qt-ui/divepicturewidget.h @@ -2,7 +2,6 @@ #define DIVEPICTUREWIDGET_H #include <QAbstractTableModel> -#include <QStyledItemDelegate> #include <QListView> #include <QThread> @@ -30,10 +29,6 @@ private: QHash<QString, PhotoHelper> stringPixmapCache; }; -class DivePictureDelegate : QStyledItemDelegate { - virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; -}; - class DivePictureWidget : public QListView { Q_OBJECT public: diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h index 5955a5a..b0c3ef4 100644 --- a/qt-ui/diveplanner.h +++ b/qt-ui/diveplanner.h @@ -1,11 +1,8 @@ #ifndef DIVEPLANNER_H #define DIVEPLANNER_H -#include <QGraphicsView> #include <QGraphicsPathItem> -#include <QDialog> #include <QAbstractTableModel> -#include <QDateTime> #include "dive.h" diff --git a/qt-ui/downloadfromdivecomputer.h b/qt-ui/downloadfromdivecomputer.h index 3de102b..394766c 100644 --- a/qt-ui/downloadfromdivecomputer.h +++ b/qt-ui/downloadfromdivecomputer.h @@ -5,10 +5,12 @@ #include <QThread> #include <QHash> #include <QMap> -#include <QStringListModel> + #include "../libdivecomputer.h" #include "ui_downloadfromdivecomputer.h" +class QStringListModel; + class DownloadThread : public QThread { Q_OBJECT public: diff --git a/qt-ui/globe.h b/qt-ui/globe.h index bb8ace4..8124a4d 100644 --- a/qt-ui/globe.h +++ b/qt-ui/globe.h @@ -4,10 +4,13 @@ #include <marble/MarbleWidget.h> #include <marble/GeoDataCoordinates.h> -#include <marble/GeoDataDocument.h> #include <QHash> +namespace Marble{ + class GeoDataDocument; +} + class KMessageWidget; using namespace Marble; struct dive; diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 46de9e2..c64ef5b 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -11,7 +11,6 @@ #include "divelistview.h" #include "modeldelegates.h" #include "globe.h" -#include "completionmodels.h" #include "diveplanner.h" #include "divelist.h" #include "qthelper.h" diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index b925c55..e296f14 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -11,12 +11,13 @@ #include <QDialog> #include <QMap> -#include "models.h" #include "ui_maintab.h" #include "completionmodels.h" +#include "dive.h" +class WeightModel; +class CylindersModel; class QCompleter; -struct dive; struct Completers { QCompleter *location; diff --git a/qt-ui/preferences.h b/qt-ui/preferences.h index 474064b..15436de 100644 --- a/qt-ui/preferences.h +++ b/qt-ui/preferences.h @@ -2,7 +2,6 @@ #define PREFERENCES_H #include <QDialog> -#include "dive.h" #include "pref.h" #include "ui_preferences.h" diff --git a/qt-ui/printlayout.h b/qt-ui/printlayout.h index e894f3a..8a90790 100644 --- a/qt-ui/printlayout.h +++ b/qt-ui/printlayout.h @@ -2,10 +2,11 @@ #define PRINTLAYOUT_H #include <QObject> -#include <QPrinter> #include <QList> #include <QVector> +#include <QRect> +class QPrinter; class QTableView; class PrintDialog; class TablePrintModel; diff --git a/qt-ui/printoptions.h b/qt-ui/printoptions.h index 72c089e..9fc55ed 100644 --- a/qt-ui/printoptions.h +++ b/qt-ui/printoptions.h @@ -2,8 +2,6 @@ #define PRINTOPTIONS_H #include <QWidget> -#include <QSlider> -#include <QLabel> #include "ui_printoptions.h" diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp index 89b074c..3a91813 100644 --- a/qt-ui/simplewidgets.cpp +++ b/qt-ui/simplewidgets.cpp @@ -1,19 +1,10 @@ #include "simplewidgets.h" #include <QLabel> -#include <QLabel> -#include <QFormLayout> -#include <QIcon> -#include <QAbstractButton> -#include <QSpinBox> -#include <QButtonGroup> -#include <QDebug> #include <QProcess> #include <QStringList> #include <QDebug> -#include <QTime> #include <QFileDialog> -#include <QDateTime> #include <QShortcut> #include <QCalendarWidget> #include "exif.h" @@ -376,7 +367,6 @@ void DateWidget::mousePressEvent(QMouseEvent *event) calendarWidget->show(); } - void DateWidget::focusInEvent(QFocusEvent *event) { setFocus(); diff --git a/qt-ui/subsurfacewebservices.h b/qt-ui/subsurfacewebservices.h index a9a67de..b54da67 100644 --- a/qt-ui/subsurfacewebservices.h +++ b/qt-ui/subsurfacewebservices.h @@ -10,7 +10,6 @@ #include "ui_webservices.h" class QAbstractButton; -class QNetworkReply; class QHttpMultiPart; class WebServices : public QDialog { diff --git a/qt-ui/tagwidget.cpp b/qt-ui/tagwidget.cpp index d1bb0d7..8201e8e 100644 --- a/qt-ui/tagwidget.cpp +++ b/qt-ui/tagwidget.cpp @@ -2,6 +2,7 @@ #include <QPair> #include <QAbstractItemView> #include <QSettings> +#include <QCompleter> #include <QFont> #include "mainwindow.h" diff --git a/qt-ui/tagwidget.h b/qt-ui/tagwidget.h index 08984f7..a3f5007 100644 --- a/qt-ui/tagwidget.h +++ b/qt-ui/tagwidget.h @@ -2,9 +2,10 @@ #define TAGWIDGET_H #include "groupedlineedit.h" -#include <QCompleter> #include <QPair> +class QCompleter; + class TagWidget : public GroupedLineEdit { Q_OBJECT public: diff --git a/units.h b/units.h index a8c0d7d..f3c0212 100644 --- a/units.h +++ b/units.h @@ -26,6 +26,7 @@ extern "C" { #define SEAWATER_SALINITY 10300 #define FRESHWATER_SALINITY 10000 +#include <stdint.h> /* * Some silly typedefs to make our units very explicit. * -- 2.0.0
From f97cd4372072d28e730ebdd16e8eb1c27f042de9 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava <[email protected]> Date: Thu, 26 Jun 2014 14:20:04 -0300 Subject: [PATCH 2/5] Better visualization of the maintab in the designer The layout of the maintab differed a bit in the application and in the designer because the designer didn't took into account that the divemaster, buddy and tags were a one line widget. Signed-off-by: Tomaz Canabrava <[email protected]> --- qt-ui/maintab.ui | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui index 899854f..5bfa53d 100644 --- a/qt-ui/maintab.ui +++ b/qt-ui/maintab.ui @@ -123,6 +123,12 @@ </item> <item row="8" column="0"> <widget class="TagWidget" name="divemaster"> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>30</height> + </size> + </property> <property name="readOnly"> <bool>false</bool> </property> @@ -144,6 +150,12 @@ </item> <item row="8" column="1"> <widget class="TagWidget" name="buddy"> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>30</height> + </size> + </property> <property name="readOnly"> <bool>false</bool> </property> @@ -220,6 +232,13 @@ </item> </layout> </item> + <item row="1" column="0" rowspan="2"> + <widget class="DateWidget" name="dateEdit" native="true"> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + </widget> + </item> <item row="12" column="0" colspan="2"> <widget class="TagWidget" name="tagWidget"> <property name="sizePolicy"> @@ -234,6 +253,12 @@ <height>0</height> </size> </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>30</height> + </size> + </property> <property name="verticalScrollBarPolicy"> <enum>Qt::ScrollBarAlwaysOff</enum> </property> @@ -245,13 +270,6 @@ </property> </widget> </item> - <item row="1" column="0" rowspan="2"> - <widget class="DateWidget" name="dateEdit" native="true"> - <property name="focusPolicy"> - <enum>Qt::StrongFocus</enum> - </property> - </widget> - </item> </layout> </widget> </widget> @@ -282,8 +300,8 @@ <rect> <x>0</x> <y>0</y> - <width>100</width> - <height>30</height> + <width>662</width> + <height>642</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_5"> @@ -362,8 +380,8 @@ <rect> <x>0</x> <y>0</y> - <width>548</width> - <height>395</height> + <width>662</width> + <height>642</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_6"> @@ -672,8 +690,8 @@ <rect> <x>0</x> <y>0</y> - <width>468</width> - <height>229</height> + <width>662</width> + <height>642</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_7"> -- 2.0.0
From 977653c75a2f038eeef8402b6ffcefddb08b8932 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava <[email protected]> Date: Thu, 26 Jun 2014 14:35:53 -0300 Subject: [PATCH 3/5] Added a TimeEdit The thing that I was trying to do didn't worked, getting back to the original Qt timeEdit. Signed-off-by: Tomaz Canabrava <[email protected]> --- qt-ui/maintab.ui | 182 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 96 insertions(+), 86 deletions(-) diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui index 5bfa53d..ff7a458 100644 --- a/qt-ui/maintab.ui +++ b/qt-ui/maintab.ui @@ -57,7 +57,14 @@ <property name="spacing"> <number>2</number> </property> - <item row="1" column="1"> + <item row="5" column="0"> + <widget class="QLabel" name="CoordinatedLabel"> + <property name="text"> + <string>Coordinates</string> + </property> + </widget> + </item> + <item row="1" column="2"> <layout class="QHBoxLayout" name="temperatureLabels"> <item> <widget class="QLabel" name="airTempLabel"> @@ -75,7 +82,14 @@ </item> </layout> </item> - <item row="2" column="1"> + <item row="13" column="0"> + <widget class="QLabel" name="NotesLabel"> + <property name="text"> + <string>Notes</string> + </property> + </widget> + </item> + <item row="2" column="2"> <layout class="QHBoxLayout" name="airWaterTempLayout"> <item> <widget class="QLineEdit" name="airtemp"> @@ -93,36 +107,36 @@ </item> </layout> </item> - <item row="4" column="0" colspan="2"> + <item row="4" column="0" colspan="3"> <widget class="QLineEdit" name="location"> <property name="readOnly"> <bool>false</bool> </property> </widget> </item> - <item row="3" column="0"> - <widget class="QLabel" name="LocationLabel"> - <property name="text"> - <string>Location</string> + <item row="14" column="0" colspan="3"> + <widget class="QTextEdit" name="notes"> + <property name="readOnly"> + <bool>false</bool> </property> </widget> </item> - <item row="11" column="0"> - <widget class="QLabel" name="TagLabel"> + <item row="9" column="2"> + <widget class="QLabel" name="SuitLabel"> <property name="text"> - <string>Tags</string> + <string>Suit</string> </property> </widget> </item> - <item row="6" column="0" colspan="2"> - <widget class="QLineEdit" name="coordinates"> - <property name="readOnly"> - <bool>false</bool> + <item row="3" column="0"> + <widget class="QLabel" name="LocationLabel"> + <property name="text"> + <string>Location</string> </property> </widget> </item> - <item row="8" column="0"> - <widget class="TagWidget" name="divemaster"> + <item row="8" column="2"> + <widget class="TagWidget" name="buddy"> <property name="maximumSize"> <size> <width>16777215</width> @@ -134,28 +148,15 @@ </property> </widget> </item> - <item row="5" column="0"> - <widget class="QLabel" name="CoordinatedLabel"> - <property name="text"> - <string>Coordinates</string> - </property> - </widget> - </item> - <item row="7" column="1"> + <item row="7" column="2"> <widget class="QLabel" name="BuddyLabel"> <property name="text"> <string>Buddy</string> </property> </widget> </item> - <item row="8" column="1"> - <widget class="TagWidget" name="buddy"> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>30</height> - </size> - </property> + <item row="6" column="0" colspan="3"> + <widget class="QLineEdit" name="coordinates"> <property name="readOnly"> <bool>false</bool> </property> @@ -168,21 +169,72 @@ </property> </widget> </item> - <item row="14" column="0" colspan="2"> - <widget class="QTextEdit" name="notes"> + <item row="10" column="2"> + <widget class="QLineEdit" name="suit"> <property name="readOnly"> <bool>false</bool> </property> </widget> </item> - <item row="10" column="1"> - <widget class="QLineEdit" name="suit"> + <item row="11" column="0"> + <widget class="QLabel" name="TagLabel"> + <property name="text"> + <string>Tags</string> + </property> + </widget> + </item> + <item row="1" column="0" rowspan="2"> + <widget class="DateWidget" name="dateEdit" native="true"> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + </widget> + </item> + <item row="12" column="0" colspan="3"> + <widget class="TagWidget" name="tagWidget"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>30</height> + </size> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="lineWrapMode"> + <enum>QPlainTextEdit::NoWrap</enum> + </property> + </widget> + </item> + <item row="8" column="0" colspan="2"> + <widget class="TagWidget" name="divemaster"> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>30</height> + </size> + </property> <property name="readOnly"> <bool>false</bool> </property> </widget> </item> - <item row="9" column="0"> + <item row="9" column="0" colspan="2"> <layout class="QHBoxLayout" name="ratingVisibilityLabels"> <item> <widget class="QLabel" name="RatingLabel"> @@ -200,21 +252,7 @@ </item> </layout> </item> - <item row="13" column="0"> - <widget class="QLabel" name="NotesLabel"> - <property name="text"> - <string>Notes</string> - </property> - </widget> - </item> - <item row="9" column="1"> - <widget class="QLabel" name="SuitLabel"> - <property name="text"> - <string>Suit</string> - </property> - </widget> - </item> - <item row="10" column="0"> + <item row="10" column="0" colspan="2"> <layout class="QHBoxLayout" name="ratingVisibilityWidgets"> <item> <widget class="StarWidget" name="rating" native="true"> @@ -232,43 +270,15 @@ </item> </layout> </item> - <item row="1" column="0" rowspan="2"> - <widget class="DateWidget" name="dateEdit" native="true"> - <property name="focusPolicy"> - <enum>Qt::StrongFocus</enum> + <item row="1" column="1"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Time</string> </property> </widget> </item> - <item row="12" column="0" colspan="2"> - <widget class="TagWidget" name="tagWidget"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>30</height> - </size> - </property> - <property name="verticalScrollBarPolicy"> - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - <property name="horizontalScrollBarPolicy"> - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - <property name="lineWrapMode"> - <enum>QPlainTextEdit::NoWrap</enum> - </property> - </widget> + <item row="2" column="1"> + <widget class="QTimeEdit" name="timeEdit"/> </item> </layout> </widget> -- 2.0.0
From 34255cca56e37d8150986091e2aa9d6dbf43586d Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava <[email protected]> Date: Thu, 26 Jun 2014 14:54:16 -0300 Subject: [PATCH 4/5] Added code for TimeEdit This makes the TimeEdit works again. Signed-off-by: Tomaz Canabrava <[email protected]> --- qt-ui/maintab.cpp | 14 +++++++++++++- qt-ui/maintab.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index c64ef5b..15759d7 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -75,6 +75,7 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent), ui.airtemp->installEventFilter(this); ui.watertemp->installEventFilter(this); ui.dateEdit->installEventFilter(this); + ui.timeEdit->installEventFilter(this); ui.tagWidget->installEventFilter(this); QList<QObject *> statisticsTabWidgets = ui.statisticsTab->children(); @@ -391,7 +392,7 @@ void MainTab::updateDiveInfo(int dive) if (d) { updateGpsCoordinates(d); ui.dateEdit->setDate(QDateTime::fromTime_t(d->when).date()); - //TODO: set also the time when the widget is ready. + ui.timeEdit->setTime(QDateTime::fromTime_t(d->when).time()); if (MainWindow::instance() && MainWindow::instance()->dive_list()->selectedTrips().count() == 1) { setTabText(0, tr("Trip Notes")); // only use trip relevant fields @@ -789,6 +790,7 @@ void MainTab::resetPallete() ui.airtemp->setPalette(p); ui.watertemp->setPalette(p); ui.dateEdit->setPalette(p); + ui.timeEdit->setPalette(p); ui.tagWidget->setPalette(p); } @@ -956,6 +958,16 @@ void MainTab::on_dateEdit_dateChanged(const QDateTime &datetime) markChangedWidget(ui.dateEdit); } +void MainTab::on_timeEdit_timeChanged(const QTime &time) +{ + if (editMode == NONE) + return; + QDateTime dateTime = QDateTime::fromTime_t(editedDive.when); + dateTime.setTime(time); + editedDive.when = dateTime.toTime_t(); + markChangedWidget(ui.timeEdit); +} + bool MainTab::tagsChanged(dive *a, dive *b) { char bufA[1024], bufB[1024]; diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index e296f14..1e7b5d3 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -69,6 +69,7 @@ slots: void on_watertemp_textChanged(const QString &text); void validate_temp_field(QLineEdit *tempField, const QString &text); void on_dateEdit_dateChanged(const QDateTime &datetime); + void on_timeEdit_timeChanged(const QTime & time); void on_rating_valueChanged(int value); void on_visibility_valueChanged(int value); void on_tagWidget_textChanged(); -- 2.0.0
From c51b10a6b071e50f5d92f39164e41a0f9cf835d7 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava <[email protected]> Date: Thu, 26 Jun 2014 14:57:25 -0300 Subject: [PATCH 5/5] Fixed changing dates with the new date widget. The maintab was connecting with an invalid slot on the new date widget, QDateTime instead of QDate Signed-off-by: Tomaz Canabrava <[email protected]> --- qt-ui/maintab.cpp | 10 ++++++---- qt-ui/maintab.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 15759d7..d46f364 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -948,13 +948,14 @@ void MainTab::validate_temp_field(QLineEdit *tempField, const QString &text) } } -void MainTab::on_dateEdit_dateChanged(const QDateTime &datetime) +void MainTab::on_dateEdit_dateChanged(const QDate &date) { if (editMode == NONE) return; - QDateTime dateTimeUtc(datetime); - dateTimeUtc.setTimeSpec(Qt::UTC); - editedDive.when = dateTimeUtc.toTime_t(); + QDateTime dateTime = QDateTime::fromTime_t(editedDive.when); + dateTime.setTimeSpec(Qt::UTC); + dateTime.setDate(date); + editedDive.when = dateTime.toTime_t(); markChangedWidget(ui.dateEdit); } @@ -963,6 +964,7 @@ void MainTab::on_timeEdit_timeChanged(const QTime &time) if (editMode == NONE) return; QDateTime dateTime = QDateTime::fromTime_t(editedDive.when); + dateTime.setTimeSpec(Qt::UTC); dateTime.setTime(time); editedDive.when = dateTime.toTime_t(); markChangedWidget(ui.timeEdit); diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index 1e7b5d3..f20af84 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -68,7 +68,7 @@ slots: void on_airtemp_textChanged(const QString &text); void on_watertemp_textChanged(const QString &text); void validate_temp_field(QLineEdit *tempField, const QString &text); - void on_dateEdit_dateChanged(const QDateTime &datetime); + void on_dateEdit_dateChanged(const QDate &date); void on_timeEdit_timeChanged(const QTime & time); void on_rating_valueChanged(int value); void on_visibility_valueChanged(int value); -- 2.0.0
_______________________________________________ subsurface mailing list [email protected] http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface
