diff --git a/doc/dyt修改.txt b/doc/dyt修改.txt
index 90e2a52b..ab374932 100644
--- a/doc/dyt修改.txt
+++ b/doc/dyt修改.txt
@@ -15,7 +15,7 @@
4.需要连续用到的操作、功能类似的放到一个大界面。这些不知道具体怎么分就需要讨论细分一下比如:
功能控制一样的:窗口管理和ui设置都是控制界面的放到同一个栏目
解决方案
- a、窗口管理放到系统管理里面,点击按钮,弹出菜单可以勾选
+ a、窗口管理放到系统管理里面,点击按钮,弹出菜单可以勾选 (解决)
操作步骤连续的:①参数编辑②MatlabParam文件关联③SimMatlab关联④运行.m文件。这些放到一块方便操作
解决方案
diff --git a/src/translations/Dyt_zh_CN.ts b/src/translations/Dyt_zh_CN.ts
index 0b2572cd..c9d5d2b2 100644
--- a/src/translations/Dyt_zh_CN.ts
+++ b/src/translations/Dyt_zh_CN.ts
@@ -474,9 +474,8 @@
回放管理
-
window manager
- 窗口管理
+ 窗口管理
@@ -1641,16 +1640,17 @@
+
ui setting
ui设置
-
+
question
询问
-
+
are you sure to exit
确定退出
diff --git a/src/ui/MainFrame.cpp b/src/ui/MainFrame.cpp
index b4bbfe7c..0fefd328 100644
--- a/src/ui/MainFrame.cpp
+++ b/src/ui/MainFrame.cpp
@@ -109,8 +109,8 @@ void MainFrame::InitUI() {
PlayManagerMenu* playMenu = new PlayManagerMenu(this);
AddMenuWidget("play_manager", tr("play manager"), playMenu);
- WindowManagerMenu* windowMenu = new WindowManagerMenu(this);
- AddMenuWidget("window_manager", tr("window manager"), windowMenu);
+ //WindowManagerMenu* windowMenu = new WindowManagerMenu(this);
+ //AddMenuWidget("window_manager", tr("window manager"), windowMenu);
SystemManagerMenu* system_ = new SystemManagerMenu(this);
AddMenuWidget("system_manager", tr("system manager"), system_);
diff --git a/src/ui/Menu/SystemManagerMenu.cpp b/src/ui/Menu/SystemManagerMenu.cpp
index 3936e30d..892d31e0 100644
--- a/src/ui/Menu/SystemManagerMenu.cpp
+++ b/src/ui/Menu/SystemManagerMenu.cpp
@@ -24,6 +24,17 @@ SystemManagerMenu::~SystemManagerMenu() {
void SystemManagerMenu::AddDockWidget(class DockWidget* dockWidget) {
QAction* action = new QAction(dockWidget->windowTitle(), this);
+ connect(dockWidget, &DockWidget::windowTitleChanged, [action](const QString& title) {
+ action->setText(title);
+ }
+ );
+ action->setCheckable(true);
+ action->setChecked(!dockWidget->isVisible());
+ connect(action, &QAction::triggered, [dockWidget, action]() {
+ dockWidget->setVisible(action->isChecked());
+ }
+ );
+ windowManagerMenu_->addAction(action);
}
void SystemManagerMenu::RemoveDockWidget(class DockWidget* dockWidget) {
@@ -32,7 +43,9 @@ void SystemManagerMenu::RemoveDockWidget(class DockWidget* dockWidget) {
void SystemManagerMenu::InitConnect() {
connect(ui->menu_exit, &QToolButton::clicked, this, &SystemManagerMenu::OnExit);
- connect(ui->menu_window_manager, &QToolButton::clicked, this, &SystemManagerMenu::OnWindowManagerMenu);
+ //ui->menu_window_manager->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(ui->menu_window_manager, &QToolButton::clicked,
+ this, &SystemManagerMenu::OnWindowManagerMenu);
connect(ui->menu_uisetting, &QToolButton::clicked, this, &SystemManagerMenu::signalShowUISetting);
}
@@ -48,5 +61,5 @@ void SystemManagerMenu::OnExit() {
void SystemManagerMenu::OnWindowManagerMenu() {
// Ӵڹ˵
LOG_INFO("add window manager menu");
-
+ windowManagerMenu_->exec(QCursor::pos());
}