add ui system manager menu

This commit is contained in:
jiegeaiai 2025-02-10 23:24:06 +08:00
parent 5d86df20ba
commit 95d1233150
7 changed files with 47 additions and 12 deletions

View File

@ -23,6 +23,7 @@
<file>res/default/menu_setting_restore.png</file> <file>res/default/menu_setting_restore.png</file>
<file>res/default/menu_setting.png</file> <file>res/default/menu_setting.png</file>
<file>res/default/menu_uisetting.png</file> <file>res/default/menu_uisetting.png</file>
<file>res/default/menu_window_manager.png</file>
</qresource> </qresource>
<qresource prefix="/qss"> <qresource prefix="/qss">
</qresource> </qresource>

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

View File

@ -2,7 +2,7 @@
#include <QStyleOptionDockWidget> #include <QStyleOptionDockWidget>
#include "ui/Menu/WindowManagerMenu.h" #include "ui/Menu/SystemManagerMenu.h"
#include "common/SpdLogger.h" #include "common/SpdLogger.h"
#include "ui/MainFrame.h" #include "ui/MainFrame.h"
@ -29,7 +29,7 @@ QSize DockWidgetTitleBar::minimumSizeHint() const {
DockWidget::DockWidget(const QString& title, QWidget* parent) DockWidget::DockWidget(const QString& title, QWidget* parent)
: QDockWidget(title, parent) { : QDockWidget(title, parent) {
setFeatures(DockWidgetClosable | DockWidgetMovable | DockWidgetFloatable); setFeatures(DockWidgetClosable | DockWidgetMovable | DockWidgetFloatable);
WindowManagerMenu* windowManagerMenu = MainFrame::Get().GetMenuManager<WindowManagerMenu>("window_manager"); SystemManagerMenu* windowManagerMenu = MainFrame::Get().GetMenuManager<SystemManagerMenu>("system_manager");
if (nullptr != windowManagerMenu) { if (nullptr != windowManagerMenu) {
windowManagerMenu->AddDockWidget(this); windowManagerMenu->AddDockWidget(this);
} }

View File

@ -4,6 +4,7 @@
#include "common/SpdLogger.h" #include "common/SpdLogger.h"
#include "ui/MainFrame.h" #include "ui/MainFrame.h"
#include "ui/DockWidget.h"
#include "ui_SystemManagerMenu.h" #include "ui_SystemManagerMenu.h"
@ -13,14 +14,25 @@ SystemManagerMenu::SystemManagerMenu(QWidget* parent)
ui->setupUi(this); ui->setupUi(this);
InitConnect(); InitConnect();
LOG_INFO("SystemManagerMenu init");
windowManagerMenu_ = new QMenu(this);
} }
SystemManagerMenu::~SystemManagerMenu() { SystemManagerMenu::~SystemManagerMenu() {
delete ui; delete ui;
} }
void SystemManagerMenu::AddDockWidget(class DockWidget* dockWidget) {
QAction* action = new QAction(dockWidget->windowTitle(), this);
}
void SystemManagerMenu::RemoveDockWidget(class DockWidget* dockWidget) {
}
void SystemManagerMenu::InitConnect() { void SystemManagerMenu::InitConnect() {
connect(ui->menu_exit, &QToolButton::clicked, this, &SystemManagerMenu::OnExit); connect(ui->menu_exit, &QToolButton::clicked, this, &SystemManagerMenu::OnExit);
connect(ui->menu_window_manager, &QToolButton::clicked, this, &SystemManagerMenu::OnWindowManagerMenu);
connect(ui->menu_uisetting, &QToolButton::clicked, this, &SystemManagerMenu::signalShowUISetting); connect(ui->menu_uisetting, &QToolButton::clicked, this, &SystemManagerMenu::signalShowUISetting);
} }
@ -32,3 +44,9 @@ void SystemManagerMenu::OnExit() {
qApp->quit(); qApp->quit();
} }
} }
void SystemManagerMenu::OnWindowManagerMenu() {
// Ìí¼Ó´°¿Ú¹ÜÀí²Ëµ¥
LOG_INFO("add window manager menu");
}

View File

@ -1,6 +1,7 @@
#pragma once #pragma once
#include <QWidget> #include <QWidget>
#include <QMenu>
namespace Ui { namespace Ui {
class SystemManagerMenu; class SystemManagerMenu;
@ -13,6 +14,9 @@ public:
SystemManagerMenu(QWidget* parent = 0); SystemManagerMenu(QWidget* parent = 0);
~SystemManagerMenu() override; ~SystemManagerMenu() override;
void AddDockWidget(class DockWidget* dockWidget);
void RemoveDockWidget(class DockWidget* dockWidget);
protected: protected:
void InitConnect(); void InitConnect();
@ -21,7 +25,9 @@ signals:
private: private:
void OnExit(); void OnExit();
void OnWindowManagerMenu();
private: private:
Ui::SystemManagerMenu* ui; Ui::SystemManagerMenu* ui;
QMenu* windowManagerMenu_{ nullptr };
}; };

View File

@ -34,6 +34,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QToolButton" name="menu_window_manager">
<property name="toolTip">
<string>ui setting</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item> <item>
<widget class="QToolButton" name="menu_uisetting"> <widget class="QToolButton" name="menu_uisetting">
<property name="toolTip"> <property name="toolTip">