diff --git a/plugins/feature/map/mapibpbeacondialog.cpp b/plugins/feature/map/mapibpbeacondialog.cpp index 132f240a8..942a887af 100644 --- a/plugins/feature/map/mapibpbeacondialog.cpp +++ b/plugins/feature/map/mapibpbeacondialog.cpp @@ -32,7 +32,6 @@ MapIBPBeaconDialog::MapIBPBeaconDialog(MapGUI *gui, QWidget* parent) : ui->setupUi(this); connect(&m_timer, &QTimer::timeout, this, &MapIBPBeaconDialog::updateTime); m_timer.setInterval(1000); - m_timer.start(); ui->beacons->setRowCount(IBPBeacon::m_frequencies.size()); for (int row = 0; row < IBPBeacon::m_frequencies.size(); row++) { @@ -44,7 +43,6 @@ MapIBPBeaconDialog::MapIBPBeaconDialog(MapGUI *gui, QWidget* parent) : ui->beacons->setItem(row, IBP_BEACON_COL_DISTANCE, new QTableWidgetItem("")); } resizeTable(); - updateTable(QTime::currentTime()); } MapIBPBeaconDialog::~MapIBPBeaconDialog() @@ -126,3 +124,17 @@ void MapIBPBeaconDialog::updateTime() updateTable(t); } } + +void MapIBPBeaconDialog::showEvent(QShowEvent *event) +{ + (void) event; + updateTable(QTime::currentTime()); + updateTime(); + m_timer.start(); +} + +void MapIBPBeaconDialog::hideEvent(QHideEvent *event) +{ + (void) event; + m_timer.stop(); +} diff --git a/plugins/feature/map/mapibpbeacondialog.h b/plugins/feature/map/mapibpbeacondialog.h index 8712b2d04..f4d5b5945 100644 --- a/plugins/feature/map/mapibpbeacondialog.h +++ b/plugins/feature/map/mapibpbeacondialog.h @@ -43,6 +43,8 @@ private slots: void accept(); void on_beacons_cellDoubleClicked(int row, int column); void updateTime(); + void showEvent(QShowEvent *event); + void hideEvent(QHideEvent *event); private: MapGUI *m_gui;