Skip to content

Commit 6094be2

Browse files
committed
App: modify operate menu
1 parent 5d378be commit 6094be2

2 files changed

Lines changed: 34 additions & 16 deletions

File tree

App/Client/mainwindow.cpp

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,20 @@ static Q_LOGGING_CATEGORY(log, "App.MainWindow")
4949
static Q_LOGGING_CATEGORY(logRecord, "App.MainWindow.Record")
5050

5151
MainWindow::MainWindow(QWidget *parent)
52-
: QMainWindow(parent),
53-
m_pActionOperateMenu(nullptr),
54-
m_pDockListRecent(nullptr),
55-
m_pDockActive(nullptr),
56-
m_pFrmActive(nullptr),
57-
m_pSignalStatus(nullptr),
58-
ui(new Ui::MainWindow),
59-
m_pView(nullptr),
60-
m_pFullScreenToolBar(nullptr),
61-
m_pRecentMenu(nullptr),
62-
m_pDockFavorite(nullptr),
63-
m_pFavoriteView(nullptr)
52+
: QMainWindow(parent)
53+
, m_pActionOperateMenu(nullptr)
54+
, m_pTBOperate(nullptr)
55+
, m_pActionTBOperate(nullptr)
56+
, m_pDockListRecent(nullptr)
57+
, m_pDockActive(nullptr)
58+
, m_pFrmActive(nullptr)
59+
, m_pSignalStatus(nullptr)
60+
, ui(new Ui::MainWindow)
61+
, m_pView(nullptr)
62+
, m_pFullScreenToolBar(nullptr)
63+
, m_pRecentMenu(nullptr)
64+
, m_pDockFavorite(nullptr)
65+
, m_pFavoriteView(nullptr)
6466
{
6567
bool check = false;
6668

@@ -88,7 +90,7 @@ MainWindow::MainWindow(QWidget *parent)
8890
pRecentAction->setStatusTip(pRecentAction->text());
8991
QToolButton* tbRecent = new QToolButton(ui->toolBar);
9092
tbRecent->setFocusPolicy(Qt::NoFocus);
91-
tbRecent->setPopupMode(QToolButton::MenuButtonPopup);
93+
tbRecent->setPopupMode(QToolButton::InstantPopup);
9294
tbRecent->setMenu(m_pRecentMenu);
9395
tbRecent->setIcon(pRecentAction->icon());
9496
tbRecent->setText(pRecentAction->text());
@@ -103,7 +105,7 @@ MainWindow::MainWindow(QWidget *parent)
103105

104106
QToolButton* tbStart = new QToolButton(ui->toolBar);
105107
tbStart->setFocusPolicy(Qt::NoFocus);
106-
tbStart->setPopupMode(QToolButton::MenuButtonPopup);
108+
tbStart->setPopupMode(QToolButton::InstantPopup);
107109
//tbStart->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
108110
tbStart->setMenu(ui->menuStart);
109111
tbStart->setIcon(QIcon::fromTheme("media-playback-start"));
@@ -540,9 +542,9 @@ void MainWindow::slotLoadOperateMenu()
540542

541543
if(m_pActionOperateMenu) {
542544
ui->menuTools->removeAction(m_pActionOperateMenu);
543-
ui->toolBar->removeAction(m_pActionOperateMenu);
544545
m_pActionOperateMenu = nullptr;
545546
}
547+
ui->toolBar->removeAction(m_pActionTBOperate);
546548

547549
if(!m_pView)
548550
return;
@@ -558,8 +560,22 @@ void MainWindow::slotLoadOperateMenu()
558560
qDebug(log) << "Load plugin menu";
559561
auto m = op->GetMenu(ui->menuTools);
560562
if(!m) return;
563+
// Menu tool bar
561564
m_pActionOperateMenu = ui->menuTools->addMenu(m);
562-
ui->toolBar->insertAction(ui->actionFull_screen_F, m_pActionOperateMenu);
565+
// ToolBar
566+
if(!m_pTBOperate)
567+
m_pTBOperate = new QToolButton(ui->toolBar);
568+
if(m_pTBOperate) {
569+
m_pTBOperate->setFocusPolicy(Qt::NoFocus);
570+
m_pTBOperate->setPopupMode(QToolButton::InstantPopup);
571+
m_pTBOperate->setMenu(m);
572+
m_pTBOperate->setIcon(m->icon());
573+
m_pTBOperate->setText(m->title());
574+
m_pTBOperate->setToolTip(m->toolTip());
575+
m_pTBOperate->setStatusTip(m->statusTip());
576+
m_pTBOperate->show();
577+
m_pActionTBOperate = ui->toolBar->insertWidget(ui->actionFull_screen_F, m_pTBOperate);
578+
}
563579
emit sigOperateMenuChanged(m_pActionOperateMenu);
564580
}
565581
}

App/Client/mainwindow.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ private Q_SLOTS:
7575

7676
public:
7777
QAction* m_pActionOperateMenu;
78+
QAction* m_pActionTBOperate;
79+
QToolButton* m_pTBOperate;
7880

7981
///////// Stop /////////
8082
private Q_SLOTS:

0 commit comments

Comments
 (0)