Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qt/mainwindow.cpp')
-rw-r--r--qt/mainwindow.cpp48
1 files changed, 39 insertions, 9 deletions
diff --git a/qt/mainwindow.cpp b/qt/mainwindow.cpp
index f8fe7a712b..0b65131be2 100644
--- a/qt/mainwindow.cpp
+++ b/qt/mainwindow.cpp
@@ -271,6 +271,14 @@ void FormatMapSize(uint64_t sizeInBytes, string & units, size_t & sizeToDownload
units = "B";
}
}
+
+bool IsMwmsBordersSelectionMode(DrawWidget::SelectionMode mode)
+{
+ return mode == DrawWidget::SelectionMode::MwmsBordersByPolyFiles ||
+ mode == DrawWidget::SelectionMode::MwmsBordersWithPointsByPolyFiles ||
+ mode == DrawWidget::SelectionMode::MwmsBordersByPackedPolygon ||
+ mode == DrawWidget::SelectionMode::MwmsBordersWithPointsByPackedPolygon;
+}
} // namespace
void MainWindow::CreateNavigationBar()
@@ -639,11 +647,10 @@ void MainWindow::OnSwitchMwmsBordersSelectionMode()
{
MwmsBordersSelection dlg(this);
auto const response = dlg.ShowModal();
- if (response == MwmsBordersSelection::Response::Canceled)
+ if (response == MwmsBordersSelection::Response::Cancelled)
{
if (m_pDrawWidget->SelectionModeIsSet() &&
- (m_pDrawWidget->GetSelectionMode() == DrawWidget::SelectionMode::MwmsBordersWithPoints ||
- m_pDrawWidget->GetSelectionMode() == DrawWidget::SelectionMode::MwmsBorders))
+ IsMwmsBordersSelectionMode(m_pDrawWidget->GetSelectionMode()))
{
m_pDrawWidget->DropSelectionMode();
}
@@ -652,8 +659,10 @@ void MainWindow::OnSwitchMwmsBordersSelectionMode()
return;
}
- CHECK(response == MwmsBordersSelection::Response::JustBorders ||
- response == MwmsBordersSelection::Response::WithPointsAndBorders, ());
+ CHECK(response == MwmsBordersSelection::Response::JustBordersByPolyFiles ||
+ response == MwmsBordersSelection::Response::WithPointsAndBordersByPolyFiles ||
+ response == MwmsBordersSelection::Response::JustBordersByPackedPolygon ||
+ response == MwmsBordersSelection::Response::WithPointsAndBordersByPackedPolygon, ());
m_selectionMode->setChecked(false);
m_selectionCityBoundariesMode->setChecked(false);
@@ -661,10 +670,31 @@ void MainWindow::OnSwitchMwmsBordersSelectionMode()
m_selectionMwmsBordersMode->setChecked(true);
- if (response == MwmsBordersSelection::Response::WithPointsAndBorders)
- m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersWithPoints);
- else
- m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBorders);
+ switch (response)
+ {
+ case MwmsBordersSelection::Response::JustBordersByPolyFiles:
+ {
+ m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersByPolyFiles);
+ break;
+ }
+ case MwmsBordersSelection::Response::WithPointsAndBordersByPolyFiles:
+ {
+ m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersWithPointsByPolyFiles);
+ break;
+ }
+ case MwmsBordersSelection::Response::JustBordersByPackedPolygon:
+ {
+ m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersByPackedPolygon);
+ break;
+ }
+ case MwmsBordersSelection::Response::WithPointsAndBordersByPackedPolygon:
+ {
+ m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersWithPointsByPackedPolygon);
+ break;
+ }
+ default:
+ UNREACHABLE();
+ }
}
void MainWindow::OnClearSelection()