From aa100e0726dcade27a59f7962c465cfb7e61e284 Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Fri, 28 Aug 2015 12:57:57 -0700 Subject: Don't show a progress frame if our file was closed. Change-Id: Ie363f6764f4e8b2b5c476b85f7ddb0233a127f6e Reviewed-on: https://code.wireshark.org/review/10290 Petri-Dish: Gerald Combs Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs --- ui/qt/main_status_bar.cpp | 3 ++- ui/qt/main_status_bar.h | 2 +- ui/qt/main_window_slots.cpp | 4 ++-- ui/qt/progress_frame.cpp | 12 ++++++++++++ ui/qt/progress_frame.h | 1 + 5 files changed, 18 insertions(+), 4 deletions(-) (limited to 'ui/qt') diff --git a/ui/qt/main_status_bar.cpp b/ui/qt/main_status_bar.cpp index 9802294be7..f8978451fb 100644 --- a/ui/qt/main_status_bar.cpp +++ b/ui/qt/main_status_bar.cpp @@ -196,8 +196,9 @@ void MainStatusBar::showExpert() { expertUpdate(); } -void MainStatusBar::hideExpert() { +void MainStatusBar::captureFileClosing() { expert_status_.hide(); + progress_frame_.captureFileClosing(); } void MainStatusBar::expertUpdate() { diff --git a/ui/qt/main_status_bar.h b/ui/qt/main_status_bar.h index e547196f70..89c5c6eaa2 100644 --- a/ui/qt/main_status_bar.h +++ b/ui/qt/main_status_bar.h @@ -44,7 +44,7 @@ class MainStatusBar : public QStatusBar public: explicit MainStatusBar(QWidget *parent = 0); void showExpert(); - void hideExpert(); + void captureFileClosing(); void expertUpdate(); void setFileName(CaptureFile &cf); diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp index 2f1339ae2c..9d120b3095 100644 --- a/ui/qt/main_window_slots.cpp +++ b/ui/qt/main_window_slots.cpp @@ -697,7 +697,7 @@ void MainWindow::captureFileClosing() { setForCaptureInProgress(false); // Reset expert information indicator - main_ui_->statusBar->hideExpert(); + main_ui_->statusBar->captureFileClosing(); main_ui_->searchFrame->animatedHide(); // gtk_widget_show(expert_info_none); emit setCaptureFile(NULL); @@ -711,7 +711,7 @@ void MainWindow::captureFileClosed() { setMenusForFileSet(false); // Reset expert information indicator - main_ui_->statusBar->hideExpert(); + main_ui_->statusBar->captureFileClosing(); main_ui_->statusBar->popFileStatus(); diff --git a/ui/qt/progress_frame.cpp b/ui/qt/progress_frame.cpp index fd24ff3313..8c9576ae0a 100644 --- a/ui/qt/progress_frame.cpp +++ b/ui/qt/progress_frame.cpp @@ -211,6 +211,18 @@ void ProgressFrame::addToButtonBox(QDialogButtonBox *button_box, QObject *main_w main_progress_frame, SIGNAL(stopLoading())); } +void ProgressFrame::captureFileClosing() +{ + // Hide any paired ProgressFrames and disconnect from them. + emit setHidden(); + disconnect(SIGNAL(showRequested(bool,bool,gboolean*))); + disconnect(SIGNAL(maximumValueChanged(int))); + disconnect(SIGNAL(valueChanged(int))); + + connect(this, SIGNAL(showRequested(bool,bool,gboolean*)), + this, SLOT(show(bool,bool,gboolean*))); +} + void ProgressFrame::setValue(int value) { ui->progressBar->setValue(value); diff --git a/ui/qt/progress_frame.h b/ui/qt/progress_frame.h index f8315e5b0f..032176809f 100644 --- a/ui/qt/progress_frame.h +++ b/ui/qt/progress_frame.h @@ -56,6 +56,7 @@ public: void enableTaskbarUpdates(bool enable = true) { update_taskbar_ = enable; } #endif static void addToButtonBox(QDialogButtonBox *button_box, QObject *main_window); + void captureFileClosing(); public slots: struct progdlg *showProgress(bool animate, bool terminate_is_stop, gboolean *stop_flag, int value = 0); -- cgit v1.2.3