Wireshark  4.3.0
The Wireshark network protocol analyzer
main_status_bar.h
Go to the documentation of this file.
1 
10 #ifndef MAIN_STATUS_BAR_H
11 #define MAIN_STATUS_BAR_H
12 
13 #include "config.h"
14 
15 #include "cfile.h"
16 
18 
22 #include "progress_frame.h"
23 #include "wireshark_application.h"
24 
25 #include <QLabel>
26 #include <QMenu>
27 #include <QStatusBar>
28 
29 class CaptureFile;
30 class QToolButton;
31 
32 class MainStatusBar : public QStatusBar
33 {
34  Q_OBJECT
35 public:
36  explicit MainStatusBar(QWidget *parent = 0);
37  void showExpert();
38  void captureFileClosing();
39  void expertUpdate();
40  void setFileName(CaptureFile &cf);
41 
42 protected:
43 
44  enum StatusContext {
45  STATUS_CTX_MAIN,
46  STATUS_CTX_FILE,
47  STATUS_CTX_FIELD,
48  STATUS_CTX_BYTE,
49  STATUS_CTX_FILTER,
50  STATUS_CTX_PROGRESS,
51  STATUS_CTX_TEMPORARY
52  };
53 
54  virtual void changeEvent(QEvent* event);
55 
56 private:
57  QToolButton *expert_button_;
58  QToolButton *comment_button_;
59  LabelStack info_status_;
60  ProgressFrame progress_frame_;
61  LabelStack packet_status_;
62  ClickableLabel profile_status_;
63  capture_file *cap_file_;
64  QString ready_msg_;
65 
66  // Capture statistics
67  bool cs_fixed_;
68  uint32_t cs_count_;
69 
70  void showCaptureStatistics();
71  void setStatusbarForCaptureFile();
72 
73  void pushGenericStatus(StatusContext status, const QString &message, const QString &messagetip = QString());
74  void popGenericStatus(StatusContext status);
75 
76 signals:
77  void showExpertInfo();
78  void editCaptureComment();
79  void stopLoading();
80 
81 public slots:
82  void setCaptureFile(capture_file *cf);
83  void selectedFieldChanged(FieldInformation *);
84  void highlightedFieldChanged(FieldInformation *);
85  void selectedFrameChanged(QList<int>);
86 
87  void updateCaptureStatistics(capture_session * cap_session);
88  void updateCaptureFixedStatistics(capture_session * cap_session);
89 
90  void captureEventHandler(CaptureEvent ev);
91 
92 private slots:
93  void appInitialized();
94  void toggleBackground(bool enabled);
95  void setProfileName();
96  void switchToProfile();
97  void manageProfile();
98  void showProfileMenu(const QPoint &global_pos, Qt::MouseButton button);
99 
100  friend MainApplication;
101 };
102 
103 #endif // MAIN_STATUS_BAR_H
Definition: capture_event.h:21
Definition: capture_file.h:21
Definition: clickable_label.h:18
Definition: field_information.h:23
Definition: label_stack.h:19
Definition: main_application.h:49
Definition: main_status_bar.h:33
Definition: progress_frame.h:37
Definition: cfile.h:67
Definition: capture_session.h:137