diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-09-23 14:46:29 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-09-23 14:15:23 -0700 |
commit | e4c0ee32cdcd8487dd88e40fef3ba5de6fa92704 (patch) | |
tree | 5c7e917ad6218ee09de154526eb69948c3b01f70 /qt-ui | |
parent | 7d863b5c280c12d657fa46f909965071d5649ac5 (diff) | |
download | subsurface-e4c0ee32cdcd8487dd88e40fef3ba5de6fa92704.tar.gz |
Handle palette change for dive site selection
If you select a dive site with a different uuid than your
current dive.dive_site_uuid, you should get a different
pallete to state clearly that something changed.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/locationinformation.cpp | 13 | ||||
-rw-r--r-- | qt-ui/locationinformation.h | 3 | ||||
-rw-r--r-- | qt-ui/maintab.cpp | 9 | ||||
-rw-r--r-- | qt-ui/maintab.h | 2 |
4 files changed, 24 insertions, 3 deletions
diff --git a/qt-ui/locationinformation.cpp b/qt-ui/locationinformation.cpp index 2f4b8afda..77adc819b 100644 --- a/qt-ui/locationinformation.cpp +++ b/qt-ui/locationinformation.cpp @@ -488,6 +488,7 @@ void DiveLocationLineEdit::itemActivated(const QModelIndex& index) qDebug() << "Setting a Existing dive site"; if(view->isVisible()) view->hide(); + emit diveSiteSelected(currUuid); } void DiveLocationLineEdit::refreshDiveSiteCache() @@ -580,11 +581,21 @@ void DiveLocationLineEdit::showPopup() if (!view->isVisible()) { setTemporaryDiveSiteName(text()); proxy->invalidate(); - view->setCurrentIndex( view->model()->index(0,1)); + view->setCurrentIndex(view->model()->index(0,1)); view->show(); } } +DiveLocationLineEdit::DiveSiteType DiveLocationLineEdit::currDiveSiteType() const +{ + return currType; +} + +uint32_t DiveLocationLineEdit::currDiveSiteUuid() const +{ + return currUuid; +} + DiveLocationListView::DiveLocationListView(QWidget *parent) { diff --git a/qt-ui/locationinformation.h b/qt-ui/locationinformation.h index 5085f83a2..db0d286ac 100644 --- a/qt-ui/locationinformation.h +++ b/qt-ui/locationinformation.h @@ -100,6 +100,9 @@ public: DiveSiteType currDiveSiteType() const; uint32_t currDiveSiteUuid() const; +signals: + void diveSiteSelected(uint32_t uuid); + protected: void keyPressEvent(QKeyEvent *ev); void focusOutEvent(QFocusEvent *ev); diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 51df81d87..a68adb5bf 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -1509,7 +1509,7 @@ void MainTab::on_location_textChanged() markChangedWidget(ui.location); } -void MainTab::on_location_editingFinished() +void MainTab::on_location_diveSiteSelected() { if (editMode == IGNORE || acceptingEdit == true) return; @@ -1519,6 +1519,13 @@ void MainTab::on_location_editingFinished() markChangedWidget(ui.location); emit diveSiteChanged(0); return; + } else { + if (ui.location->currDiveSiteUuid() != displayed_dive.dive_site_uuid) { + markChangedWidget(ui.location); + } else { + QPalette p; + ui.location->setPalette(p); + } } if (currentTrip) { diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index 26dd3853e..a071e6c88 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -69,7 +69,7 @@ slots: void updateDiveInfo(bool clear = false); void acceptChanges(); void rejectChanges(); - void on_location_editingFinished(); + void on_location_diveSiteSelected(); void on_location_textChanged(); void on_divemaster_textChanged(); void on_buddy_textChanged(); |