From 4845556cedf9bb5f73e921a9f351eb795ec4c079 Mon Sep 17 00:00:00 2001 From: Daria Volvenkova Date: Fri, 29 May 2020 01:09:36 +0300 Subject: [PATCH] [qt][guides on map] Added button for enabling guides layer. --- qt/mainwindow.cpp | 30 ++++++++++++++++++++++++++++++ qt/mainwindow.hpp | 3 +++ qt/res/guides.png | Bin 0 -> 546 bytes qt/res/resources.qrc | 1 + 4 files changed, 34 insertions(+) create mode 100755 qt/res/guides.png diff --git a/qt/mainwindow.cpp b/qt/mainwindow.cpp index 4328f5268e..ae359abff3 100644 --- a/qt/mainwindow.cpp +++ b/qt/mainwindow.cpp @@ -356,10 +356,17 @@ void MainWindow::CreateNavigationBar() m_selectLayerIsolinesAction->setChecked(m_pDrawWidget->GetFramework().LoadIsolinesEnabled()); connect(m_selectLayerIsolinesAction, SIGNAL(triggered()), this, SLOT(OnIsolinesEnabled())); + m_selectLayerGuidesAction = + new QAction(QIcon(":/navig64/guides.png"), tr("Guides"), this); + m_selectLayerGuidesAction->setCheckable(true); + m_selectLayerGuidesAction->setChecked(m_pDrawWidget->GetFramework().LoadGuidesEnabled()); + connect(m_selectLayerGuidesAction, SIGNAL(triggered()), this, SLOT(OnGuidesEnabled())); + auto layersMenu = new QMenu(); layersMenu->addAction(m_selectLayerTrafficAction); layersMenu->addAction(m_selectLayerTransitAction); layersMenu->addAction(m_selectLayerIsolinesAction); + layersMenu->addAction(m_selectLayerGuidesAction); m_selectLayerButton = new QToolButton(); m_selectLayerButton->setPopupMode(QToolButton::MenuButtonPopup); @@ -1006,6 +1013,13 @@ void MainWindow::SetEnabledIsolines(bool enable) m_pDrawWidget->GetFramework().SaveIsolinesEnabled(enable); } +void MainWindow::SetEnabledGuides(bool enable) +{ + m_selectLayerGuidesAction->setChecked(enable); + m_pDrawWidget->GetFramework().GetGuidesManager().SetEnabled(enable); + m_pDrawWidget->GetFramework().SaveGuidesEnabled(enable); +} + void MainWindow::OnTrafficEnabled() { bool const enabled = m_selectLayerTrafficAction->isChecked(); @@ -1015,6 +1029,7 @@ void MainWindow::OnTrafficEnabled() { SetEnabledTransit(false); SetEnabledIsolines(false); + SetEnabledGuides(false); } } @@ -1027,6 +1042,7 @@ void MainWindow::OnTransitEnabled() { SetEnabledIsolines(false); SetEnabledTraffic(false); + SetEnabledGuides(false); } } @@ -1039,6 +1055,20 @@ void MainWindow::OnIsolinesEnabled() { SetEnabledTraffic(false); SetEnabledTransit(false); + SetEnabledGuides(false); + } +} + +void MainWindow::OnGuidesEnabled() +{ + bool const enabled = m_selectLayerGuidesAction->isChecked(); + SetEnabledGuides(enabled); + + if (enabled) + { + SetEnabledTraffic(false); + SetEnabledTransit(false); + SetEnabledIsolines(false); } } diff --git a/qt/mainwindow.hpp b/qt/mainwindow.hpp index 6695739118..8aaab71024 100644 --- a/qt/mainwindow.hpp +++ b/qt/mainwindow.hpp @@ -53,6 +53,7 @@ class MainWindow : public QMainWindow, location::LocationObserver QAction * m_selectLayerTrafficAction = nullptr; QAction * m_selectLayerTransitAction = nullptr; QAction * m_selectLayerIsolinesAction = nullptr; + QAction * m_selectLayerGuidesAction = nullptr; QAction * m_selectionCityBoundariesMode = nullptr; QAction * m_selectionCityRoadsMode = nullptr; @@ -126,10 +127,12 @@ protected Q_SLOTS: void OnTrafficEnabled(); void OnTransitEnabled(); void OnIsolinesEnabled(); + void OnGuidesEnabled(); void SetEnabledTraffic(bool enable); void SetEnabledTransit(bool enable); void SetEnabledIsolines(bool enable); + void SetEnabledGuides(bool enable); void OnRulerEnabled(); void OnStartPointSelected(); diff --git a/qt/res/guides.png b/qt/res/guides.png new file mode 100755 index 0000000000000000000000000000000000000000..038c840a9beac1043d49ab66b8dc697784813320 GIT binary patch literal 546 zcmV+-0^R+IP)Px$+(|@1R9Fe^m$^y=K@>&D1rZ$-L=hDO7u?WMLCp+|{RhFn(yuTwF*Fht#tk=I z0vFs6G!Vh{T&ZfB>6*c=(X1|o>usPH;?_=QUmSq z0-q46BI=dyv@kttP%u_kbn>tbPj;|KTgiAIOu-Q7c>&HKQgzfzcA6Pd5IJZ|PXCN_ z@GEBF9JXKw^v|uD=uE-{G}=MaCJadou&@EIYR^C7H2Cyard)E|*_6@vynr;;n6GzVO;SS&*~jKc`XJuj6TkbSAH>BO)^ ztE-v;Ihaba_pkNNfqS6uD7F40pwvOcH-v!VZn*lvA(t!hvEWeL4Oc%nlG795JZ z;pzv6T&~2&d>!iNkYV_%^d*YP_dw-2bMOkgkOw8}%8Sa9Z$S2?$_$mji)T>vp+sL< zq?ddGQc`{ZJ)oC+ kQDlayers.png subway.png isolines.png + guides.png settings-routing.png borders_selection.png