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>
This commit is contained in:
Tomaz Canabrava 2015-09-23 14:46:29 -03:00 committed by Dirk Hohndel
parent 7d863b5c28
commit e4c0ee32cd
4 changed files with 24 additions and 3 deletions

View file

@ -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)
{

View file

@ -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);

View file

@ -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) {

View file

@ -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();