summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2015-09-23 14:46:29 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-09-23 14:15:23 -0700
commite4c0ee32cdcd8487dd88e40fef3ba5de6fa92704 (patch)
tree5c7e917ad6218ee09de154526eb69948c3b01f70 /qt-ui
parent7d863b5c280c12d657fa46f909965071d5649ac5 (diff)
downloadsubsurface-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.cpp13
-rw-r--r--qt-ui/locationinformation.h3
-rw-r--r--qt-ui/maintab.cpp9
-rw-r--r--qt-ui/maintab.h2
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();