aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/capture_file.h2
-rw-r--r--ui/qt/io_graph_dialog.cpp35
-rw-r--r--ui/qt/io_graph_dialog.h9
-rw-r--r--ui/qt/main_window_slots.cpp16
-rw-r--r--ui/qt/sequence_dialog.cpp27
-rw-r--r--ui/qt/sequence_dialog.h11
-rw-r--r--ui/qt/sequence_dialog.ui10
-rw-r--r--ui/qt/stats_tree_dialog.cpp47
-rw-r--r--ui/qt/stats_tree_dialog.h9
-rw-r--r--ui/qt/voip_calls_dialog.cpp36
-rw-r--r--ui/qt/voip_calls_dialog.h10
-rw-r--r--ui/qt/wireshark_application.cpp4
-rw-r--r--ui/qt/wireshark_application.h2
13 files changed, 85 insertions, 133 deletions
diff --git a/ui/qt/capture_file.h b/ui/qt/capture_file.h
index 18186d80ed..08f51385a3 100644
--- a/ui/qt/capture_file.h
+++ b/ui/qt/capture_file.h
@@ -38,7 +38,7 @@ public:
explicit CaptureFile(QObject *parent = 0, capture_file *cap_file = NULL);
~CaptureFile();
- capture_file *capFile() const { return cap_file_; }
+ capture_file *capFile() const { return isValid() ? cap_file_ : NULL; }
void setCapFile(capture_file *cap_file) { cap_file_ = cap_file; }
/** Check capture file validity
*
diff --git a/ui/qt/io_graph_dialog.cpp b/ui/qt/io_graph_dialog.cpp
index ffecc3602a..f52a9e4746 100644
--- a/ui/qt/io_graph_dialog.cpp
+++ b/ui/qt/io_graph_dialog.cpp
@@ -52,6 +52,7 @@
// - We retap and redraw more than we should.
// - Smoothing doesn't seem to match GTK+
// - We don't register a tap listener ("-z io,stat", bottom of gtk/io_stat.c)
+// - Hovering over a graph when the file is closed clears the graph.
// To do:
// - Use scroll bars?
@@ -177,10 +178,9 @@ static void io_graph_free_cb(void* p) {
Q_DECLARE_METATYPE(IOGraph *)
-IOGraphDialog::IOGraphDialog(QWidget *parent, capture_file *cf) :
- QDialog(parent),
+IOGraphDialog::IOGraphDialog(QWidget &parent, CaptureFile &cf) :
+ WiresharkDialog(parent, cf),
ui(new Ui::IOGraphDialog),
- cap_file_(cf),
name_line_edit_(NULL),
dfilter_line_edit_(NULL),
yfield_line_edit_(NULL),
@@ -199,6 +199,7 @@ IOGraphDialog::IOGraphDialog(QWidget *parent, capture_file *cf) :
auto_axes_(true)
{
ui->setupUi(this);
+ setWindowSubtitle(tr("IO Graphs"));
setAttribute(Qt::WA_DeleteOnClose, true);
QCustomPlot *iop = ui->ioPlot;
@@ -247,17 +248,10 @@ IOGraphDialog::IOGraphDialog(QWidget *parent, capture_file *cf) :
iop->setMouseTracking(true);
iop->setEnabled(true);
- QString dlg_title = tr("Wireshark IO Graphs: ");
- if (cap_file_) {
- dlg_title += cf_get_display_name(cap_file_);
- } else {
- dlg_title += tr("No Capture Data");
- }
- setWindowTitle(dlg_title);
QCPPlotTitle *title = new QCPPlotTitle(iop);
iop->plotLayout()->insertRow(0);
iop->plotLayout()->addElement(0, 0, title);
- title->setText(dlg_title);
+ title->setText(tr("Wireshark IO Graphs: %1").arg(cap_file_.fileTitle()));
tracer_ = new QCPItemTracer(iop);
iop->addItem(tracer_);
@@ -441,11 +435,8 @@ void IOGraphDialog::syncGraphSettings(QTreeWidgetItem *item)
}
}
-void IOGraphDialog::setCaptureFile(capture_file *cf)
+void IOGraphDialog::updateWidgets()
{
- if (!cf) { // We only want to know when the file closes.
- cap_file_ = NULL;
- }
}
void IOGraphDialog::scheduleReplot(bool now)
@@ -826,7 +817,7 @@ void IOGraphDialog::mouseMoved(QMouseEvent *event)
if (interval_packet > 0) {
packet_num_ = (guint32) interval_packet;
msg = tr("%1 %2")
- .arg(cap_file_ ? tr("Click to select packet") : tr("Packet"))
+ .arg(!file_closed_ ? tr("Click to select packet") : tr("Packet"))
.arg(packet_num_);
val = " = " + QString::number(tracer_->position->value(), 'g', 4);
}
@@ -948,15 +939,15 @@ void IOGraphDialog::updateStatistics()
{
if (!isVisible()) return;
- if (need_retap_) {
+ if (need_retap_ && !file_closed_) {
need_retap_ = false;
- cf_retap_packets(cap_file_);
+ cap_file_.retapPackets();
ui->ioPlot->setFocus();
} else {
if (need_recalc_) {
need_recalc_ = false;
need_replot_ = true;
- emit recalcGraphData(cap_file_);
+ emit recalcGraphData(cap_file_.capFile());
if (!tracer_->graph()) {
if (base_graph_ && base_graph_->data()->size() > 0) {
tracer_->setGraph(base_graph_);
@@ -1431,7 +1422,7 @@ void IOGraphDialog::on_actionMoveDown1_triggered()
void IOGraphDialog::on_actionGoToPacket_triggered()
{
- if (tracer_->visible() && cap_file_ && packet_num_ > 0) {
+ if (tracer_->visible() && !file_closed_ && packet_num_ > 0) {
emit goToPacket(packet_num_);
}
}
@@ -1477,8 +1468,8 @@ void IOGraphDialog::on_buttonBox_accepted()
.arg(jpeg_filter);
QString save_file = path.canonicalPath();
- if (cap_file_) {
- save_file += QString("/%1").arg(cf_get_display_name(cap_file_));
+ if (!file_closed_) {
+ save_file += QString("/%1").arg(cap_file_.fileTitle());
}
file_name = QFileDialog::getSaveFileName(this, tr("Wireshark: Save Graph As..."),
save_file, filter, &extension);
diff --git a/ui/qt/io_graph_dialog.h b/ui/qt/io_graph_dialog.h
index 9363a0df50..21d21aeb5a 100644
--- a/ui/qt/io_graph_dialog.h
+++ b/ui/qt/io_graph_dialog.h
@@ -34,9 +34,9 @@
#include "ui/io_graph_item.h"
#include "syntax_line_edit.h"
+#include "wireshark_dialog.h"
#include <QComboBox>
-#include <QDialog>
#include <QIcon>
#include <QLineEdit>
#include <QMenu>
@@ -127,12 +127,12 @@ namespace Ui {
class IOGraphDialog;
}
-class IOGraphDialog : public QDialog
+class IOGraphDialog : public WiresharkDialog
{
Q_OBJECT
public:
- explicit IOGraphDialog(QWidget *parent = 0, capture_file *cf = NULL);
+ explicit IOGraphDialog(QWidget &parent, CaptureFile &cf);
~IOGraphDialog();
void addGraph(bool checked, QString name, QString dfilter, int color_idx, IOGraph::PlotStyles style,
@@ -142,7 +142,6 @@ public:
void syncGraphSettings(QTreeWidgetItem *item);
public slots:
- void setCaptureFile(capture_file *cf);
void scheduleReplot(bool now = false);
void scheduleRecalc(bool now = false);
void scheduleRetap(bool now = false);
@@ -159,7 +158,6 @@ signals:
private:
Ui::IOGraphDialog *ui;
- capture_file *cap_file_;
QLineEdit *name_line_edit_;
SyntaxLineEdit *dfilter_line_edit_;
SyntaxLineEdit *yfield_line_edit_;
@@ -194,6 +192,7 @@ private:
void loadProfileGraphs();
private slots:
+ void updateWidgets();
void graphClicked(QMouseEvent *event);
void mouseMoved(QMouseEvent *event);
void mouseReleased(QMouseEvent *event);
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index 5a81aa976a..6ddc868b58 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -2120,11 +2120,9 @@ void MainWindow::on_actionSCTPFilterThisAssociation_triggered()
void MainWindow::on_actionStatisticsFlowGraph_triggered()
{
- SequenceDialog *sequence_dialog = new SequenceDialog(this, capture_file_.capFile());
+ SequenceDialog *sequence_dialog = new SequenceDialog(*this, capture_file_);
connect(sequence_dialog, SIGNAL(goToPacket(int)),
packet_list_, SLOT(goToPacket(int)));
- connect(this, SIGNAL(setCaptureFile(capture_file*)),
- sequence_dialog, SLOT(setCaptureFile(capture_file*)));
sequence_dialog->show();
}
@@ -2165,11 +2163,9 @@ void MainWindow::on_actionStatisticsTcpStreamWindowScaling_triggered()
void MainWindow::openStatisticsTreeDialog(const gchar *abbr)
{
- StatsTreeDialog *st_dialog = new StatsTreeDialog(this, capture_file_.capFile(), abbr);
+ StatsTreeDialog *st_dialog = new StatsTreeDialog(*this, capture_file_, abbr);
// connect(st_dialog, SIGNAL(goToPacket(int)),
// packet_list_, SLOT(goToPacket(int)));
- connect(this, SIGNAL(setCaptureFile(capture_file*)),
- st_dialog, SLOT(setCaptureFile(capture_file*)));
st_dialog->show();
}
@@ -2360,10 +2356,8 @@ void MainWindow::statCommandIOGraph(const char *arg, void *userdata)
{
Q_UNUSED(arg);
Q_UNUSED(userdata);
- IOGraphDialog *iog_dialog = new IOGraphDialog(this, capture_file_.capFile());
+ IOGraphDialog *iog_dialog = new IOGraphDialog(*this, capture_file_);
connect(iog_dialog, SIGNAL(goToPacket(int)), packet_list_, SLOT(goToPacket(int)));
- connect(this, SIGNAL(setCaptureFile(capture_file*)),
- iog_dialog, SLOT(setCaptureFile(capture_file*)));
iog_dialog->show();
}
@@ -2380,13 +2374,11 @@ void MainWindow::on_actionStatisticsSametime_triggered()
void MainWindow::openVoipCallsDialog(bool all_flows)
{
- VoipCallsDialog *voip_calls_dialog = new VoipCallsDialog(this, capture_file_.capFile(), all_flows);
+ VoipCallsDialog *voip_calls_dialog = new VoipCallsDialog(*this, capture_file_, all_flows);
connect(voip_calls_dialog, SIGNAL(goToPacket(int)),
packet_list_, SLOT(goToPacket(int)));
connect(voip_calls_dialog, SIGNAL(updateFilter(QString&, bool)),
this, SLOT(filterPackets(QString&, bool)));
- connect(this, SIGNAL(setCaptureFile(capture_file*)),
- voip_calls_dialog, SLOT(setCaptureFile(capture_file*)));
voip_calls_dialog->show();
}
diff --git a/ui/qt/sequence_dialog.cpp b/ui/qt/sequence_dialog.cpp
index 1d8f75fca6..674a95a90b 100644
--- a/ui/qt/sequence_dialog.cpp
+++ b/ui/qt/sequence_dialog.cpp
@@ -45,10 +45,9 @@
// - Create WSGraph subclasses with common behavior.
// - Help button and text
-SequenceDialog::SequenceDialog(QWidget *parent, capture_file *cf, seq_analysis_info_t *sainfo) :
- QDialog(parent),
+SequenceDialog::SequenceDialog(QWidget &parent, CaptureFile &cf, seq_analysis_info_t *sainfo) :
+ WiresharkDialog(parent, cf),
ui(new Ui::SequenceDialog),
- cap_file_(cf),
sainfo_(sainfo),
num_items_(0),
packet_num_(0),
@@ -56,6 +55,7 @@ SequenceDialog::SequenceDialog(QWidget *parent, capture_file *cf, seq_analysis_i
{
ui->setupUi(this);
QCustomPlot *sp = ui->sequencePlot;
+ setWindowSubtitle(sainfo ? tr("Call Flow") : tr("Flow"));
if (!sainfo_) {
sainfo_ = sequence_analysis_info_new();
@@ -122,9 +122,7 @@ SequenceDialog::SequenceDialog(QWidget *parent, capture_file *cf, seq_analysis_i
save_bt->setText(tr("Save As..."));
// XXX Use recent settings instead
- if (parent) {
- resize(parent->width(), parent->height() * 4 / 5);
- }
+ resize(parent.width(), parent.height() * 4 / 5);
connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(hScrollBarChanged(int)));
connect(ui->verticalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(vScrollBarChanged(int)));
@@ -148,11 +146,8 @@ SequenceDialog::~SequenceDialog()
delete ui;
}
-void SequenceDialog::setCaptureFile(capture_file *cf)
+void SequenceDialog::updateWidgets()
{
- if (!cf) { // We only want to know when the file closes.
- cap_file_ = NULL;
- }
}
void SequenceDialog::showEvent(QShowEvent *event)
@@ -315,7 +310,7 @@ void SequenceDialog::on_buttonBox_accepted()
.arg(png_filter)
.arg(bmp_filter)
.arg(jpeg_filter);
- if (cap_file_) {
+ if (!file_closed_) {
filter.append(QString(";;%5").arg(ascii_filter));
}
@@ -332,8 +327,8 @@ void SequenceDialog::on_buttonBox_accepted()
save_ok = ui->sequencePlot->saveBmp(file_name);
} else if (extension.compare(jpeg_filter) == 0) {
save_ok = ui->sequencePlot->saveJpg(file_name);
- } else if (extension.compare(ascii_filter) == 0 && cap_file_ && sainfo_) {
- save_ok = sequence_analysis_dump_to_file(file_name.toUtf8().constData(), sainfo_, cap_file_, 0);
+ } else if (extension.compare(ascii_filter) == 0 && !file_closed_ && sainfo_) {
+ save_ok = sequence_analysis_dump_to_file(file_name.toUtf8().constData(), sainfo_, cap_file_.capFile(), 0);
}
// else error dialog?
if (save_ok) {
@@ -345,7 +340,7 @@ void SequenceDialog::on_buttonBox_accepted()
void SequenceDialog::fillDiagram()
{
- if (!sainfo_) return;
+ if (!sainfo_ || file_closed_) return;
QCustomPlot *sp = ui->sequencePlot;
@@ -354,7 +349,7 @@ void SequenceDialog::fillDiagram()
} else {
seq_diagram_->clearData();
sequence_analysis_list_free(sainfo_);
- sequence_analysis_list_get(cap_file_, sainfo_);
+ sequence_analysis_list_get(cap_file_.capFile(), sainfo_);
num_items_ = sequence_analysis_get_nodes(sainfo_);
seq_diagram_->setData(sainfo_);
}
@@ -431,7 +426,7 @@ void SequenceDialog::on_resetButton_clicked()
void SequenceDialog::on_actionGoToPacket_triggered()
{
- if (cap_file_ && packet_num_ > 0) {
+ if (!file_closed_ && packet_num_ > 0) {
emit goToPacket(packet_num_);
}
}
diff --git a/ui/qt/sequence_dialog.h b/ui/qt/sequence_dialog.h
index 77728ffd10..704bfe751d 100644
--- a/ui/qt/sequence_dialog.h
+++ b/ui/qt/sequence_dialog.h
@@ -33,8 +33,8 @@
#include "ui/tap-sequence-analysis.h"
#include "qcustomplot.h"
+#include "wireshark_dialog.h"
-#include <QDialog>
#include <QMenu>
namespace Ui {
@@ -43,20 +43,17 @@ class SequenceDialog;
class SequenceDiagram;
-class SequenceDialog : public QDialog
+class SequenceDialog : public WiresharkDialog
{
Q_OBJECT
public:
- explicit SequenceDialog(QWidget *parent = 0, capture_file *cf = NULL, seq_analysis_info_t *sainfo = NULL);
+ explicit SequenceDialog(QWidget &parent, CaptureFile &cf, seq_analysis_info_t *sainfo = NULL);
~SequenceDialog();
signals:
void goToPacket(int packet_num);
-public slots:
- void setCaptureFile(capture_file *cf);
-
protected:
void showEvent(QShowEvent *event);
void resizeEvent(QResizeEvent *event);
@@ -64,6 +61,7 @@ protected:
void mouseReleaseEvent(QMouseEvent *event);
private slots:
+ void updateWidgets();
void hScrollBarChanged(int value);
void vScrollBarChanged(int value);
void xAxisChanged(QCPRange range);
@@ -91,7 +89,6 @@ private slots:
private:
Ui::SequenceDialog *ui;
SequenceDiagram *seq_diagram_;
- capture_file *cap_file_;
seq_analysis_info_t *sainfo_;
int num_items_;
guint32 packet_num_;
diff --git a/ui/qt/sequence_dialog.ui b/ui/qt/sequence_dialog.ui
index 93a44eb140..55a1a10fe5 100644
--- a/ui/qt/sequence_dialog.ui
+++ b/ui/qt/sequence_dialog.ui
@@ -10,9 +10,6 @@
<height>568</height>
</rect>
</property>
- <property name="windowTitle">
- <string>Flow</string>
- </property>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="1,0,0,0">
<item>
<layout class="QGridLayout" name="gridLayout">
@@ -46,7 +43,7 @@
</layout>
</item>
<item>
- <widget class="QLabel" name="hintLabel">
+ <widget class="ElidedLabel" name="hintLabel">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;
@@ -358,6 +355,11 @@
<header>qcustomplot.h</header>
<container>1</container>
</customwidget>
+ <customwidget>
+ <class>ElidedLabel</class>
+ <extends>QLabel</extends>
+ <header>elided_label.h</header>
+ </customwidget>
</customwidgets>
<resources/>
<connections>
diff --git a/ui/qt/stats_tree_dialog.cpp b/ui/qt/stats_tree_dialog.cpp
index e94d19ebc5..c9f8ad3d85 100644
--- a/ui/qt/stats_tree_dialog.cpp
+++ b/ui/qt/stats_tree_dialog.cpp
@@ -44,9 +44,7 @@
// - Add help
// - Update to match bug 9452 / r53657
-#include <QDebug>
-
-const int item_col_ = 0;
+const int item_col_ = 0;
const int expand_all_threshold_ = 100; // Arbitrary
@@ -72,15 +70,15 @@ public:
}
};
-StatsTreeDialog::StatsTreeDialog(QWidget *parent, capture_file *cf, const char *cfg_abbr) :
- QDialog(parent),
+StatsTreeDialog::StatsTreeDialog(QWidget &parent, CaptureFile &cf, const char *cfg_abbr) :
+ WiresharkDialog(parent, cf),
ui(new Ui::StatsTreeDialog),
st_(NULL),
- st_cfg_(NULL),
- cap_file_(cf)
+ st_cfg_(NULL)
{
ui->setupUi(this);
st_cfg_ = stats_tree_get_cfg_by_abbr(cfg_abbr);
+ memset(&cfg_pr_, 0, sizeof(struct _tree_cfg_pres));
if (!st_cfg_) {
QMessageBox::critical(this, tr("Configuration not found"),
@@ -110,35 +108,19 @@ StatsTreeDialog::~StatsTreeDialog()
delete ui;
}
-void StatsTreeDialog::setCaptureFile(capture_file *cf)
-{
- if (!cf) { // We only want to know when the file closes.
- cap_file_ = NULL;
- ui->displayFilterLineEdit->setEnabled(false);
- ui->applyFilterButton->setEnabled(false);
- }
-}
-
void StatsTreeDialog::fillTree()
{
GString *error_string;
- if (!st_cfg_) return;
+ if (!st_cfg_ || file_closed_) return;
gchar* display_name_temp = stats_tree_get_displayname(st_cfg_->name);
QString display_name(display_name_temp);
g_free(display_name_temp);
- setWindowTitle(display_name + tr(" Stats Tree"));
+ // The GTK+ UI appends "Stats Tree" to the window title. If we do the same
+ // here we should expand the name completely, e.g. to "Statistics Tree".
+ setWindowSubtitle(display_name);
- if (!cap_file_) return;
-
- if (st_cfg_->in_use) {
- QMessageBox::warning(this, tr("%1 already open").arg(display_name),
- tr("Each type of tree can only be generated one at time."));
- reject();
- }
-
- st_cfg_->in_use = TRUE;
st_cfg_->pr = &cfg_pr_;
cfg_pr_.st_dlg = this;
@@ -174,13 +156,12 @@ void StatsTreeDialog::fillTree()
reject();
}
- cf_retap_packets(cap_file_);
+ cf_retap_packets(cap_file_.capFile());
drawTreeItems(st_);
ui->statsTreeWidget->setSortingEnabled(true);
remove_tap_listener(st_);
- st_cfg_->in_use = FALSE;
st_cfg_->pr = NULL;
}
@@ -250,6 +231,14 @@ void StatsTreeDialog::drawTreeItems(void *st_ptr)
}
}
+void StatsTreeDialog::updateWidgets()
+{
+ if (file_closed_) {
+ ui->displayFilterLineEdit->setEnabled(false);
+ ui->applyFilterButton->setEnabled(false);
+ }
+}
+
void StatsTreeDialog::on_applyFilterButton_clicked()
{
fillTree();
diff --git a/ui/qt/stats_tree_dialog.h b/ui/qt/stats_tree_dialog.h
index eb50bf3819..4779da0166 100644
--- a/ui/qt/stats_tree_dialog.h
+++ b/ui/qt/stats_tree_dialog.h
@@ -30,7 +30,7 @@
#include "epan/stats_tree_priv.h"
-#include <QDialog>
+#include "wireshark_dialog.h"
namespace Ui {
class StatsTreeDialog;
@@ -41,17 +41,16 @@ struct _tree_cfg_pres {
class StatsTreeDialog* st_dlg;
};
-class StatsTreeDialog : public QDialog
+class StatsTreeDialog : public WiresharkDialog
{
Q_OBJECT
public:
- explicit StatsTreeDialog(QWidget *parent = 0, capture_file *cf = NULL, const char *cfg_abbr = NULL);
+ explicit StatsTreeDialog(QWidget &parent, CaptureFile &cf, const char *cfg_abbr = NULL);
~StatsTreeDialog();
static void setupNode(stat_node* node);
public slots:
- void setCaptureFile(capture_file *cf);
private:
Ui::StatsTreeDialog *ui;
@@ -59,13 +58,13 @@ private:
struct _tree_cfg_pres cfg_pr_;
stats_tree *st_;
stats_tree_cfg *st_cfg_;
- capture_file *cap_file_;
void fillTree();
static void resetTap(void *st_ptr);
static void drawTreeItems(void *st_ptr);
private slots:
+ void updateWidgets();
void on_applyFilterButton_clicked();
void on_actionCopyToClipboard_triggered();
void on_actionSaveAs_triggered();
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp
index c8b9f7a359..7dfe664c2e 100644
--- a/ui/qt/voip_calls_dialog.cpp
+++ b/ui/qt/voip_calls_dialog.cpp
@@ -157,13 +157,13 @@ public:
};
-VoipCallsDialog::VoipCallsDialog(QWidget *parent, capture_file *cf, bool all_flows) :
- QDialog(parent),
- ui(new Ui::VoipCallsDialog),
- cap_file_(cf)
+VoipCallsDialog::VoipCallsDialog(QWidget &parent, CaptureFile &cf, bool all_flows) :
+ WiresharkDialog(parent, cf),
+ ui(new Ui::VoipCallsDialog)
{
ui->setupUi(this);
ui->callTreeWidget->sortByColumn(start_time_col_, Qt::AscendingOrder);
+ setWindowSubtitle(all_flows ? tr("SIP Flows") : tr("VoIP Calls"));
ctx_menu_.addActions(QList<QAction *>() << ui->actionSelect_All);
@@ -173,9 +173,7 @@ VoipCallsDialog::VoipCallsDialog(QWidget *parent, capture_file *cf, bool all_flo
player_button_->setIcon(StockIcon("media-playback-start"));
// XXX Use recent settings instead
- if (parent) {
- resize(parent->width() * 4 / 5, parent->height() * 2 / 3);
- }
+ resize(parent.width() * 4 / 5, parent.height() * 2 / 3);
memset (&tapinfo_, 0, sizeof(tapinfo_));
tapinfo_.tap_packet = tapPacket;
@@ -191,10 +189,8 @@ VoipCallsDialog::VoipCallsDialog(QWidget *parent, capture_file *cf, bool all_flo
updateWidgets();
- if (cap_file_) {
- tapinfo_.session = cap_file_->epan;
- cf_retap_packets(cap_file_);
- }
+ tapinfo_.session = cap_file_.capFile()->epan;
+ cap_file_.retapPackets();
}
VoipCallsDialog::~VoipCallsDialog()
@@ -205,15 +201,11 @@ VoipCallsDialog::~VoipCallsDialog()
sequence_analysis_info_free(tapinfo_.graph_analysis);
}
-void VoipCallsDialog::setCaptureFile(capture_file *cf)
+void VoipCallsDialog::captureFileClosing()
{
- if (!cf) { // We only want to know when the file closes.
- voip_calls_remove_all_tap_listeners(&tapinfo_);
- cap_file_ = NULL;
- tapinfo_.session = NULL;
- }
- emit captureFileChanged(cap_file_);
- updateWidgets();
+ voip_calls_remove_all_tap_listeners(&tapinfo_);
+ tapinfo_.session = NULL;
+ WiresharkDialog::captureFileClosing();
}
void VoipCallsDialog::contextMenuEvent(QContextMenuEvent *event)
@@ -436,7 +428,7 @@ void VoipCallsDialog::prepareFilter()
void VoipCallsDialog::showSequence()
{
- if (!cap_file_) return;
+ if (file_closed_) return;
QSet<guint16> selected_calls;
foreach (QTreeWidgetItem *ti, ui->callTreeWidget->selectedItems()) {
@@ -452,12 +444,10 @@ void VoipCallsDialog::showSequence()
cur_ga_item = g_list_next(cur_ga_item);
}
- SequenceDialog *sequence_dialog = new SequenceDialog(this, cap_file_, tapinfo_.graph_analysis);
+ SequenceDialog *sequence_dialog = new SequenceDialog(*parentWidget(), cap_file_, tapinfo_.graph_analysis);
// XXX This goes away when we close the VoIP Calls dialog.
connect(sequence_dialog, SIGNAL(goToPacket(int)),
this, SIGNAL(goToPacket(int)));
- connect(this, SIGNAL(captureFileChanged(capture_file*)),
- sequence_dialog, SLOT(setCaptureFile(capture_file*)));
sequence_dialog->show();
}
diff --git a/ui/qt/voip_calls_dialog.h b/ui/qt/voip_calls_dialog.h
index 16391b683d..c3d4e51e68 100644
--- a/ui/qt/voip_calls_dialog.h
+++ b/ui/qt/voip_calls_dialog.h
@@ -30,7 +30,8 @@
#include "ui/voip_calls.h"
-#include <QDialog>
+#include "wireshark_dialog.h"
+
#include <QMenu>
class QAbstractButton;
@@ -41,16 +42,15 @@ class VoipCallsDialog;
}
class QTreeWidgetItem;
-class VoipCallsDialog : public QDialog
+class VoipCallsDialog : public WiresharkDialog
{
Q_OBJECT
public:
- explicit VoipCallsDialog(QWidget *parent = 0, capture_file *cf = NULL, bool all_flows = false);
+ explicit VoipCallsDialog(QWidget &parent, CaptureFile &cf, bool all_flows = false);
~VoipCallsDialog();
public slots:
- void setCaptureFile(capture_file *cf);
signals:
void updateFilter(QString &filter, bool force = false);
@@ -66,7 +66,6 @@ protected slots:
private:
Ui::VoipCallsDialog *ui;
- capture_file *cap_file_;
voip_calls_tapinfo_t tapinfo_;
QPushButton *prepare_button_;
QPushButton *sequence_button_;
@@ -84,6 +83,7 @@ private:
void showSequence();
private slots:
+ void captureFileClosing();
void on_callTreeWidget_itemActivated(QTreeWidgetItem *item, int);
void on_callTreeWidget_itemSelectionChanged();
void on_actionSelect_All_triggered();
diff --git a/ui/qt/wireshark_application.cpp b/ui/qt/wireshark_application.cpp
index 01404eacdf..4288d26a89 100644
--- a/ui/qt/wireshark_application.cpp
+++ b/ui/qt/wireshark_application.cpp
@@ -82,7 +82,6 @@ static char *last_open_dir = NULL;
static bool updated_last_open_dir = FALSE;
static QList<recent_item_status *> recent_items_;
-QString WiresharkApplication::application_name_ = QString("Wireshark");
QString WiresharkApplication::window_title_separator_ = QString::fromUtf8(" " UTF8_MIDDLE_DOT " ");
void
@@ -382,7 +381,7 @@ const QString WiresharkApplication::windowTitleString(QStringList title_parts)
QString ti = tii.next();
if (ti.isEmpty()) tii.remove();
}
- title_parts.prepend(application_name_);
+ title_parts.prepend(applicationName());
return title_parts.join(window_title_separator_);
}
@@ -478,6 +477,7 @@ WiresharkApplication::WiresharkApplication(int &argc, char **argv) :
initialized_(false)
{
wsApp = this;
+ setApplicationName("Wireshark");
Q_INIT_RESOURCE(about);
Q_INIT_RESOURCE(display_filter);
diff --git a/ui/qt/wireshark_application.h b/ui/qt/wireshark_application.h
index 8c7e070e4d..48f729cbc5 100644
--- a/ui/qt/wireshark_application.h
+++ b/ui/qt/wireshark_application.h
@@ -93,7 +93,6 @@ public:
bool isInitialized() { return initialized_; }
const QIcon &normalIcon() const { return normal_icon_; }
const QIcon &captureIcon() const { return capture_icon_; }
- const QString &applicationName() const { return application_name_; }
const QString &windowTitleSeparator() const { return window_title_separator_; }
const QString windowTitleString(QStringList title_parts);
const QString windowTitleString(QString title_part) { return windowTitleString(QStringList() << title_part); }
@@ -112,7 +111,6 @@ private:
QSocketNotifier *if_notifier_;
QIcon normal_icon_;
QIcon capture_icon_;
- static QString application_name_;
static QString window_title_separator_;
protected: