diff --git a/src/config/skin/default.css b/src/config/skin/default.css index f476731a..fc0dc916 100644 --- a/src/config/skin/default.css +++ b/src/config/skin/default.css @@ -293,3 +293,7 @@ QDockWidget DockTitleWidget QPushButton::menu-indicator, QDockWidget DockTitleWidget QToolButton::menu-indicator { image: none; } + +QListWidget { + border: none; +} \ No newline at end of file diff --git a/src/config/skin/default.qss b/src/config/skin/default.qss index 050569b1..8167ebcb 100644 --- a/src/config/skin/default.qss +++ b/src/config/skin/default.qss @@ -322,3 +322,7 @@ QDockWidget DockTitleWidget QPushButton::menu-indicator, QDockWidget DockTitleWidget QToolButton::menu-indicator { image: none; } + +QListWidget { + border: none; +} diff --git a/src/scene/ui/QueryElevationWidget.cpp b/src/scene/ui/QueryElevationWidget.cpp index 222af2b9..c9e30ed0 100644 --- a/src/scene/ui/QueryElevationWidget.cpp +++ b/src/scene/ui/QueryElevationWidget.cpp @@ -27,7 +27,7 @@ QueryElevationWidget::QueryElevationWidget(OEScene* oeScene) , oeScene_(oeScene) { LOG_INFO("actor self={}", spdlog::fmt_lib::ptr(this)); - label_ = new ColorLabel(""); + label_ = new ColorLabel(GetElevationString(0, 0, 0).c_str()); addWidget(label_); getBackground()->setColor(0.0f, 0.0f, 0.0f, 0.3f); } @@ -51,10 +51,7 @@ void QueryElevationWidget::OnUpdateGeoPoint(double x, double y, double z) { // x 保存小数点后6位 c++14 dyt_check(nullptr != label_); - QString info = QObject::tr("longitude:") + QString::number(x, 'f', 6) + ", " - + QString::fromLocal8Bit("latitude:") + QString::number(y, 'f', 6) + ", " - + QString::fromLocal8Bit("altitude:") + QString::number(z, 'f', 6); - label_->setLabel(info.toLocal8Bit().constData()); + label_->setLabel(GetElevationString(x, y, z)); } @@ -63,6 +60,14 @@ void QueryElevationWidget::ResetCanvasPosition(double width, double height) { label_->setSize(width, 20); } + +std::string QueryElevationWidget::GetElevationString(double x, double y, double z) { + QString info = QObject::tr("longitude:") + QString::number(x, 'f', 6) + ", " + + QObject::tr("latitude:") + QString::number(y, 'f', 6) + ", " + + QObject::tr("altitude:") + QString::number(z, 'f', 6); + return std::string(info.toLocal8Bit().constData()); +} + QueryElevationWidget::QueryElevationEventHandler::QueryElevationEventHandler( osgEarth::MapNode* mapNode, QueryElevationWidget* widget) : osgGA::GUIEventHandler() diff --git a/src/scene/ui/QueryElevationWidget.h b/src/scene/ui/QueryElevationWidget.h index a638b81f..84bb7dd3 100644 --- a/src/scene/ui/QueryElevationWidget.h +++ b/src/scene/ui/QueryElevationWidget.h @@ -1,6 +1,6 @@ #pragma once - +#include #include #include #include @@ -27,6 +27,9 @@ public: void OnUpdateGeoPoint(double x, double y, double z); void ResetCanvasPosition(double width, double height); + +private: + std::string GetElevationString(double x, double y, double z); private: class OEScene* oeScene_; diff --git a/src/translations/Dyt_zh_CN.ts b/src/translations/Dyt_zh_CN.ts index 4180ef24..e6954a86 100644 --- a/src/translations/Dyt_zh_CN.ts +++ b/src/translations/Dyt_zh_CN.ts @@ -881,10 +881,20 @@ - + longitude: + + + latitude: + + + + + altitude: + + QtBoolEdit diff --git a/src/ui/DockWidget.cpp b/src/ui/DockWidget.cpp index 6115d28e..2d617df3 100644 --- a/src/ui/DockWidget.cpp +++ b/src/ui/DockWidget.cpp @@ -62,7 +62,7 @@ void DockWidget::SetDockWidgetTitleBar(DockWidgetTitleBar* titleBar) { } titleBar_->SetTitle(windowTitle()); - connect(titleBar_, &DockWidgetTitleBar::signalClose, this, &DockWidget::close); + connect(titleBar_, &DockWidgetTitleBar::signalClose, this, &DockWidget::OnClose); QDockWidget::setTitleBarWidget(titleBar_); } @@ -76,3 +76,9 @@ void DockWidget::resizeEvent(QResizeEvent* e) { initStyleOption(&opt); } +void DockWidget::OnClose() { + LOG_INFO("DockWidget::OnClose"); + close(); + emit signalClose(); +} + diff --git a/src/ui/DockWidget.h b/src/ui/DockWidget.h index 5307480d..19f76f21 100644 --- a/src/ui/DockWidget.h +++ b/src/ui/DockWidget.h @@ -35,10 +35,16 @@ public: void SetDockWidgetTitleBar(DockWidgetTitleBar* titleBar); +Q_SIGNALS: + void signalClose(); + protected: void showEvent(QShowEvent* e) override; void resizeEvent(QResizeEvent* e) override; +private: + void OnClose(); + private: DockWidgetTitleBar* titleBar_{ nullptr }; }; \ No newline at end of file diff --git a/src/ui/Menu/WindowManagerMenu.cpp b/src/ui/Menu/WindowManagerMenu.cpp index ee65a962..bc7793ef 100644 --- a/src/ui/Menu/WindowManagerMenu.cpp +++ b/src/ui/Menu/WindowManagerMenu.cpp @@ -41,6 +41,9 @@ void WindowManagerMenu::AddDockWidget(DockWidget* dockWidget) { item->data(DockWidgetRole).value()->setVisible(checked); }); item->setData(DockWidgetRole, QVariant::fromValue(dockWidget)); + connect(dockWidget, &DockWidget::signalClose, [this, item]() { + item->setCheckState(Qt::Unchecked); + }); ui->listWidget->addItem(item); }