From 6633ab302d70ea7e6407d60936927f585cb76385 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Fri, 25 Sep 2015 13:11:44 -0300 Subject: Change globe position when mouse over dive site When the mouse moves over the dive site list, the globe should show the current one under the mouse. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/locationinformation.cpp | 2 ++ qt-ui/locationinformation.h | 2 ++ qt-ui/maintab.cpp | 3 +++ 3 files changed, 7 insertions(+) diff --git a/qt-ui/locationinformation.cpp b/qt-ui/locationinformation.cpp index bbb4449fc..77f51abde 100644 --- a/qt-ui/locationinformation.cpp +++ b/qt-ui/locationinformation.cpp @@ -380,9 +380,11 @@ DiveLocationLineEdit::DiveLocationLineEdit(QWidget *parent) : QLineEdit(parent), view->installEventFilter(this); view->setFocusPolicy(Qt::NoFocus); view->setFocusProxy(this); + view->setMouseTracking(true); connect(this, &QLineEdit::textEdited, this, &DiveLocationLineEdit::setTemporaryDiveSiteName); connect(view, &QAbstractItemView::activated, this, &DiveLocationLineEdit::itemActivated); + connect(view, &QAbstractItemView::entered, this, &DiveLocationLineEdit::entered); } bool DiveLocationLineEdit::eventFilter(QObject *o, QEvent *e) diff --git a/qt-ui/locationinformation.h b/qt-ui/locationinformation.h index 3e8adeae2..2193b8cdf 100644 --- a/qt-ui/locationinformation.h +++ b/qt-ui/locationinformation.h @@ -86,8 +86,10 @@ public: DiveSiteType currDiveSiteType() const; uint32_t currDiveSiteUuid() const; void fixPopupPosition(); + signals: void diveSiteSelected(uint32_t uuid); + void entered(const QModelIndex& index); protected: void keyPressEvent(QKeyEvent *ev); diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index b84b27c67..ba345d938 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -56,6 +56,9 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent), closeMessage(); connect(ui.editDiveSiteButton, SIGNAL(clicked()), MainWindow::instance(), SIGNAL(startDiveSiteEdit())); +#ifndef NO_MARBLE + connect(ui.location, &DiveLocationLineEdit::entered, GlobeGPS::instance(), &GlobeGPS::centerOnIndex); +#endif QAction *action = new QAction(tr("Apply changes"), this); connect(action, SIGNAL(triggered(bool)), this, SLOT(acceptChanges())); -- cgit v1.2.3-70-g09d2