From e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:34:10 +0200 Subject: Adding upstream version 4.2.2. Signed-off-by: Daniel Baumann --- ui/qt/progress_frame.h | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 ui/qt/progress_frame.h (limited to 'ui/qt/progress_frame.h') diff --git a/ui/qt/progress_frame.h b/ui/qt/progress_frame.h new file mode 100644 index 0000000..241afab --- /dev/null +++ b/ui/qt/progress_frame.h @@ -0,0 +1,91 @@ +/** @file + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef PROGRESS_FRAME_H +#define PROGRESS_FRAME_H + +#include + +#include + +namespace Ui { +class ProgressFrame; +} + +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && defined(Q_OS_WIN) +#include +#include +#endif + +class ProgressFrame; +class QDialogButtonBox; +class QElapsedTimer; +class QGraphicsOpacityEffect; +class QPropertyAnimation; + +// Define the structure describing a progress dialog. +struct progdlg { + ProgressFrame *progress_frame; // This progress frame + QWidget *top_level_window; // Progress frame's main window +}; + +class ProgressFrame : public QFrame +{ + Q_OBJECT + +public: + explicit ProgressFrame(QWidget *parent = 0); + ~ProgressFrame(); + +#ifdef QWINTASKBARPROGRESS_H + 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(const QString &title, bool animate, bool terminate_is_stop, gboolean *stop_flag, int value = 0); + struct progdlg *showBusy(bool animate, bool terminate_is_stop, gboolean *stop_flag); + void setValue(int value); + void hide(); + +signals: + void showRequested(bool animate, bool terminate_is_stop, gboolean *stop_flag); + void valueChanged(int value); + void maximumValueChanged(int value); + void setHidden(); + void stopLoading(); + +protected: + void timerEvent(QTimerEvent *event); + +private: + Ui::ProgressFrame *ui; + + struct progdlg progress_dialog_; + QString message_; + QString status_; + bool terminate_is_stop_; + gboolean *stop_flag_; + int show_timer_; + QGraphicsOpacityEffect *effect_; + QPropertyAnimation *animation_; +#ifdef QWINTASKBARPROGRESS_H + bool update_taskbar_; + QWinTaskbarProgress *taskbar_progress_; +#endif + +private slots: + void on_stopButton_clicked(); + + void show(bool animate, bool terminate_is_stop, gboolean *stop_flag); + void setMaximumValue(int value); +}; + +#endif // PROGRESS_FRAME_H -- cgit v1.2.3