mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Center on the dive site also via keyboard
Now mouse and keyboard navigation over the list of current dive sites will update the marble globe position. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6633ab302d
commit
1239056fb6
3 changed files with 13 additions and 0 deletions
|
@ -385,6 +385,7 @@ DiveLocationLineEdit::DiveLocationLineEdit(QWidget *parent) : QLineEdit(parent),
|
||||||
connect(this, &QLineEdit::textEdited, this, &DiveLocationLineEdit::setTemporaryDiveSiteName);
|
connect(this, &QLineEdit::textEdited, this, &DiveLocationLineEdit::setTemporaryDiveSiteName);
|
||||||
connect(view, &QAbstractItemView::activated, this, &DiveLocationLineEdit::itemActivated);
|
connect(view, &QAbstractItemView::activated, this, &DiveLocationLineEdit::itemActivated);
|
||||||
connect(view, &QAbstractItemView::entered, this, &DiveLocationLineEdit::entered);
|
connect(view, &QAbstractItemView::entered, this, &DiveLocationLineEdit::entered);
|
||||||
|
connect(view, &DiveLocationListView::currentIndexChanged, this, &DiveLocationLineEdit::currentChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DiveLocationLineEdit::eventFilter(QObject *o, QEvent *e)
|
bool DiveLocationLineEdit::eventFilter(QObject *o, QEvent *e)
|
||||||
|
@ -561,3 +562,9 @@ DiveLocationListView::DiveLocationListView(QWidget *parent)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DiveLocationListView::currentChanged(const QModelIndex& current, const QModelIndex& previous)
|
||||||
|
{
|
||||||
|
QListView::currentChanged(current, previous);
|
||||||
|
emit currentIndexChanged(current);
|
||||||
|
}
|
||||||
|
|
|
@ -72,6 +72,10 @@ class DiveLocationListView : public QListView {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
DiveLocationListView(QWidget *parent = 0);
|
DiveLocationListView(QWidget *parent = 0);
|
||||||
|
protected:
|
||||||
|
virtual void currentChanged(const QModelIndex& current, const QModelIndex& previous);
|
||||||
|
signals:
|
||||||
|
void currentIndexChanged(const QModelIndex& current);
|
||||||
};
|
};
|
||||||
|
|
||||||
class DiveLocationLineEdit : public QLineEdit {
|
class DiveLocationLineEdit : public QLineEdit {
|
||||||
|
@ -90,6 +94,7 @@ public:
|
||||||
signals:
|
signals:
|
||||||
void diveSiteSelected(uint32_t uuid);
|
void diveSiteSelected(uint32_t uuid);
|
||||||
void entered(const QModelIndex& index);
|
void entered(const QModelIndex& index);
|
||||||
|
void currentChanged(const QModelIndex& index);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void keyPressEvent(QKeyEvent *ev);
|
void keyPressEvent(QKeyEvent *ev);
|
||||||
|
|
|
@ -58,6 +58,7 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
|
||||||
connect(ui.editDiveSiteButton, SIGNAL(clicked()), MainWindow::instance(), SIGNAL(startDiveSiteEdit()));
|
connect(ui.editDiveSiteButton, SIGNAL(clicked()), MainWindow::instance(), SIGNAL(startDiveSiteEdit()));
|
||||||
#ifndef NO_MARBLE
|
#ifndef NO_MARBLE
|
||||||
connect(ui.location, &DiveLocationLineEdit::entered, GlobeGPS::instance(), &GlobeGPS::centerOnIndex);
|
connect(ui.location, &DiveLocationLineEdit::entered, GlobeGPS::instance(), &GlobeGPS::centerOnIndex);
|
||||||
|
connect(ui.location, &DiveLocationLineEdit::currentChanged, GlobeGPS::instance(), &GlobeGPS::centerOnIndex);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QAction *action = new QAction(tr("Apply changes"), this);
|
QAction *action = new QAction(tr("Apply changes"), this);
|
||||||
|
|
Loading…
Add table
Reference in a new issue