summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--image/toolbar.qrc2
-rw-r--r--ui/gtk/main.c4
-rw-r--r--ui/qt/main_window.cpp3
-rw-r--r--ui/qt/main_window.h1
-rw-r--r--ui/qt/main_window.ui28
-rw-r--r--ui/qt/main_window_slots.cpp25
-rw-r--r--ui/qt/packet_list.cpp4
-rw-r--r--ui/qt/packet_list_model.cpp21
-rw-r--r--ui/qt/packet_list_model.h3
-rw-r--r--ui/qt/packet_list_record.cpp7
-rw-r--r--ui/qt/packet_list_record.h7
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>&amp;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);