Wireshark 5.1.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
packet_list_pane.h
Go to the documentation of this file.
1
12
13#ifndef PACKET_LIST_PANE_H
14#define PACKET_LIST_PANE_H
15
16#include <QWidget>
17#include <QPoint>
18
19class PacketList;
20class PinnedRowView;
21class QHBoxLayout;
22class QHeaderView;
23class QLabel;
24
77class PacketListPane : public QWidget
78{
79 Q_OBJECT
80public:
81 explicit PacketListPane(QWidget *parent = nullptr);
82
83 PacketList *packetList() { return packet_list_; }
84
85protected:
99 bool eventFilter(QObject *watched, QEvent *event) override;
100
101private:
102 PacketList *packet_list_;
103
107 QWidget *pinned_rows_strip_;
108 QHBoxLayout *pinned_rows_layout_;
109 PinnedRowView *pinned_row_corner_view_;
110 PinnedRowView *pinned_row_view_;
111
119 QWidget *pinned_rows_divider_;
120
125 QWidget *duplicate_header_strip_;
126 QHBoxLayout *duplicate_header_layout_;
127
134 QHeaderView *duplicate_header_corner_;
135 QHeaderView *duplicate_header_main_;
136
137 // Hand-rolled column-reorder drag across both duplicate headers.
138 bool handleHeaderDrag(QHeaderView *header, QEvent *event);
139 int dragTargetSection(int strip_x, int from) const;
140 QHeaderView *drag_source_ = nullptr;
141 int drag_section_ = -1;
142 int drag_grab_dx_ = 0;
143 QPoint drag_press_global_;
144 bool drag_pressed_ = false;
145 bool drag_active_ = false;
146 QLabel *drag_ghost_ = nullptr;
147
148private slots:
165 void updatePinnedRowsStripWidth(int corner_width, bool have_pinned_rows);
166};
167
168#endif // PACKET_LIST_PANE_H
The main packet list view for displaying captured packets.
Definition packet_list.h:51
bool eventFilter(QObject *watched, QEvent *event) override
Forwards a right-click on duplicate_header_corner_/ duplicate_header_main_ to the real header's own c...
Definition packet_list_pane.cpp:577
A QTreeView clone that shows every row of a PinnedRowsModel (i.e. every currently pinned packet,...
Definition pinned_row_view.h:32