diff options
author | Gerald Combs <gerald@zing.org> | 2014-12-21 13:23:02 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2014-12-22 18:12:31 +0000 |
commit | 5cdad9fe423662e2aea3d63540cd19b7e518b7c3 (patch) | |
tree | 16deed9efb4df400a81b564ec1aa5d9f5b1c9c61 /ui/qt/traffic_table_dialog.cpp | |
parent | 30c3d394adbf8deff83854f01dc1082db9cac598 (diff) |
Qt: Add methods to CaptureFile and WiresharkApplication.
Add isValid, fileTitle, and retapPackets methods to CaptureFile. Add
application name and title separator convenience methods to
WiresharkApplication.
Convert traffic tables, conversations, and endpoints to use CaptureFile
directly and to let the user know when the capture file is closed. Set
the file dialog titles while we're here.
Change-Id: I990392786d3833e1e0b3638aa2d34a5ada39fa13
Reviewed-on: https://code.wireshark.org/review/5957
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/qt/traffic_table_dialog.cpp')
-rw-r--r-- | ui/qt/traffic_table_dialog.cpp | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/ui/qt/traffic_table_dialog.cpp b/ui/qt/traffic_table_dialog.cpp index 6367925bb3..37c1348bc7 100644 --- a/ui/qt/traffic_table_dialog.cpp +++ b/ui/qt/traffic_table_dialog.cpp @@ -49,17 +49,19 @@ // - Columns don't resize correctly. // - Closing the capture file clears conversation data. -TrafficTableDialog::TrafficTableDialog(QWidget *parent, capture_file *cf, const char *filter, const QString &table_name) : +TrafficTableDialog::TrafficTableDialog(QWidget *parent, CaptureFile &cf, const char *filter, const QString &table_name) : QDialog(parent), ui(new Ui::TrafficTableDialog), cap_file_(cf), + read_only_(false), filter_(filter) { ui->setupUi(this); - setAttribute(Qt::WA_DeleteOnClose, true); +// setAttribute(Qt::WA_DeleteOnClose, true); - setWindowTitle(tr("Wireshark: %1s").arg(table_name)); - ui->enabledTypesPushButton->setText(tr("%1 Types").arg(table_name)); + window_name_ = QString("%1s").arg(table_name); + setWindowTitle(); + ui->enabledTypesPushButton->setText(tr("%1 Types").arg(window_name_)); // XXX Use recent settings instead if (parent) { @@ -83,7 +85,7 @@ TrafficTableDialog::TrafficTableDialog(QWidget *parent, capture_file *cf, const connect(ui->trafficTableTabWidget, SIGNAL(currentChanged(int)), this, SLOT(itemSelectionChanged())); - + connect(&cap_file_, SIGNAL(captureFileClosing()), this, SLOT(captureFileClosing())); } TrafficTableDialog::~TrafficTableDialog() @@ -91,6 +93,12 @@ TrafficTableDialog::~TrafficTableDialog() delete ui; } +void TrafficTableDialog::captureFileClosing() +{ + setWindowTitle(); + read_only_ = true; +} + const QList<int> TrafficTableDialog::defaultProtos() const { // Reasonable defaults? @@ -150,14 +158,14 @@ void TrafficTableDialog::on_nameResolutionCheckBox_toggled(bool checked) void TrafficTableDialog::on_displayFilterCheckBox_toggled(bool checked) { - if (!cap_file_) { + if (!cap_file_.isValid()) { return; } QByteArray filter_utf8; const char *filter = NULL; if (checked) { - filter = cap_file_->dfilter; + filter = cap_file_.capFile()->dfilter; } else if (!filter_.isEmpty()) { filter_utf8 = filter_.toUtf8(); filter = filter_utf8.constData(); @@ -167,7 +175,7 @@ void TrafficTableDialog::on_displayFilterCheckBox_toggled(bool checked) set_tap_dfilter(ui->trafficTableTabWidget->widget(i), filter); } - cf_retap_packets(cap_file_); + cap_file_.retapPackets(); } void TrafficTableDialog::setTabText(QWidget *tree, const QString &text) @@ -197,9 +205,7 @@ void TrafficTableDialog::toggleTable() } if (new_table) { - if (cap_file_) { - cf_retap_packets(cap_file_); - } + cap_file_.retapPackets(); } } @@ -220,6 +226,16 @@ void TrafficTableDialog::updateWidgets() ui->trafficTableTabWidget->setUpdatesEnabled(true); } +void TrafficTableDialog::setWindowTitle() +{ + QDialog::setWindowTitle(tr("%1 %2 %3 %4") + .arg(wsApp->windowTitlePrefix()) + .arg(window_name_) + .arg(wsApp->windowTitleSeparator()) + .arg(cap_file_.fileTitle()) + ); +} + QList<QVariant> TrafficTableDialog::curTreeRowData(int row) const { TrafficTableTreeWidget *cur_tree = qobject_cast<TrafficTableTreeWidget *>(ui->trafficTableTabWidget->currentWidget()); |