1 /* packet_list_header.h 2 * 3 * Wireshark - Network traffic analyzer 4 * By Gerald Combs <gerald@wireshark.org> 5 * Copyright 1998 Gerald Combs 6 * 7 * SPDX-License-Identifier: GPL-2.0-or-later 8 */ 9 10 #ifndef UI_QT_WIDGETS_PACKET_LIST_HEADER_H_ 11 #define UI_QT_WIDGETS_PACKET_LIST_HEADER_H_ 12 13 #include <cfile.h> 14 15 #include <QHeaderView> 16 #include <QDrag> 17 #include <QMenu> 18 19 class QEvent; 20 21 class PacketListHeader : public QHeaderView 22 { 23 Q_OBJECT 24 25 public: 26 PacketListHeader(Qt::Orientation orientation, capture_file * cap_file, QWidget *parent = nullptr); 27 28 void setCaptureFile(capture_file * cap_file); 29 30 protected: 31 virtual void dropEvent(QDropEvent *event) override; 32 virtual void dragEnterEvent(QDragEnterEvent *event) override; 33 virtual void dragMoveEvent(QDragMoveEvent *event) override; 34 35 virtual void mouseMoveEvent(QMouseEvent *e) override; 36 virtual void mousePressEvent(QMouseEvent *e) override; 37 38 virtual void contextMenuEvent(QContextMenuEvent *event) override; 39 40 protected slots: 41 void columnVisibilityTriggered(); 42 43 void setAlignment(QAction *); 44 45 void showColumnPrefs(); 46 void doEditColumn(); 47 void doResolveNames(); 48 void resizeToContent(); 49 void removeColumn(); 50 void resizeToWidth(); 51 52 signals: 53 void resetColumnWidth(int col); 54 void updatePackets(bool redraw); 55 void showColumnPreferences(QString pane_name); 56 void editColumn(int column); 57 58 void columnsChanged(); 59 60 private: 61 62 capture_file * cap_file_; 63 int sectionIdx; 64 int lastSize; 65 66 void setSectionVisibility(); 67 }; 68 69 #endif 70