diff --git a/qtviewer_planetosm/osm_frame_widget.cpp b/qtviewer_planetosm/osm_frame_widget.cpp
index 252820fe3f69dee6c62062456a9f38579e666848..0f6b8aae78dd98b0e3c3a8e3aa806238d0e28575 100644
--- a/qtviewer_planetosm/osm_frame_widget.cpp
+++ b/qtviewer_planetosm/osm_frame_widget.cpp
@@ -138,9 +138,7 @@ bool osm_frame_widget::eventFilter(QObject *obj, QEvent *event)
}
else if (obj == ui->dockWidget_QTV_side)
{
- ui->dockWidget_QTV_side->hide();
- QMargins m = this->layout()->contentsMargins();
- this->layout()->setContentsMargins(m.left(),m.top(),12,m.bottom());
+ enableLiteMode(true);
return true;
}
else if (m_PropPageslayer.contains(obj))
@@ -198,10 +196,7 @@ void osm_frame_widget::mousePressEvent(QMouseEvent * e)
{
if (ui->dockWidget_QTV_side->isVisible()==false)
{
- ui->dockWidget_QTV_side->show();
-
- QMargins m = this->layout()->contentsMargins();
- this->layout()->setContentsMargins(m.left(),m.top(),m.left(),m.bottom());
+ enableLiteMode(false);
}
}
@@ -429,3 +424,44 @@ void osm_frame_widget::on_pushButton_QTV_saveToFile_clicked()
}
}
}
+void osm_frame_widget::enableLiteMode(bool bEnabled)
+{
+ if (bEnabled==true)
+ {
+ if (ui->tab_map->parent()==this)
+ return;
+ ui->tabWidget_main->hide();
+ int idx = ui->tabWidget_main->indexOf(ui->tab_map);
+ ui->tab_map->setParent(this);
+ if (idx>=0)
+ ui->tabWidget_main->removeTab(idx);
+ //remove topmost flag
+ Qt::WindowFlags flg = ui->tab_map->windowFlags();
+ flg &= ~(Qt::WindowMinMaxButtonsHint|Qt::WindowStaysOnTopHint|Qt::Window );
+ ui->tab_map->setWindowFlags(flg);
+ //add to current Layer
+ this->layout()->addWidget(ui->tab_map);
+ ui->tab_map->show();
+ ui->dockWidget_QTV_side->hide();
+ QMargins m = this->layout()->contentsMargins();
+ this->layout()->setContentsMargins(m.left(),m.top(),12,m.bottom());
+
+ }
+ else
+ {
+ Qt::WindowFlags flg = ui->tab_map->windowFlags();
+ flg &= ~(Qt::WindowMinMaxButtonsHint|Qt::WindowStaysOnTopHint|Qt::Window );
+ ui->tab_map->setWindowFlags(flg);
+ int idx = ui->tabWidget_main->addTab(
+ ui->tab_map,
+ "Map"
+ );
+ ui->tabWidget_main->setTabIcon(idx,ui->tab_map->windowIcon());
+ ui->tabWidget_main->show();
+ ui->tabWidget_main->setCurrentIndex(idx);
+ QMargins m = this->layout()->contentsMargins();
+ this->layout()->setContentsMargins(m.left(),m.top(),m.left(),m.bottom());
+ ui->dockWidget_QTV_side->show();
+
+ }
+}
diff --git a/qtviewer_planetosm/osm_frame_widget.h b/qtviewer_planetosm/osm_frame_widget.h
index d5c93506b4b1dc22ddb95d46d7adaf84da5e87dd..42010ccdf2d6e174b939326980ded42394278f2d 100644
--- a/qtviewer_planetosm/osm_frame_widget.h
+++ b/qtviewer_planetosm/osm_frame_widget.h
@@ -30,7 +30,7 @@ public:
public:
//Get tile viewer
tilesviewer * viewer();
-
+ void enableLiteMode(bool bEnabled);
protected:
bool eventFilter(QObject *obj, QEvent *event);
protected:
diff --git a/qtviewer_planetosm/osm_frame_widget.ui b/qtviewer_planetosm/osm_frame_widget.ui
index f3b021d6962404054fca591d9a3c6d351b815422..8b701f6c0a36cfcf6fa909543da29194503de008 100644
--- a/qtviewer_planetosm/osm_frame_widget.ui
+++ b/qtviewer_planetosm/osm_frame_widget.ui
@@ -17,23 +17,23 @@
:/ui/icons/Folder Online aqua.png:/ui/icons/Folder Online aqua.png
-
+
+
+ 1
+
- 0
+ 1
- 0
+ 1
- 0
+ 1
- 0
+ 1
-
- 0
-
- -
+
-
QTabWidget::South
@@ -115,7 +115,7 @@
- -
+
-
@@ -481,6 +481,7 @@
+
diff --git a/qtviewer_planetosm/qtaxviewer_planetosm.cpp b/qtviewer_planetosm/qtaxviewer_planetosm.cpp
index e9f360b72c4dd27777f023a54298a1d6d3a7b84a..97f522cbdb059690c9dfcd2e40a3127fa403e790 100644
--- a/qtviewer_planetosm/qtaxviewer_planetosm.cpp
+++ b/qtviewer_planetosm/qtaxviewer_planetosm.cpp
@@ -460,8 +460,26 @@ QString qtaxviewer_planetosm::osm_layer_call_function(QString layerName, QString
p_out = la->call_func(p_in);
strRes = map_to_string(p_out);
}
+ else if (layerName=="MAIN_MAP")
+ {
+ QMap p_in;
+ p_in = string_to_map(args);
+ if (p_in["function"].toString().toUpper()=="ENABLELITEMODE")
+ {
+ if (p_in["mode"].toInt()==0)
+ this->enableLiteMode(false);
+ else
+ this->enableLiteMode(true);
+
+ }
+ else
+ {
+ strRes = QString("error=Layer name \"%1\" does not have this function.;").arg(layerName);
+ }
+
+ }
else
- strRes = QString("error=Layer name \"%1\" does not exist.;").arg(layerName);
+ strRes = QString("error=Layer name \"%1\" does not exist.MAIN_MAP means the main map frame.;").arg(layerName);
return strRes;
}
diff --git a/qtviewer_planetosm/qtwidget_planetosm.cpp b/qtviewer_planetosm/qtwidget_planetosm.cpp
index 99a57d9019a1278ba4d9c45d6f3442bb73c45940..8ebfae196116a002c055be9487f1d83870fbdc72 100644
--- a/qtviewer_planetosm/qtwidget_planetosm.cpp
+++ b/qtviewer_planetosm/qtwidget_planetosm.cpp
@@ -465,3 +465,8 @@ QString qtwidget_planetosm::osm_layer_call_function(QString layerName, QString a
return strRes;
}
+void qtwidget_planetosm::enableLiteMode(bool bEnabled)
+{
+ osm_frame_widget * mp = qobject_cast(m_map_widget);
+ mp->enableLiteMode(bEnabled);
+}
diff --git a/qtviewer_planetosm/qtwidget_planetosm.h b/qtviewer_planetosm/qtwidget_planetosm.h
index 9df1cd81fbe011a5479c0a9bfb71303c19619218..f320ca511b593d9bd4146bd9eff6188678b4fbf7 100644
--- a/qtviewer_planetosm/qtwidget_planetosm.h
+++ b/qtviewer_planetosm/qtwidget_planetosm.h
@@ -30,6 +30,7 @@ protected:
public:
explicit qtwidget_planetosm(QWidget *parent = 0);
~qtwidget_planetosm();
+ void enableLiteMode(bool bEnabled);
//! slots below is designed for widget interfaces
public:
QTVOSM::viewer_interface * viewer();