From d2af08f770987d9aa4fb24b631c33c9c38dde54b Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Sat, 29 Aug 2015 23:02:30 +0200 Subject: [PATCH] GUI: status bar warnings/errors: only one context menu, always show --- .../status_bar_progress_widget.cpp | 38 +++++++------------ .../main_window/status_bar_progress_widget.h | 3 +- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.cpp b/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.cpp index 8070779cf..6c389f6c5 100644 --- a/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.cpp +++ b/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.cpp @@ -26,8 +26,8 @@ StatusBarProgressWidget::StatusBarProgressWidget(QWidget *parent) connect(&m_timer, &QTimer::timeout, this, &StatusBarProgressWidget::updateWarningsAndErrorsIcons); - connect(ui->warningsContainer, &QWidget::customContextMenuRequested, this, &StatusBarProgressWidget::showWarningsContextMenu); - connect(ui->errorsContainer, &QWidget::customContextMenuRequested, this, &StatusBarProgressWidget::showErrorsContextMenu); + connect(ui->warningsContainer, &QWidget::customContextMenuRequested, this, &StatusBarProgressWidget::showContextMenu); + connect(ui->errorsContainer, &QWidget::customContextMenuRequested, this, &StatusBarProgressWidget::showContextMenu); } StatusBarProgressWidget::~StatusBarProgressWidget() { @@ -103,35 +103,23 @@ StatusBarProgressWidget::updateWarningsAndErrorsIcons() { } void -StatusBarProgressWidget::showWarningsContextMenu(QPoint const &pos) { - if (!m_numWarnings) - return; - +StatusBarProgressWidget::showContextMenu(QPoint const &pos) { QMenu menu{this}; - auto acknowledge = new QAction{&menu}; - acknowledge->setText(QY("Acknowledge all &warnings")); + auto acknowledgeWarnings = new QAction{&menu}; + auto acknowledgeErrors = new QAction{&menu}; - connect(acknowledge, &QAction::triggered, MainWindow::jobTool()->model(), &mtx::gui::Jobs::Model::acknowledgeAllWarnings); + acknowledgeWarnings->setText(QY("Acknowledge all &warnings")); + acknowledgeErrors->setText(QY("Acknowledge all &errors")); - menu.addAction(acknowledge); + acknowledgeWarnings->setEnabled(!!m_numWarnings); + acknowledgeErrors->setEnabled(!!m_numErrors); - menu.exec(static_cast(sender())->mapToGlobal(pos)); -} + connect(acknowledgeWarnings, &QAction::triggered, MainWindow::jobTool()->model(), &mtx::gui::Jobs::Model::acknowledgeAllWarnings); + connect(acknowledgeErrors, &QAction::triggered, MainWindow::jobTool()->model(), &mtx::gui::Jobs::Model::acknowledgeAllErrors); -void -StatusBarProgressWidget::showErrorsContextMenu(QPoint const &pos) { - if (!m_numErrors) - return; - - QMenu menu{this}; - - auto acknowledge = new QAction{&menu}; - acknowledge->setText(QY("Acknowledge all &errors")); - - connect(acknowledge, &QAction::triggered, MainWindow::jobTool()->model(), &mtx::gui::Jobs::Model::acknowledgeAllErrors); - - menu.addAction(acknowledge); + menu.addAction(acknowledgeWarnings); + menu.addAction(acknowledgeErrors); menu.exec(static_cast(sender())->mapToGlobal(pos)); } diff --git a/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.h b/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.h index d2a0f6878..ec65b41ca 100644 --- a/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.h +++ b/src/mkvtoolnix-gui/main_window/status_bar_progress_widget.h @@ -35,8 +35,7 @@ public slots: void setNumUnacknowledgedWarningsOrErrors(int numWarnings, int numErrors); void updateWarningsAndErrorsIcons(); - void showWarningsContextMenu(QPoint const &pos); - void showErrorsContextMenu(QPoint const &pos); + void showContextMenu(QPoint const &pos); void reset();