47 enum SummaryCopyType {
53 Q_ENUM(SummaryCopyType)
55 virtual void scrollTo(
const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)
override;
56 QMenu *conversationMenu() {
return &conv_menu_; }
57 QMenu *colorizeMenu() {
return &colorize_menu_; }
66 bool freeze(
bool keep_current_frame =
false);
74 bool thaw(
bool restore_selection =
false);
76 void writeRecent(FILE *rf);
77 bool contextMenuActive();
78 QString getFilterFromRowAndColumn(QModelIndex idx);
79 void resetColorized();
80 QString getPacketComment(
unsigned c_number);
81 void addPacketComment(QString new_comment);
82 void setPacketComment(
unsigned c_number, QString new_comment);
83 QString allPacketComments();
84 void deleteCommentsFromPackets();
85 void deleteAllPacketComments();
86 void setVerticalAutoScroll(
bool enabled =
true);
87 void setCaptureInProgress(
bool in_progress =
false,
bool auto_scroll =
true) { capture_in_progress_ = in_progress; tail_at_end_ = in_progress && auto_scroll; }
88 void captureFileReadFinished();
89 void setColumnDelegate();
91 bool haveNextHistory(
bool update_cur =
false);
92 bool havePreviousHistory(
bool update_cur =
false);
95 frame_data * getFDataForRow(
int row)
const;
97 bool uniqueSelectActive();
98 bool multiSelectActive();
99 QList<int> selectedRows(
bool useFrameNum =
false);
101 QString createSummaryText(QModelIndex idx, SummaryCopyType type);
102 QString createHeaderSummaryText(SummaryCopyType type);
104 QStringList createHeaderPartsForAligned();
105 QList<int> createAlignmentPartsForAligned();
106 QList<int> createSizePartsForAligned(
bool useHeader, QStringList hdr_parts, QList<int> rows);
107 QString createHeaderSummaryForAligned(QStringList hdr_parts, QList<int> align_parts, QList<int> size_parts);
108 QString createSummaryForAligned(QModelIndex idx, QList<int> align_parts, QList<int> size_parts);
110 QString createDefaultStyleForHtml();
111 QString createOpeningTagForHtml();
112 QString createHeaderSummaryForHtml();
113 QString createSummaryForHtml(QModelIndex idx);
114 QString createClosingTagForHtml();
116 void resizeAllColumns(
bool onlyTimeFormatted =
false);
117 bool selectRow(
const frame_data*,
bool =
true);
121 void selectionChanged(
const QItemSelection & selected,
const QItemSelection & deselected)
override;
122 virtual void contextMenuEvent(QContextMenuEvent *event)
override;
123 void timerEvent(QTimerEvent *event)
override;
124 void paintEvent(QPaintEvent *event)
override;
125 virtual void mousePressEvent (QMouseEvent *event)
override;
126 virtual void mouseReleaseEvent (QMouseEvent *event)
override;
127 virtual void mouseMoveEvent (QMouseEvent *event)
override;
128 virtual void resizeEvent(QResizeEvent *event)
override;
129 virtual void keyPressEvent(QKeyEvent *event)
override;
130 virtual void focusInEvent(QFocusEvent *event)
override;
133 void rowsInserted(
const QModelIndex &parent,
int start,
int end)
override;
134 virtual void drawRow(QPainter *painter,
const QStyleOptionViewItem &option,
135 const QModelIndex &index)
const override;
143 QMenu colorize_menu_;
145 QByteArray column_state_;
147 int overlay_timer_id_;
148 bool create_near_overlay_;
149 bool create_far_overlay_;
150 QVector<QRgb> overlay_colors_;
151 bool changing_profile_;
153 QModelIndex mouse_pressed_at_;
157 QAction *show_hide_separator_;
158 QList<QAction *>show_hide_actions_;
159 bool capture_in_progress_;
161 bool columns_changed_;
162 bool set_column_visibility_;
163 bool set_style_sheet_;
164 QModelIndex frozen_current_row_;
165 QModelIndexList frozen_selected_rows_;
166 QVector<int> selection_history_;
169 GPtrArray *finfo_array;
172 void setFrameReftime(
bool set, frame_data *fdata);
173 void setColumnVisibility();
174 void setRecentColumnWidth(
int column);
175 void drawCurrentPacket();
176 void applyRecentColumnWidths();
177 void scrollViewChanged(
bool at_end);
178 QString joinSummaryRow(QStringList col_parts,
int row, SummaryCopyType type);
181 void packetDissectionChanged();
182 void showColumnPreferences(QString pane_name);
183 void editColumn(
int column);
184 void packetListScrolled(
bool at_end);
185 void showProtocolPreferences(
const QString module_name);
188 void framesSelected(QList<int>);
193 void setMonospaceFont(
const QFont &mono_font);
194 void setRegularFont(
const QFont ®ular_font);
196 void goPreviousPacket();
197 void goFirstPacket();
199 void goToPacket(
int packet,
int hf_id = -1);
200 void goNextHistoryPacket();
201 void goPreviousHistoryPacket();
203 void markAllDisplayedFrames(
bool set);
205 void ignoreAllDisplayedFrames(
bool set);
206 void setTimeReference();
207 void unsetAllTimeReferences();
208 void applyTimeShift();
209 void recolorPackets();
210 void redrawVisiblePackets();
211 void redrawVisiblePacketsDontSelectCurrent();
212 void colorsChanged();
213 void columnsChanged();
215 void preferencesChanged();
216 void freezePacketList(
bool changing_profile);
219 void columnVisibilityTriggered();
220 void sectionResized(
int col,
int,
int new_width);
221 void sectionMoved(
int,
int,
int);
223 void vScrollBarActionTriggered(
int);
224 void drawFarOverlay();
225 void drawNearOverlay();
226 void updatePackets(
bool redraw);
227 void ctxDecodeAsDialog();