diff options
-rw-r--r-- | image/toolbar.qrc | 2 | ||||
-rw-r--r-- | ui/gtk/main.c | 4 | ||||
-rw-r--r-- | ui/qt/main_window.cpp | 3 | ||||
-rw-r--r-- | ui/qt/main_window.h | 1 | ||||
-rw-r--r-- | ui/qt/main_window.ui | 28 | ||||
-rw-r--r-- | ui/qt/main_window_slots.cpp | 25 | ||||
-rw-r--r-- | ui/qt/packet_list.cpp | 4 | ||||
-rw-r--r-- | ui/qt/packet_list_model.cpp | 21 | ||||
-rw-r--r-- | ui/qt/packet_list_model.h | 3 | ||||
-rw-r--r-- | ui/qt/packet_list_record.cpp | 7 | ||||
-rw-r--r-- | ui/qt/packet_list_record.h | 7 |
11 files changed, 73 insertions, 32 deletions
diff --git a/image/toolbar.qrc b/image/toolbar.qrc index 631b6cb63c..da3ca10d4e 100644 --- a/image/toolbar.qrc +++ b/image/toolbar.qrc @@ -23,6 +23,7 @@ <file>toolbar/16x16/x-capture-start.on.png</file> <file>toolbar/16x16/x-capture-start.png</file> <file>toolbar/16x16/x-capture-stop.png</file> + <file>toolbar/16x16/x-colorize-packets.png</file> <file>toolbar/24x24/edit-find.png</file> <file>toolbar/24x24/go-first.png</file> <file>toolbar/24x24/go-jump.png</file> @@ -37,5 +38,6 @@ <file>toolbar/24x24/x-capture-start.on.png</file> <file>toolbar/24x24/x-capture-start.png</file> <file>toolbar/24x24/x-capture-stop.png</file> + <file>toolbar/24x24/x-colorize-packets.png</file> </qresource> </RCC> diff --git a/ui/gtk/main.c b/ui/gtk/main.c index a057ca7022..322c5dcb12 100644 --- a/ui/gtk/main.c +++ b/ui/gtk/main.c @@ -1360,8 +1360,8 @@ main_update_for_unsaved_changes(capture_file *cf) void main_auto_scroll_live_changed(gboolean auto_scroll_live_in) { - /* Update menubar and toolbar */ - menu_auto_scroll_live_changed(auto_scroll_live_in); + /* Update menubar and toolbar */ + menu_auto_scroll_live_changed(auto_scroll_live_in); toolbar_auto_scroll_live_changed(auto_scroll_live_in); /* change auto scroll state */ diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp index f30650f07c..a589914cea 100644 --- a/ui/qt/main_window.cpp +++ b/ui/qt/main_window.cpp @@ -166,7 +166,8 @@ MainWindow::MainWindow(QWidget *parent) : main_ui_->actionGoFirstPacket->setIcon(StockIcon("go-first")); main_ui_->actionGoLastPacket->setIcon(StockIcon("go-last")); -// main_ui_->actionViewColorizePackets->setIcon(StockIcon("x-colorize-packets")); + main_ui_->actionViewColorizePacketList->setIcon(StockIcon("x-colorize-packets")); + main_ui_->actionViewColorizePacketList->setChecked(recent.packet_list_colorize); // main_ui_->actionViewAutoScroll->setIcon(StockIcon("x-stay-last")); // main_ui_->actionViewZoomIn->setIcon(StockIcon("zoom-in")); diff --git a/ui/qt/main_window.h b/ui/qt/main_window.h index ff328967a9..66d0259021 100644 --- a/ui/qt/main_window.h +++ b/ui/qt/main_window.h @@ -277,6 +277,7 @@ private slots: void on_actionEditConfigurationProfiles_triggered(); void on_actionEditPreferences_triggered(); + void on_actionViewColorizePacketList_triggered(bool checked); void on_actionViewReload_triggered(); void on_actionViewToolbarMainToolbar_triggered(); void on_actionViewToolbarDisplayFilter_triggered(); diff --git a/ui/qt/main_window.ui b/ui/qt/main_window.ui index b667997267..41154df429 100644 --- a/ui/qt/main_window.ui +++ b/ui/qt/main_window.ui @@ -244,8 +244,11 @@ <addaction name="actionViewExpandAll"/> <addaction name="actionViewCollapseAll"/> <addaction name="separator"/> - <addaction name="actionViewReload"/> + <addaction name="actionViewColorizePacketList"/> + <addaction name="separator"/> + <addaction name="actionViewZoomIn"/> <addaction name="separator"/> + <addaction name="actionViewReload"/> <addaction name="menuToolbars"/> </widget> <widget class="QMenu" name="menuAnalyze"> @@ -495,6 +498,7 @@ <addaction name="actionGoFirstPacket"/> <addaction name="actionGoLastPacket"/> <addaction name="separator"/> + <addaction name="actionViewColorizePacketList"/> </widget> <widget class="MainStatusBar" name="statusBar"/> <widget class="QToolBar" name="displayFilterToolBar"> @@ -1731,6 +1735,28 @@ <string>Endpoints at different protocol levels</string> </property> </action> + <action name="actionViewColorizePacketList"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="text"> + <string>Colorize Packet List</string> + </property> + <property name="toolTip"> + <string>Color packets according to the coloring rules</string> + </property> + </action> + <action name="actionViewZoomIn"> + <property name="text"> + <string>&Zoom In</string> + </property> + <property name="toolTip"> + <string>Enlarge the main window text</string> + </property> + <property name="shortcut"> + <string>Meta++</string> + </property> + </action> </widget> <layoutdefault spacing="6" margin="11"/> <customwidgets> diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp index f9e73b60c3..ea5fc246de 100644 --- a/ui/qt/main_window_slots.cpp +++ b/ui/qt/main_window_slots.cpp @@ -34,9 +34,6 @@ #include "globals.h" -#include <wsutil/filesystem.h> -#include <epan/prefs.h> - #ifdef _WIN32 #include <windows.h> #include <io.h> @@ -46,24 +43,30 @@ #include "ui/capture.h" #endif +#include "color_filters.h" + #include "wsutil/file_util.h" +#include "wsutil/filesystem.h" #include "epan/column.h" -#include <epan/epan_dissect.h> +#include "epan/epan_dissect.h" #include "epan/filter_expressions.h" -#include <epan/value_string.h> +#include "epan/prefs.h" +#include "epan/value_string.h" #include "ui/alert_box.h" #ifdef HAVE_LIBPCAP #include "ui/capture_ui_utils.h" #endif -#include "ui/ui_util.h" + #include "ui/capture_globals.h" #include "ui/help_url.h" #include "ui/main_statusbar.h" #include "ui/preference_utils.h" +#include "ui/recent.h" #include "ui/recent_utils.h" #include "ui/ssl_key_export.h" +#include "ui/ui_util.h" #ifdef HAVE_SOFTWARE_UPDATE #include "ui/software_update.h" @@ -421,13 +424,11 @@ void MainWindow::captureCaptureUpdateFinished(capture_session *cap_session) { void MainWindow::captureCaptureFixedStarted(capture_session *cap_session) { Q_UNUSED(cap_session); #ifdef HAVE_LIBPCAP - qDebug() << "captureCaptureFixedStarted"; #endif // HAVE_LIBPCAP } void MainWindow::captureCaptureFixedFinished(capture_session *cap_session) { Q_UNUSED(cap_session); #ifdef HAVE_LIBPCAP - qDebug() << "captureCaptureFixedFinished"; /* The capture isn't stopping any more - it's stopped. */ capture_stopping_ = false; @@ -450,7 +451,6 @@ void MainWindow::captureCaptureStopping(capture_session *cap_session) { void MainWindow::captureCaptureFailed(capture_session *cap_session) { Q_UNUSED(cap_session); #ifdef HAVE_LIBPCAP - qDebug() << "captureCaptureFailed"; /* Capture isn't stopping any more. */ capture_stopping_ = false; @@ -1677,6 +1677,13 @@ void MainWindow::on_actionEditPreferences_triggered() // View Menu +void MainWindow::on_actionViewColorizePacketList_triggered(bool checked) { + recent.packet_list_colorize = checked; + color_filters_enable(checked); + packet_list_->packetListModel()->resetColorized(); + packet_list_->update(); +} + void MainWindow::on_actionViewReload_triggered() { cf_reload(&cfile); diff --git a/ui/qt/packet_list.cpp b/ui/qt/packet_list.cpp index 23e0a88ccf..2964a978b6 100644 --- a/ui/qt/packet_list.cpp +++ b/ui/qt/packet_list.cpp @@ -154,8 +154,9 @@ packet_list_clear(void) void packet_list_enable_color(gboolean enable) { + Q_UNUSED(enable); if (gbl_cur_packet_list && gbl_cur_packet_list->packetListModel()) { - gbl_cur_packet_list->packetListModel()->setColorEnabled(enable); + gbl_cur_packet_list->packetListModel()->resetColorized(); gbl_cur_packet_list->update(); } } @@ -239,7 +240,6 @@ PacketList::PacketList(QWidget *parent) : packet_list_model_ = new PacketListModel(this, cap_file_); setModel(packet_list_model_); - packet_list_model_->setColorEnabled(recent.packet_list_colorize); // XXX We might want to reimplement setParent() and fill in the context // menu there. diff --git a/ui/qt/packet_list_model.cpp b/ui/qt/packet_list_model.cpp index db9cf0d243..cc034a5af7 100644 --- a/ui/qt/packet_list_model.cpp +++ b/ui/qt/packet_list_model.cpp @@ -93,10 +93,6 @@ guint PacketListModel::recreateVisibleRows() return visible_rows_.count(); } -void PacketListModel::setColorEnabled(bool enable_color) { - enable_color_ = enable_color; -} - void PacketListModel::clear() { beginResetModel(); physical_rows_.clear(); @@ -114,6 +110,17 @@ void PacketListModel::resetColumns() endResetModel(); } +void PacketListModel::resetColorized() +{ + PacketListRecord *record; + + beginResetModel(); + foreach (record, physical_rows_) { + record->resetColorized(); + } + endResetModel(); +} + int PacketListModel::rowCount(const QModelIndex &parent) const { if (parent.column() >= prefs.num_cols) @@ -170,20 +177,19 @@ QVariant PacketListModel::data(const QModelIndex &index, int role) const color = &prefs.gui_ignored_bg; } else if (fdata->flags.marked) { color = &prefs.gui_marked_bg; - } else if (fdata->color_filter) { + } else if (fdata->color_filter && recent.packet_list_colorize) { const color_filter_t *color_filter = (const color_filter_t *) fdata->color_filter; color = &color_filter->bg_color; } else { return QVariant(); } -// g_log(NULL, G_LOG_LEVEL_DEBUG, "i: %d m: %d cf: %p bg: %d %d %d", fdata->flags.ignored, fdata->flags.marked, fdata->color_filter, color->red, color->green, color->blue); return QColor(color->red >> 8, color->green >> 8, color->blue >> 8); case Qt::ForegroundRole: if (fdata->flags.ignored) { color = &prefs.gui_ignored_fg; } else if (fdata->flags.marked) { color = &prefs.gui_marked_fg; - } else if (fdata->color_filter) { + } else if (fdata->color_filter && recent.packet_list_colorize) { const color_filter_t *color_filter = (const color_filter_t *) fdata->color_filter; color = &color_filter->fg_color; } else { @@ -193,7 +199,6 @@ QVariant PacketListModel::data(const QModelIndex &index, int role) const case Qt::DisplayRole: { int column = index.column(); - // g_log(NULL, G_LOG_LEVEL_DEBUG, "showing col %d", col_num); return record->columnString(cap_file_, column); } default: diff --git a/ui/qt/packet_list_model.h b/ui/qt/packet_list_model.h index f325087cf9..f245c111c7 100644 --- a/ui/qt/packet_list_model.h +++ b/ui/qt/packet_list_model.h @@ -49,7 +49,6 @@ public: QModelIndex parent(const QModelIndex &index) const; int packetNumberToRow(int packet_num) const; guint recreateVisibleRows(); - void setColorEnabled(bool enable_color); void clear(); int rowCount(const QModelIndex &parent = QModelIndex()) const; @@ -62,6 +61,7 @@ public: frame_data *getRowFdata(int row); int visibleIndexOf(frame_data *fdata) const; void resetColumns(); + void resetColorized(); signals: @@ -76,7 +76,6 @@ private: QFont pl_font_; int header_height_; - bool enable_color_; }; #endif // PACKET_LIST_MODEL_H diff --git a/ui/qt/packet_list_record.cpp b/ui/qt/packet_list_record.cpp index b5c50a979d..296693b59b 100644 --- a/ui/qt/packet_list_record.cpp +++ b/ui/qt/packet_list_record.cpp @@ -78,6 +78,11 @@ void PacketListRecord::resetColumns(column_info *cinfo) } } +void PacketListRecord::resetColorized() +{ + colorized_ = false; +} + void PacketListRecord::dissect(capture_file *cap_file, bool dissect_color) { // packet_list_store.c:packet_list_dissect_and_cache_record @@ -117,7 +122,7 @@ void PacketListRecord::dissect(capture_file *cap_file, bool dissect_color) } if (dissect_color) { fdata_->color_filter = NULL; - colorized_ = TRUE; + colorized_ = true; } ws_buffer_free(&buf); return; /* error reading the record */ diff --git a/ui/qt/packet_list_record.h b/ui/qt/packet_list_record.h index 574da0d912..c1042118bf 100644 --- a/ui/qt/packet_list_record.h +++ b/ui/qt/packet_list_record.h @@ -44,6 +44,7 @@ public: frame_data *frameData(); static void resetColumns(column_info *cinfo); + void resetColorized(); private: /** The column text for some columns */ @@ -56,12 +57,6 @@ private: /** Has this record been colorized? */ bool colorized_; - /* admin stuff used by the custom list model */ - /** position within the physical array */ - //guint physical_pos_; - /** position within the visible array */ - //gint visible_pos_; - void dissect(capture_file *cap_file, bool dissect_color = false); void cacheColumnStrings(column_info *cinfo); |