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/main_status_bar.h | 103 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 ui/qt/main_status_bar.h (limited to 'ui/qt/main_status_bar.h') diff --git a/ui/qt/main_status_bar.h b/ui/qt/main_status_bar.h new file mode 100644 index 00000000..611bc017 --- /dev/null +++ b/ui/qt/main_status_bar.h @@ -0,0 +1,103 @@ +/** @file + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef MAIN_STATUS_BAR_H +#define MAIN_STATUS_BAR_H + +#include "config.h" + +#include "cfile.h" + +#include "capture/capture_session.h" + +#include +#include +#include +#include "progress_frame.h" +#include "wireshark_application.h" + +#include +#include +#include + +class CaptureFile; +class QToolButton; + +class MainStatusBar : public QStatusBar +{ + Q_OBJECT +public: + explicit MainStatusBar(QWidget *parent = 0); + void showExpert(); + void captureFileClosing(); + void expertUpdate(); + void setFileName(CaptureFile &cf); + +protected: + + enum StatusContext { + STATUS_CTX_MAIN, + STATUS_CTX_FILE, + STATUS_CTX_FIELD, + STATUS_CTX_BYTE, + STATUS_CTX_FILTER, + STATUS_CTX_PROGRESS, + STATUS_CTX_TEMPORARY + }; + + virtual void changeEvent(QEvent* event); + +private: + QToolButton *expert_button_; + QToolButton *comment_button_; + LabelStack info_status_; + ProgressFrame progress_frame_; + LabelStack packet_status_; + ClickableLabel profile_status_; + capture_file *cap_file_; + QString ready_msg_; + + // Capture statistics + bool cs_fixed_; + guint32 cs_count_; + + void showCaptureStatistics(); + void setStatusbarForCaptureFile(); + + void pushGenericStatus(StatusContext status, const QString &message, const QString &messagetip = QString()); + void popGenericStatus(StatusContext status); + +signals: + void showExpertInfo(); + void editCaptureComment(); + void stopLoading(); + +public slots: + void setCaptureFile(capture_file *cf); + void selectedFieldChanged(FieldInformation *); + void highlightedFieldChanged(FieldInformation *); + void selectedFrameChanged(QList); + + void updateCaptureStatistics(capture_session * cap_session); + void updateCaptureFixedStatistics(capture_session * cap_session); + + void captureEventHandler(CaptureEvent ev); + +private slots: + void appInitialized(); + void toggleBackground(bool enabled); + void setProfileName(); + void switchToProfile(); + void manageProfile(); + void showProfileMenu(const QPoint &global_pos, Qt::MouseButton button); + + friend MainApplication; +}; + +#endif // MAIN_STATUS_BAR_H -- cgit v1.2.3