From 1ea52f474d0772ac385d5201c9a302e180cc1983 Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Fri, 18 Feb 2022 14:24:47 +0800 Subject: [PATCH] add: update toolbar menu --- DSView/pv/toolbars/logobar.cpp | 38 +++++++++++++++++++++++++--------- DSView/pv/toolbars/logobar.h | 3 +++ 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/DSView/pv/toolbars/logobar.cpp b/DSView/pv/toolbars/logobar.cpp index 3914d9f0..c61e26cc 100755 --- a/DSView/pv/toolbars/logobar.cpp +++ b/DSView/pv/toolbars/logobar.cpp @@ -51,12 +51,10 @@ LogoBar::LogoBar(SigSession *session, QWidget *parent) : _action_en = new QAction(this); _action_en->setObjectName(QString::fromUtf8("actionEn")); - connect(_action_en, SIGNAL(triggered()), this, SLOT(on_actionEn_triggered())); - + _action_cn = new QAction(this); _action_cn->setObjectName(QString::fromUtf8("actionCn")); - connect(_action_cn, SIGNAL(triggered()), this, SLOT(on_actionCn_triggered())); - + _language = new QMenu(this); _language->setObjectName(QString::fromUtf8("menuLanguage")); _language->addAction(_action_cn); @@ -68,23 +66,23 @@ LogoBar::LogoBar(SigSession *session, QWidget *parent) : _about = new QAction(this); _about->setObjectName(QString::fromUtf8("actionAbout")); _logo_button.addAction(_about); - connect(_about, SIGNAL(triggered()), this, SLOT(on_actionAbout_triggered())); - + _manual = new QAction(this); _manual->setObjectName(QString::fromUtf8("actionManual")); _logo_button.addAction(_manual); - connect(_manual, SIGNAL(triggered()), this, SIGNAL(sig_open_doc())); - + _issue = new QAction(this); _issue->setObjectName(QString::fromUtf8("actionManual")); - _logo_button.addAction(_issue); - connect(_issue, SIGNAL(triggered()), this, SLOT(on_actionIssue_triggered())); + _logo_button.addAction(_issue); + + _update = new QAction(this); _menu = new QMenu(this); _menu->addMenu(_language); _menu->addAction(_about); _menu->addAction(_manual); _menu->addAction(_issue); + _menu->addAction(_update); _logo_button.setMenu(_menu); _logo_button.setToolButtonStyle(Qt::ToolButtonTextUnderIcon); @@ -99,6 +97,13 @@ LogoBar::LogoBar(SigSession *session, QWidget *parent) : addWidget(margin); retranslateUi(); + + connect(_action_en, SIGNAL(triggered()), this, SLOT(on_actionEn_triggered())); + connect(_action_cn, SIGNAL(triggered()), this, SLOT(on_actionCn_triggered())); + connect(_about, SIGNAL(triggered()), this, SLOT(on_actionAbout_triggered())); + connect(_manual, SIGNAL(triggered()), this, SIGNAL(sig_open_doc())); + connect(_issue, SIGNAL(triggered()), this, SLOT(on_actionIssue_triggered())); + connect(_update, SIGNAL(triggered()), this, SLOT(on_action_update())); } void LogoBar::changeEvent(QEvent *event) @@ -119,6 +124,7 @@ void LogoBar::retranslateUi() _about->setText(tr("&About...")); _manual->setText(tr("&Manual")); _issue->setText(tr("&Bug Report")); + _update->setText(tr("&Update")); AppConfig &app = AppConfig::Instance(); if (app._frameOptions.language == LAN_CN) @@ -134,6 +140,8 @@ void LogoBar::reStyle() _about->setIcon(QIcon(iconPath+"/about.svg")); _manual->setIcon(QIcon(iconPath+"/manual.svg")); _issue->setIcon(QIcon(iconPath+"/bug.svg")); + _update->setIcon(QIcon(iconPath+"/bug.svg")); + if (_connected) _logo_button.setIcon(QIcon(iconPath+"/logo_color.svg")); else @@ -203,6 +211,16 @@ void LogoBar::on_actionIssue_triggered() QDesktopServices::openUrl(QUrl(QLatin1String("https://github.com/DreamSourceLab/DSView/issues"))); } + void LogoBar::on_action_update() + { + if (AppConfig::Instance()._frameOptions.language == LAN_CN){ + QDesktopServices::openUrl(QUrl(QLatin1String("https://dreamsourcelab.cn/download/"))); + } + else{ + QDesktopServices::openUrl(QUrl(QLatin1String("https://www.dreamsourcelab.com/download/"))); + } + } + void LogoBar::enable_toggle(bool enable) { _logo_button.setDisabled(!enable); diff --git a/DSView/pv/toolbars/logobar.h b/DSView/pv/toolbars/logobar.h index a3f8982b..62edf003 100755 --- a/DSView/pv/toolbars/logobar.h +++ b/DSView/pv/toolbars/logobar.h @@ -74,6 +74,7 @@ private slots: void on_actionAbout_triggered(); void on_actionManual_triggered(); void on_actionIssue_triggered(); + void on_action_update(); private: bool _enable; @@ -91,6 +92,8 @@ private: QAction *_about; QAction *_manual; QAction *_issue; + QAction *_update; + IMainForm *_mainForm; };