Qt: Update and rename the summary dialog.

Go back to a single view similar to the GTK+ UI. Apply layouts using Qt
Designer.

Rename the menu item and class to "Capture File Properties". It's not
really a summary if it contains details such as "marked average bits
per second". We might want to move this to a "Properties" item under
the "File" menu similar to other applications.

Add the GTK+ summary icon (for now) to the toolbar and open the
properties dialog on clicking.

Singleton dialogs delenda est[1]. Let the user open as many summaries on
as many capture files as he or she wishes. Also, global cfile delenda
est[2].

Don't blindly include QtGui. Add specific components instead.

Use consistent method names, variable names, and patterns. Try to
document what "consistent" means.

Adjust the way we display some statistics to match the summary bar, e.g.
displayed = captured if we don't have a filter applied.

[1] Not really.
[2] Yes, really.

Change-Id: I11793b1d79dd0c3f70414ac8592b86181da59916
Reviewed-on: https://code.wireshark.org/review/5274
Reviewed-by: Gerald Combs <gerald@wireshark.org>
This commit is contained in:
Gerald Combs 2014-11-12 14:24:16 -08:00
parent 9681bddaa6
commit bcaa5d84b1
24 changed files with 1146 additions and 1747 deletions

View File

@ -177,13 +177,22 @@ porting a feature, consider the following:
2.1.1 Name conventions
Most of the code in the ui/qt directory uses three APIs: Qt (which uses
InterCapConvention), GLib (which uses underscore_convention), and the Wireshark
API (which also uses underscore_convention). As a general rule Wireshark's Qt
code uses InterCapConvention for class names and methods and
underscore_convention for variables, with a trailing underscore for member
variables.
InterCapConvention), GLib (which uses underscore_convention), and the
Wireshark API (which also uses underscore_convention). As a general rule
Wireshark's Qt code uses InterCapConvention for class names,
interCapConvention for methods, and underscore_convention for variables,
with a trailing underscore for member variables.
2.1.2 Strings
2.1.2 Class layout
Dialogs that work with capture file information shouldn't close just
because the capture file closes. I.e. they should receive the
setCaptureFile signal and react accordingly.
In most cases you should handle the changeEvent in order to catch
QEvent::LanguageChange.
2.1.3 Strings
If you're using GLib string functions or plain old C character array idioms in
Qt-only code you're probably doing something wrong. QStrings are generally
@ -192,7 +201,7 @@ Qt-only code you're probably doing something wrong. QStrings are generally
If you need to pass strings between Qt and GLib you can use qstring_strdup
gchar_free_to_qstring, which are defined in ui/qt/qt_ui_utils.h.
2.1.3 Mixing C and C++
2.1.4 Mixing C and C++
Sometimes we have to call C++ functions from one of Wireshark's C callbacks and
pass C++ objects to or from C. The C++ FAQ describes how to do this safely:
@ -245,4 +254,4 @@ http://qt-project.org/doc/qt-4.8/linguist-manual.html
it is (re)created then it is ok to have tr() in code
- For creating submenu in context menu please follow solution from ui/qt/proto_tree.cpp
- Some new windows need also to override changeEvent() and do retranslateUi() like
summary_dialog.[ch] does
summary_dialog.[ch] does

View File

@ -33,6 +33,7 @@ reassembled packets.
** Hovering over a byte-view field causes the field to be highlighted and a
description to be shown in the status bar.
** An Italian translation has been added.
** The Summary dialog has been updated and renamed to Capture File Properties.
The following features are new (or have been significantly updated)
since version 1.12.0:

View File

@ -7,4 +7,7 @@
<file>expert_warn.png</file>
<file>expert_ok.png</file>
</qresource>
<qresource prefix="/comment">
<file>capture_comment_update.png</file>
</qresource>
</RCC>

View File

@ -27,6 +27,7 @@ set(WIRESHARK_QT_HEADERS
byte_view_tab.h
byte_view_text.h
capture_file_dialog.h
capture_file_properties_dialog.h
capture_filter_combo.h
capture_filter_edit.h
capture_filter_syntax_worker.h
@ -91,7 +92,6 @@ set(WIRESHARK_QT_HEADERS
simple_dialog.h
splash_overlay.h
stats_tree_dialog.h
summary_dialog.h
syntax_line_edit.h
tcp_stream_dialog.h
time_shift_dialog.h
@ -122,6 +122,7 @@ set(WIRESHARK_QT_SRC
byte_view_tab.cpp
byte_view_text.cpp
capture_file_dialog.cpp
capture_file_properties_dialog.cpp
capture_filter_combo.cpp
capture_filter_edit.cpp
capture_filter_syntax_worker.cpp
@ -188,7 +189,6 @@ set(WIRESHARK_QT_SRC
splash_overlay.cpp
sparkline_delegate.cpp
stock_icon.cpp
summary_dialog.cpp
syntax_line_edit.cpp
tcp_stream_dialog.cpp
time_shift_dialog.cpp
@ -223,8 +223,9 @@ set(DIRTY_FILES
set(WIRESHARK_QT_UI
about_dialog.ui
capture_preferences_frame.ui
capture_file_properties_dialog.ui
capture_interfaces_dialog.ui
capture_preferences_frame.ui
column_preferences_frame.ui
compiled_filter_output.ui
decode_as_dialog.ui
@ -262,7 +263,6 @@ set(WIRESHARK_QT_UI
sequence_dialog.ui
splash_overlay.ui
stats_tree_dialog.ui
summary_dialog.ui
tcp_stream_dialog.ui
time_shift_dialog.ui
traffic_table_dialog.ui

View File

@ -122,6 +122,8 @@ ui_%.h: %.ui
about_dialog.cpp about_dialog.h: ui_about_dialog.h
capture_file_properties_dialog.cpp capture_file_properties_dialog.h: ui_capture_file_properties_dialog.h
capture_interfaces_dialog.cpp capture_interfaces_dialog.h: ui_capture_interfaces_dialog.h
capture_preferences_frame.cpp capture_preferences_frame.h: ui_capture_preferences_frame.h
@ -204,8 +206,6 @@ splash_overlay.cpp splash_overlay.h: ui_splash_overlay.h
stats_tree_dialog.cpp stats_tree_dialog.h: ui_stats_tree_dialog.h
summary_dialog.cpp summary_dialog.h: ui_summary_dialog.h
tcp_stream_dialog.cpp: ui_tcp_stream_dialog.h
time_shift_dialog.cpp time_shift_dialog.h: ui_time_shift_dialog.h

View File

@ -30,6 +30,7 @@ GENERATED_HEADER_FILES =
# Generated header files that we don't want in the distribution.
NODIST_GENERATED_HEADER_FILES = \
ui_about_dialog.h \
ui_capture_file_properties_dialog.h \
ui_capture_interfaces_dialog.h \
ui_capture_preferences_frame.h \
ui_column_preferences_frame.h \
@ -71,7 +72,6 @@ NODIST_GENERATED_HEADER_FILES = \
ui_search_frame.h \
ui_sequence_dialog.h \
ui_splash_overlay.h \
ui_summary_dialog.h \
ui_tcp_stream_dialog.h \
ui_time_shift_dialog.h \
ui_traffic_table_dialog.h \
@ -116,6 +116,7 @@ MOC_HDRS = \
byte_view_tab.h \
byte_view_text.h \
capture_file_dialog.h \
capture_file_properties_dialog.h \
capture_filter_combo.h \
capture_filter_edit.h \
capture_filter_syntax_worker.h \
@ -184,7 +185,6 @@ MOC_HDRS = \
sparkline_delegate.h \
splash_overlay.h \
stats_tree_dialog.h \
summary_dialog.h \
syntax_line_edit.h \
tcp_stream_dialog.h \
time_shift_dialog.h \
@ -198,6 +198,7 @@ MOC_HDRS = \
#
UI_FILES = \
about_dialog.ui \
capture_file_properties_dialog.ui \
capture_interfaces_dialog.ui \
capture_preferences_frame.ui \
column_preferences_frame.ui \
@ -239,7 +240,6 @@ UI_FILES = \
sequence_dialog.ui \
splash_overlay.ui \
stats_tree_dialog.ui \
summary_dialog.ui \
tcp_stream_dialog.ui \
time_shift_dialog.ui \
traffic_table_dialog.ui \
@ -307,6 +307,7 @@ WIRESHARK_QT_SRC = \
byte_view_tab.cpp \
byte_view_text.cpp \
capture_file_dialog.cpp \
capture_file_properties_dialog.cpp \
capture_filter_combo.cpp \
capture_filter_edit.cpp \
capture_filter_syntax_worker.cpp \
@ -380,7 +381,6 @@ WIRESHARK_QT_SRC = \
splash_overlay.cpp \
stats_tree_dialog.cpp \
stock_icon.cpp \
summary_dialog.cpp \
syntax_line_edit.cpp \
tcp_stream_dialog.cpp \
time_shift_dialog.cpp \

View File

@ -207,8 +207,9 @@ HEADERS_WS_C = \
FORMS += \
about_dialog.ui \
capture_preferences_frame.ui \
capture_file_properties_dialog.ui \
capture_interfaces_dialog.ui \
capture_preferences_frame.ui \
column_preferences_frame.ui \
compiled_filter_output.ui \
decode_as_dialog.ui \
@ -248,7 +249,6 @@ FORMS += \
sequence_dialog.ui \
splash_overlay.ui \
stats_tree_dialog.ui \
summary_dialog.ui \
tcp_stream_dialog.ui \
time_shift_dialog.ui \
traffic_table_dialog.ui \
@ -258,6 +258,7 @@ FORMS += \
HEADERS += $$HEADERS_WS_C \
about_dialog.h \
accordion_frame.h \
capture_file_properties_dialog.h \
capture_interfaces_dialog.h \
capture_preferences_frame.h \
column_preferences_frame.h \
@ -298,7 +299,6 @@ HEADERS += $$HEADERS_WS_C \
search_frame.h \
splash_overlay.h \
stats_tree_dialog.h \
summary_dialog.h \
tango_colors.h \
tcp_stream_dialog.h \
traffic_table_dialog.h \
@ -588,6 +588,7 @@ SOURCES += \
byte_view_tab.cpp \
byte_view_text.cpp \
capture_file_dialog.cpp \
capture_file_properties_dialog.cpp \
capture_filter_combo.cpp \
capture_filter_edit.cpp \
capture_filter_syntax_worker.cpp \
@ -661,7 +662,6 @@ SOURCES += \
splash_overlay.cpp \
stats_tree_dialog.cpp \
stock_icon.cpp \
summary_dialog.cpp \
syntax_line_edit.cpp \
tcp_stream_dialog.cpp \
time_shift_dialog.cpp \

View File

@ -0,0 +1,551 @@
/* capture_file_properties_dialog.cpp
*
* GSoC 2013 - QtShark
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "capture_file_properties_dialog.h"
#include "ui_capture_file_properties_dialog.h"
#include "summary.h"
#include "wsutil/str_util.h"
#include "wsutil/ws_version_info.h"
#include "wireshark_application.h"
#include <QDateTime>
#include <QPushButton>
#include <QTextStream>
// To do:
// - Add file hashes
// - Add formats (HTML, plain text, YAML)?
CaptureFilePropertiesDialog::CaptureFilePropertiesDialog(QWidget *parent, capture_file *cf) :
QDialog(parent),
ui(new Ui::SummaryDialog),
cap_file_(cf)
{
ui->setupUi(this);
// XXX Use recent settings instead
if (parent) {
resize(parent->width() * 2 / 3, parent->height());
}
QPushButton *button = ui->buttonBox->button(QDialogButtonBox::Reset);
if (button) {
button->setText(tr("Refresh"));
}
button = ui->buttonBox->button(QDialogButtonBox::Apply);
if (button) {
button->setText(tr("Copy To Clipboard"));
}
button = ui->buttonBox->button(QDialogButtonBox::Save);
if (button) {
button->setText(tr("Save Comments"));
}
updateWidgets();
}
/*
* Slots
*/
CaptureFilePropertiesDialog::~CaptureFilePropertiesDialog()
{
delete ui;
}
/**/
void CaptureFilePropertiesDialog::setCaptureFile(capture_file *cf)
{
if (!cf) { // We only want to know when the file closes.
cap_file_ = NULL;
}
updateWidgets();
}
void CaptureFilePropertiesDialog::updateWidgets()
{
QPushButton *save_bt = ui->buttonBox->button(QDialogButtonBox::Save);
if (!cap_file_) {
refresh_button_->setEnabled(false);
ui->commentsTextEdit->setReadOnly(true);
save_bt->setEnabled(false);
return;
}
bool enable = wtap_dump_can_write(cap_file_->linktypes, WTAP_COMMENT_PER_SECTION);
save_bt->setEnabled(enable);
ui->commentsTextEdit->setEnabled(enable);
ui->detailsTextEdit->setHtml(summaryToHtml());
ui->commentsTextEdit->setText(cf_read_shb_comment(cap_file_));
}
QString CaptureFilePropertiesDialog::timeToString(time_t ti_time)
{
QDateTime date_time = QDateTime::fromTime_t(ti_time);
QString time_str = date_time.toLocalTime().toString("yyyy-MM-dd hh:mm:ss");
return time_str;
}
QString CaptureFilePropertiesDialog::summaryToHtml()
{
summary_tally summary;
double seconds = 0.0;
double disp_seconds = 0.0;
double marked_seconds = 0.0;
memset(&summary, 0, sizeof(summary_tally));
QString section_tmpl;
QString table_begin, table_end;
QString table_row_begin, table_ul_row_begin, table_row_end;
QString table_vheader_tmpl, table_hheader20_tmpl, table_hheader25_tmpl;
QString table_data_tmpl;
section_tmpl = "<p><strong>%1</strong></p>\n";
table_begin = "<p><table>\n";
table_end = "</table></p>\n";
table_row_begin = "<tr>\n";
table_ul_row_begin = "<tr style=\"border-bottom: 1px solid gray;\">\n";
table_row_end = "</tr>\n";
table_vheader_tmpl = "<td width=\"20%\">%1:</td>"; // <th align="left"> looked odd
table_hheader20_tmpl = "<td width=\"20%\"><u>%1</u></td>";
table_hheader25_tmpl = "<td width=\"25%\"><u>%1</u></td>";
table_data_tmpl = "<td>%1</td>";
if (cap_file_) {
/* initial computations */
summary_fill_in(cap_file_, &summary);
#ifdef HAVE_LIBPCAP
summary_fill_in_capture(cap_file_, &global_capture_opts, &summary);
#endif
}
seconds = summary.stop_time - summary.start_time;
disp_seconds = summary.filtered_stop - summary.filtered_start;
marked_seconds = summary.marked_stop - summary.marked_start;
QString summary_str;
QTextStream out(&summary_str);
QString unknown = tr("Unknown");
// File Section
out << section_tmpl.arg(tr("File"));
out << table_begin;
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Name"))
<< table_data_tmpl.arg(summary.filename)
<< table_row_end;
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Length"))
<< table_data_tmpl.arg(gchar_free_to_qstring(format_size(summary.file_length, format_size_unit_bytes)))
<< table_row_end;
QString format_str = wtap_file_type_subtype_string(summary.file_type);
if (summary.iscompressed) {
format_str.append(tr(" (gzip compressed)"));
}
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Format"))
<< table_data_tmpl.arg(format_str)
<< table_row_end;
QString encaps_str;
if (summary.file_encap_type == WTAP_ENCAP_PER_PACKET) {
for (guint i = 0; i < summary.packet_encap_types->len; i++)
{
encaps_str = QString(wtap_encap_string(g_array_index(summary.packet_encap_types, int, i)));
}
} else {
encaps_str = QString(wtap_encap_string(summary.file_encap_type));
}
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Encapsulation"))
<< table_data_tmpl.arg(encaps_str)
<< table_row_end;
out << table_end;
// Time Section
if (summary.packet_count_ts == summary.packet_count &&
summary.packet_count >= 1)
{
out << section_tmpl.arg(tr("Time"));
out << table_begin;
// start time
out << table_row_begin
<< table_vheader_tmpl.arg(tr("First packet"))
<< table_data_tmpl.arg(timeToString((time_t)summary.start_time))
<< table_row_end;
// stop time
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Last packet"))
<< table_data_tmpl.arg(timeToString((time_t)summary.stop_time))
<< table_row_end;
// elapsed seconds (capture duration)
if (summary.packet_count_ts >= 2)
{
/* elapsed seconds */
QString elapsed_str;
unsigned int elapsed_time = (unsigned int)summary.elapsed_time;
if (elapsed_time/86400)
{
elapsed_str = QString("%1 days ").arg(elapsed_time / 86400);
}
elapsed_str += QString("%1:%2:%3")
.arg(elapsed_time % 86400 / 3600, 2, 10, QChar('0'))
.arg(elapsed_time % 3600 / 60, 2, 10, QChar('0'))
.arg(elapsed_time % 60, 2, 10, QChar('0'));
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Elapsed"))
<< table_data_tmpl.arg(elapsed_str)
<< table_row_end;
}
out << table_end;
}
// Capture Section
out << section_tmpl.arg(tr("Capture"));
out << table_begin;
QString capture_hardware(unknown);
if (summary.shb_hardware && summary.shb_hardware[0] != '\0') {
capture_hardware = summary.shb_hardware;
}
// capture HW
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Hardware"))
<< table_data_tmpl.arg(capture_hardware)
<< table_row_end;
QString capture_os(unknown);
if (summary.shb_os && summary.shb_os[0] != '\0') {
capture_os = summary.shb_os;
}
out << table_row_begin
<< table_vheader_tmpl.arg(tr("OS"))
<< table_data_tmpl.arg(capture_os)
<< table_row_end;
QString capture_app(unknown);
if (summary.shb_user_appl && summary.shb_user_appl[0] != '\0') {
capture_app = summary.shb_user_appl;
}
out << table_row_begin
<< table_vheader_tmpl.arg(tr("Application"))
<< table_data_tmpl.arg(capture_app)
<< table_row_end;
out << table_end;
// capture interfaces info
if (summary.ifaces->len > 0) {
out << section_tmpl.arg(tr("Interfaces"));
out << table_begin;
out << table_ul_row_begin
<< table_hheader20_tmpl.arg(tr("Interface"))
<< table_hheader20_tmpl.arg(tr("Dropped packets"))
<< table_hheader20_tmpl.arg(tr("Capture filter"))
<< table_hheader20_tmpl.arg(tr("Link type"))
<< table_hheader20_tmpl.arg(tr("Packet size limit"))
<< table_row_end;
}
for (guint i = 0; i < summary.ifaces->len; i++) {
iface_options iface;
iface = g_array_index(summary.ifaces, iface_options, i);
/* interface */
QString interface_name(unknown);
if (iface.descr) {
interface_name = iface.descr;
} else if (iface.name)
{
interface_name = iface.name;
}
/* Dropped count */
QString interface_drops(unknown);
if (iface.drops_known) {
interface_drops = QString("%1 (%2 %)").arg(iface.drops).arg(QString::number(
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
summary.packet_count ?(100.0 * (gint64)iface.drops)/summary.packet_count : 0.0f, 'g', 1));
}
/* Capture filter */
QString interface_cfilter(unknown);
if (iface.cfilter && iface.cfilter[0] != '\0') {
interface_cfilter = iface.cfilter;
} else if (iface.name) {
interface_cfilter = QString(tr("none"));
}
QString interface_snaplen = QString(tr("%1 bytes").arg(iface.snap));
out << table_row_begin
<< table_data_tmpl.arg(interface_name)
<< table_data_tmpl.arg(interface_drops)
<< table_data_tmpl.arg(interface_cfilter)
<< table_data_tmpl.arg(wtap_encap_string(iface.encap_type))
<< table_data_tmpl.arg(interface_snaplen)
<< table_row_end;
}
if (summary.ifaces->len > 0) {
out << table_end;
}
// Statistics Section
out << section_tmpl.arg(tr("Statistics"));
out << table_begin;
out << table_ul_row_begin
<< table_hheader25_tmpl.arg(tr("Measurement"))
<< table_hheader25_tmpl.arg(tr("Captured"))
<< table_hheader25_tmpl.arg(tr("Displayed"))
<< table_hheader25_tmpl.arg(tr("Marked"))
<< table_row_end;
// TRANSLATOR Abbreviation for "not applicable"
QString n_a = tr("N/A");
QString captured_str, displayed_str, marked_str;
// Packets
displayed_str = marked_str = n_a;
if (summary.filtered_count > 0 && summary.packet_count > 0) {
displayed_str = QString("%1 (%2%)")
.arg(summary.filtered_count)
.arg(100.0 * summary.filtered_count / summary.packet_count, 1, 'f', 1);
}
if (summary.packet_count > 0 && summary.marked_count > 0) {
marked_str = QString("%1 (%2%)")
.arg(summary.marked_count)
.arg(100.0 * summary.marked_count / summary.packet_count, 1, 'f', 1);
}
out << table_row_begin
<< table_data_tmpl.arg(tr("Packets"))
<< table_data_tmpl.arg(summary.packet_count)
<< table_data_tmpl.arg(displayed_str)
<< table_data_tmpl.arg(marked_str)
<< table_row_end;
// Time between first and last
captured_str = displayed_str = marked_str = n_a;
if (seconds > 0) {
captured_str = QString("%1").arg(seconds, 1, 'f', 3);
}
if (disp_seconds > 0) {
displayed_str = QString("%1").arg(disp_seconds, 1, 'f', 3);
}
if (marked_seconds > 0) {
marked_str = QString("%1").arg(marked_seconds, 1, 'f', 3);
}
out << table_row_begin
<< table_data_tmpl.arg(tr("Time span, s"))
<< table_data_tmpl.arg(captured_str)
<< table_data_tmpl.arg(displayed_str)
<< table_data_tmpl.arg(marked_str)
<< table_row_end;
// Average packets per second
captured_str = displayed_str = marked_str = n_a;
if (seconds > 0) {
captured_str = QString("%1").arg(summary.packet_count/seconds, 1, 'f', 1);
}
if (disp_seconds > 0) {
displayed_str = QString("%1").arg(summary.filtered_count/disp_seconds, 1, 'f', 1);
}
if (marked_seconds > 0) {
marked_str = QString("%1").arg(summary.marked_count/marked_seconds, 1, 'f', 1);
}
out << table_row_begin
<< table_data_tmpl.arg(tr("Average pps"))
<< table_data_tmpl.arg(captured_str)
<< table_data_tmpl.arg(displayed_str)
<< table_data_tmpl.arg(marked_str)
<< table_row_end;
// Average packets per second
captured_str = displayed_str = marked_str = n_a;
if (summary.packet_count > 0) {
captured_str = QString("%1").arg(summary.bytes/summary.packet_count + 0.5, 1, 'f', 1);
}
if (summary.filtered_count > 0) {
displayed_str = QString("%1").arg(summary.filtered_bytes/summary.filtered_count + 0.5, 1, 'f', 1);
}
if (summary.marked_count > 0) {
marked_str = QString("%1").arg(summary.marked_bytes/summary.marked_count + 0.5, 1, 'f', 1);
}
out << table_row_begin
<< table_data_tmpl.arg(tr("Average packet size, B"))
<< table_data_tmpl.arg(captured_str)
<< table_data_tmpl.arg(displayed_str)
<< table_data_tmpl.arg(marked_str)
<< table_row_end;
// Byte count
displayed_str = marked_str = "0";
if (summary.bytes > 0 && summary.filtered_bytes > 0) {
displayed_str = QString("%1 (%2%)")
.arg(summary.filtered_bytes)
.arg(100.0 * summary.filtered_bytes / summary.bytes, 1, 'f', 1);
}
if (summary.bytes > 0 && summary.marked_bytes > 0) {
marked_str = QString("%1 (%2%)")
.arg(summary.marked_bytes)
.arg(100.0 * summary.marked_bytes / summary.bytes, 1, 'f', 1);
}
out << table_row_begin
<< table_data_tmpl.arg(tr("Bytes"))
<< table_data_tmpl.arg(summary.bytes)
<< table_data_tmpl.arg(displayed_str)
<< table_data_tmpl.arg(marked_str)
<< table_row_end;
// Bytes per second
captured_str = displayed_str = marked_str = n_a;
if (seconds > 0) {
captured_str =
gchar_free_to_qstring(format_size(summary.bytes / seconds, format_size_unit_none|format_size_prefix_si));
}
if (disp_seconds > 0) {
displayed_str =
gchar_free_to_qstring(format_size(summary.filtered_bytes / disp_seconds, format_size_unit_none|format_size_prefix_si));
}
if (marked_seconds > 0) {
marked_str =
gchar_free_to_qstring(format_size(summary.marked_bytes / marked_seconds, format_size_unit_none|format_size_prefix_si));
}
out << table_row_begin
<< table_data_tmpl.arg(tr("Average bytes/s"))
<< table_data_tmpl.arg(captured_str)
<< table_data_tmpl.arg(displayed_str)
<< table_data_tmpl.arg(marked_str)
<< table_row_end;
// Bits per second
captured_str = displayed_str = marked_str = n_a;
if (seconds > 0) {
captured_str =
gchar_free_to_qstring(format_size(summary.bytes * 8 / seconds, format_size_unit_none|format_size_prefix_si));
}
if (disp_seconds > 0) {
displayed_str =
gchar_free_to_qstring(format_size(summary.filtered_bytes * 8 / disp_seconds, format_size_unit_none|format_size_prefix_si));
}
if (marked_seconds > 0) {
marked_str =
gchar_free_to_qstring(format_size(summary.marked_bytes * 8 / marked_seconds, format_size_unit_none|format_size_prefix_si));
}
out << table_row_begin
<< table_data_tmpl.arg(tr("Average bits/s"))
<< table_data_tmpl.arg(captured_str)
<< table_data_tmpl.arg(displayed_str)
<< table_data_tmpl.arg(marked_str)
<< table_row_end;
out << table_end;
return summary_str;
}
void CaptureFilePropertiesDialog::changeEvent(QEvent* event)
{
if (0 != event)
{
switch (event->type())
{
case QEvent::LanguageChange:
ui->retranslateUi(this);
updateWidgets();
break;
default:
break;
}
}
QDialog::changeEvent(event);
}
void CaptureFilePropertiesDialog::on_buttonBox_helpRequested()
{
wsApp->helpTopicAction(HELP_STATS_SUMMARY_DIALOG);
}
void CaptureFilePropertiesDialog::on_buttonBox_accepted()
{
if (!cap_file_ || !cap_file_->filename) {
return;
}
if (wtap_dump_can_write(cap_file_->linktypes, WTAP_COMMENT_PER_SECTION))
{
gchar *str = qstring_strdup(ui->commentsTextEdit->toPlainText());
cf_update_capture_comment(cap_file_, str);
emit captureCommentChanged();
}
}
void CaptureFilePropertiesDialog::on_buttonBox_clicked(QAbstractButton *button)
{
if (button == ui->buttonBox->button(QDialogButtonBox::Apply)) {
QClipboard *clipboard = QApplication::clipboard();
QString details = tr("Created by Wireshark %1\n\n").arg(get_ws_vcs_version_info());
details.append(ui->detailsTextEdit->toPlainText());
clipboard->setText(details);
} else if (button == ui->buttonBox->button(QDialogButtonBox::Reset)) {
updateWidgets();
}
}
void CaptureFilePropertiesDialog::on_buttonBox_rejected()
{
reject();
}
/*
* Editor modelines
*
* Local Variables:
* c-basic-offset: 4
* tab-width: 8
* indent-tabs-mode: nil
* End:
*
* ex: set shiftwidth=4 tabstop=8 expandtab:
* :indentSize=4:tabSize=8:noTabs=true:
*/

View File

@ -1,4 +1,4 @@
/* summary_dialog.h
/* capture_file_properties_dialog.h
*
* GSoC 2013 - QtShark
*
@ -21,8 +21,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef SUMMARY_DIALOG_H
#define SUMMARY_DIALOG_H
#ifndef CAPTURE_FILE_PROPERTIES_DIALOG_H
#define CAPTURE_FILE_PROPERTIES_DIALOG_H
#include "config.h"
@ -34,55 +34,56 @@
#include <epan/strutil.h>
#include <wiretap/wtap.h>
#include "globals.h"
#include "file.h"
#include "summary.h"
#ifdef HAVE_LIBPCAP
#include "ui/capture.h"
#include "ui/capture_globals.h"
#endif
#include <QDialog>
#include <QClipboard>
#include <QDialog>
namespace Ui {
class SummaryDialog;
}
class SummaryDialog : public QDialog
class QAbstractButton;
class CaptureFilePropertiesDialog : public QDialog
{
Q_OBJECT
public:
explicit SummaryDialog(QWidget *parent = 0);
~SummaryDialog();
explicit CaptureFilePropertiesDialog(QWidget *parent = 0, capture_file *cf = NULL);
~CaptureFilePropertiesDialog();
QString TimeToString(time_t ti_time);
void UpdateValues();
QString SummaryToString();
public slots:
void setCaptureFile(capture_file *cf);
signals:
void captureCommentChanged();
protected slots:
void RefreshData();
void SaveComment();
void HelpButton();
void CopyComment();
void on_tabWidget_currentChanged(int index);
void changeEvent(QEvent* event);
private:
Ui::SummaryDialog *ui;
Ui::SummaryDialog *ui;
capture_file *cap_file_;
QPushButton *bRefresh;
QPushButton *bCopyComment;
QPushButton *refresh_button_;
QPushButton *copy_comment_button_;
summary_tally summary_;
QString timeToString(time_t ti_time);
QString summaryToHtml();
private slots:
void updateWidgets();
void on_buttonBox_helpRequested();
void on_buttonBox_accepted();
void on_buttonBox_clicked(QAbstractButton *button);
void on_buttonBox_rejected();
};
#endif

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SummaryDialog</class>
<widget class="QDialog" name="SummaryDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>799</width>
<height>585</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Wireshark - Capture File Properties</string>
</property>
<property name="windowIcon">
<iconset resource="../../image/toolbar.qrc">
<normaloff>:/menu/help/wsicon16.png</normaloff>:/menu/help/wsicon16.png</iconset>
</property>
<property name="locale">
<locale language="English" country="UnitedStates"/>
</property>
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,3,0,1,0">
<item>
<widget class="QLabel" name="detailsLabel">
<property name="text">
<string>Details</string>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="detailsTextEdit">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="commentsLabel">
<property name="text">
<string>Capture file comments</string>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="commentsTextEdit">
<property name="sizeIncrement">
<size>
<width>0</width>
<height>10</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Apply|QDialogButtonBox::Close|QDialogButtonBox::Help|QDialogButtonBox::Reset|QDialogButtonBox::Save</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../../image/toolbar.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -49,6 +49,7 @@
#include "ui/follow.h"
#include "qt_ui_utils.h"
#include "wireshark_application.h"
#include <QKeyEvent>

View File

@ -118,13 +118,18 @@ MainStatusBar::MainStatusBar(QWidget *parent) :
expert_status_.setTextFormat(Qt::RichText);
expert_status_.hide();
// XXX Add the comment icon
// We just want a clickable image. Using a QPushButton or QToolButton would require
// a lot of adjustment.
comment_label_.setText("<a href><img src=\":/comment/capture_comment_update.png\"></img></a>");
comment_label_.setToolTip(tr("Open the Capture Properties dialgo"));
connect(&comment_label_, SIGNAL(linkActivated(QString)), this, SIGNAL(editCaptureComment()));
info_progress_hb->setContentsMargins(0, 0, 0, 0);
info_status_.setTemporaryContext(STATUS_CTX_TEMPORARY);
info_progress_hb->addWidget(&expert_status_);
info_progress_hb->addWidget(&comment_label_);
info_progress_hb->addWidget(&info_status_);
info_progress_hb->addWidget(&progress_bar_);
info_progress_hb->addStretch(10);
@ -221,6 +226,7 @@ void MainStatusBar::expertUpdate() {
void MainStatusBar::setCaptureFile(capture_file *cf)
{
cap_file_ = cf;
comment_label_.setEnabled(cap_file_ != NULL);
}
void MainStatusBar::pushTemporaryStatus(QString &message) {

View File

@ -26,9 +26,9 @@
#include "label_stack.h"
#include "progress_bar.h"
#include <QStatusBar>
#include <QLabel>
#include <QMenu>
#include <QStatusBar>
#include "cfile.h"
@ -43,6 +43,7 @@ public:
private:
QLabel expert_status_;
QLabel comment_label_;
LabelStack info_status_;
ProgressBar progress_bar_;
LabelStack packet_status_;
@ -54,6 +55,8 @@ private:
QAction *delete_action_;
signals:
void editCaptureComment();
public slots:
void setCaptureFile(capture_file *cf);

View File

@ -193,8 +193,6 @@ MainWindow::MainWindow(QWidget *parent) :
connect(wsApp, SIGNAL(updateRecentItemStatus(const QString &, qint64, bool)), this, SLOT(updateRecentFiles()));
updateRecentFiles();
connect(&summary_dialog_, SIGNAL(captureCommentChanged()), this, SLOT(updateForUnsavedChanges()));
#ifdef HAVE_LIBPCAP
connect(&capture_interfaces_dialog_, SIGNAL(startCapture()), this, SLOT(startCapture()));
connect(&capture_interfaces_dialog_, SIGNAL(stopCapture()), this, SLOT(stopCapture()));
@ -367,6 +365,9 @@ MainWindow::MainWindow(QWidget *parent) :
connect(byte_view_tab_, SIGNAL(byteFieldHovered(QString&)),
main_ui_->statusBar, SLOT(pushByteStatus(QString&)));
connect(main_ui_->statusBar, SIGNAL(editCaptureComment()),
this, SLOT(on_actionStatisticsCaptureFileProperties_triggered()));
connect(&file_set_dialog_, SIGNAL(fileSetOpenCaptureFile(QString&)),
this, SLOT(openCaptureFile(QString&)));
@ -1448,6 +1449,8 @@ void MainWindow::initShowHideMainWidgets()
connect(show_hide_actions_, SIGNAL(triggered(QAction*)), this, SLOT(showHideMainWidgets(QAction*)));
}
Q_DECLARE_METATYPE(ts_type)
void MainWindow::initTimeDisplayFormatMenu()
{
if (time_display_actions_) {
@ -1481,6 +1484,8 @@ void MainWindow::initTimeDisplayFormatMenu()
main_ui_->actionViewTimeDisplaySecondsWithHoursAndMinutes->setChecked(recent.gui_seconds_format == TS_SECONDS_HOUR_MIN_SEC);
}
Q_DECLARE_METATYPE(ts_precision)
void MainWindow::initTimePrecisionFormatMenu()
{
if (time_precision_actions_) {
@ -1647,7 +1652,7 @@ void MainWindow::setMenusForCaptureFile(bool force_disable)
main_ui_->actionFileClose->setEnabled(false);
main_ui_->actionFileSave->setEnabled(false);
main_ui_->actionFileSaveAs->setEnabled(false);
main_ui_->actionSummary->setEnabled(false);
main_ui_->actionStatisticsCaptureFileProperties->setEnabled(false);
main_ui_->actionFileExportPackets->setEnabled(false);
main_ui_->menuFileExportPacketDissections->setEnabled(false);
main_ui_->actionFileExportPacketBytes->setEnabled(false);
@ -1661,7 +1666,7 @@ void MainWindow::setMenusForCaptureFile(bool force_disable)
main_ui_->actionFileClose->setEnabled(true);
main_ui_->actionFileSave->setEnabled(cf_can_save(cap_file_));
main_ui_->actionFileSaveAs->setEnabled(cf_can_save_as(cap_file_));
main_ui_->actionSummary->setEnabled(true);
main_ui_->actionStatisticsCaptureFileProperties->setEnabled(true);
/*
* "Export Specified Packets..." should be available only if
* we can write the file out in at least one format.
@ -1690,7 +1695,7 @@ void MainWindow::setMenusForCaptureInProgress(bool capture_in_progress) {
main_ui_->menuFileSet->setEnabled(!capture_in_progress);
main_ui_->actionFileQuit->setEnabled(true);
main_ui_->actionSummary->setEnabled(capture_in_progress);
main_ui_->actionStatisticsCaptureFileProperties->setEnabled(capture_in_progress);
// XXX Fix packet list heading menu sensitivity
// set_menu_sensitivity(ui_manager_packet_list_heading, "/PacketListHeadingPopup/SortAscending",
@ -1712,7 +1717,7 @@ void MainWindow::setMenusForCaptureInProgress(bool capture_in_progress) {
void MainWindow::setMenusForCaptureStopping() {
main_ui_->actionFileQuit->setEnabled(false);
main_ui_->actionSummary->setEnabled(false);
main_ui_->actionStatisticsCaptureFileProperties->setEnabled(false);
#ifdef HAVE_LIBPCAP
main_ui_->actionCaptureStart->setChecked(false);
main_ui_->actionCaptureStop->setEnabled(false);

View File

@ -55,7 +55,6 @@
#include "file_set_dialog.h"
#include "filter_action.h"
#include "capture_file_dialog.h"
#include "summary_dialog.h"
#include "follow_stream_dialog.h"
#include "capture_interfaces_dialog.h"
#include "about_dialog.h"
@ -63,9 +62,6 @@
class QAction;
class QActionGroup;
Q_DECLARE_METATYPE(ts_type)
Q_DECLARE_METATYPE(ts_precision)
namespace Ui {
class MainWindow;
}
@ -120,7 +116,6 @@ private:
ProtoTree *proto_tree_;
QWidget *previous_focus_;
FileSetDialog file_set_dialog_;
SummaryDialog summary_dialog_;
ByteViewTab *byte_view_tab_;
QWidget empty_pane_;
QActionGroup *show_hide_actions_;
@ -366,7 +361,7 @@ private slots:
void on_actionCaptureStart_triggered();
void on_actionCaptureStop_triggered();
void on_actionSummary_triggered();
void on_actionStatisticsCaptureFileProperties_triggered();
void on_actionStatisticsFlowGraph_triggered();
void openTcpStreamDialog(int graph_type);
void on_actionStatisticsTcpStreamStevens_triggered();

View File

@ -407,7 +407,7 @@
<addaction name="actionStatistics29WestLBTRM"/>
<addaction name="actionStatistics29WestLBTRU"/>
</widget>
<addaction name="actionSummary"/>
<addaction name="actionStatisticsCaptureFileProperties"/>
<addaction name="actionProtocol_Hierarchy"/>
<addaction name="actionStatisticsConversations"/>
<addaction name="actionStatisticsEndpoints"/>
@ -1383,12 +1383,15 @@
<enum>QAction::PreferencesRole</enum>
</property>
</action>
<action name="actionSummary">
<action name="actionStatisticsCaptureFileProperties">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Summary</string>
<string>Capture File Properties</string>
</property>
<property name="toolTip">
<string>Capture file properties</string>
</property>
</action>
<action name="actionProtocol_Hierarchy">

View File

@ -73,6 +73,7 @@
#endif
#include "capture_file_dialog.h"
#include "capture_file_properties_dialog.h"
#include "conversation_dialog.h"
#include "decode_as_dialog.h"
#include "endpoint_dialog.h"
@ -579,8 +580,6 @@ void MainWindow::captureFileClosed(const capture_file *cf) {
main_ui_->statusBar->popFileStatus();
cap_file_ = NULL;
summary_dialog_.close();
if (df_combo_box_)
{
df_combo_box_->lineEdit()->setText("");
@ -1776,6 +1775,8 @@ void MainWindow::showHideMainWidgets(QAction *action)
}
}
Q_DECLARE_METATYPE(ts_type)
void MainWindow::setTimestampFormat(QAction *action)
{
if (!action) {
@ -1795,6 +1796,8 @@ void MainWindow::setTimestampFormat(QAction *action)
}
}
Q_DECLARE_METATYPE(ts_precision)
void MainWindow::setTimestampPrecision(QAction *action)
{
if (!action) {
@ -2552,21 +2555,14 @@ void MainWindow::on_actionCaptureStop_triggered()
stopCapture();
}
void MainWindow::on_actionSummary_triggered()
void MainWindow::on_actionStatisticsCaptureFileProperties_triggered()
{
summary_dialog_.UpdateValues();
if (summary_dialog_.isMinimized() == true)
{
summary_dialog_.showNormal();
}
else
{
summary_dialog_.show();
}
summary_dialog_.raise();
summary_dialog_.activateWindow();
CaptureFilePropertiesDialog *capture_file_properties_dialog = new CaptureFilePropertiesDialog(this, cap_file_);
connect(capture_file_properties_dialog, SIGNAL(captureCommentChanged()),
this, SLOT(updateForUnsavedChanges()));
connect(this, SIGNAL(setCaptureFile(capture_file*)),
capture_file_properties_dialog, SLOT(setCaptureFile(capture_file*)));
capture_file_properties_dialog->show();
}
#ifdef HAVE_LIBPCAP

View File

@ -1,775 +0,0 @@
/* summary_dialog.cpp
*
* GSoC 2013 - QtShark
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "summary_dialog.h"
#include "ui_summary_dialog.h"
#include "wireshark_application.h"
#include <wsutil/ws_version_info.h>
#include <QtGui>
#include <QPushButton>
SummaryDialog::SummaryDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::SummaryDialog)
{
ui->setupUi(this);
ui->tbDisplay->horizontalHeader()->setVisible(true);
/* set column widths */
ui->tbInterfaces->setColumnWidth(0, 305);
ui->tbInterfaces->setColumnWidth(1, 110);
ui->tbInterfaces->setColumnWidth(2, 90);
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
ui->tbInterfaces->horizontalHeader()->setResizeMode(3, QHeaderView::Stretch);
#else
ui->tbInterfaces->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
#endif
ui->tbInterfaces->setColumnWidth(4, 160);
ui->tbDisplay->setColumnWidth(0, 265);
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
ui->tbDisplay->horizontalHeader()->setResizeMode(1, QHeaderView::Stretch);
ui->tbDisplay->horizontalHeader()->setResizeMode(2, QHeaderView::Stretch);
ui->tbDisplay->horizontalHeader()->setResizeMode(3, QHeaderView::Stretch);
#else
ui->tbDisplay->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
ui->tbDisplay->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
ui->tbDisplay->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
#endif
this->setFixedSize(this->size());
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(SaveComment()));
connect(ui->buttonBox, SIGNAL(helpRequested()), this, SLOT(HelpButton()));
bRefresh = ui->buttonBox->addButton(tr("Refresh"), QDialogButtonBox::ActionRole);
connect(bRefresh, SIGNAL(clicked()), this, SLOT(RefreshData()));
bCopyComment = ui->buttonBox->addButton(tr("Copy To Clipboard"), QDialogButtonBox::ActionRole);
connect(bCopyComment, SIGNAL(clicked()), this, SLOT(CopyComment()));
}
/*
* Slots
**/
void SummaryDialog::RefreshData()
{
UpdateValues();
}
void SummaryDialog::SaveComment()
{
if (cfile.filename != NULL)
{
if (wtap_dump_can_write(cfile.linktypes, WTAP_COMMENT_PER_SECTION))
{
gchar *str = g_strdup((gchar*)ui->teCFComments->toPlainText().toStdString().c_str());
cf_update_capture_comment(&cfile, str);
emit captureCommentChanged();
}
}
}
void SummaryDialog::HelpButton()
{
wsApp->helpTopicAction(HELP_STATS_SUMMARY_DIALOG);
}
void SummaryDialog::CopyComment()
{
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(SummaryToString());
}
void SummaryDialog::on_tabWidget_currentChanged(int index)
{
// if we are showing the comment summary tab, we update it with new values
if (index == 2)
{
UpdateValues();
ui->pteCommentSummary->clear();
ui->pteCommentSummary->insertPlainText(SummaryToString());
}
}
/**/
QString SummaryDialog::SummaryToString()
{
UpdateValues();
QString summaryStr;
QTextStream out(&summaryStr);
out << tr("Summary created by Wireshark %1\n\n").arg(get_ws_vcs_version_info());
// File Section
out << tr("File: \n");
out << "\t" << tr("Name:\t\t%1\n").arg(summary_.filename);
out << "\t" << tr("Length:\t\t%1 bytes\n").arg(summary_.file_length);
out << "\t" << tr("Format:\t\t%1%2\n")
.arg(wtap_file_type_subtype_string(summary_.file_type))
.arg(summary_.iscompressed? tr(" (gzip compressed)") : "");
out << "\t" << tr("Encapsulation:\t\t%1\n").arg(ui->lEncapsulation->text());
out << "\n\n";
// Time Section
out << tr("Time:\n");
if (summary_.packet_count_ts == summary_.packet_count &&
summary_.packet_count >= 1)
{
// start time
out << "\t" << tr("First packet:\t\t%1\n").arg(ui->lFirstPacket->text());
// stop time
out << "\t" << tr("Last packet:\t\t%1\n").arg(ui->lLastPacket->text());
// elapsed seconds (capture duration)
if (summary_.packet_count_ts >= 2) {
out << "\t" << tr("Elapsed:\t\t%1\n").arg(ui->lElapsed->text());
}
}
out << "\n\n";
// Capture Section
out << tr("Capture:\n");
// // capture HW
// if (summary_.shb_hardware){
// out << INDENT << tr("Capture HW: %1\n").arg(ui_->captureHWLabel->text());
// }
// capture OS
if (summary_.shb_os)
{
out << "\t" << tr("OS:\t%1\n").arg(ui->lOS->text());
}
// capture application
if (summary_.shb_user_appl)
{
out << "\t" << tr("Capture application:\t%1\n").arg(ui->lCaptureApp->text());
}
out << "\n";
// capture interfaces info
for (int i = 0; i < ui->tbInterfaces->rowCount(); i++)
{
out << "\t" << ui->tbInterfaces->item(i,0)->text() << "\n";
out << "\t" << "\t" << tr("Dropped packets:\t%1\n")
.arg(ui->tbInterfaces->item(i,1)->text());
out << "\t" << "\t" << tr("Capture filter:\t\t%1\n")
.arg(ui->tbInterfaces->item(i,2)->text());
out << "\t" << "\t" << tr("Link type:\t\t%1\n")
.arg(ui->tbInterfaces->item(i,3)->text());
out << "\t" << "\t" << tr("Packet size limit:\t%1\n")
.arg(ui->tbInterfaces->item(i,4)->text());
}
out << "\n\n";
// Statistics Section
out << tr("Statistics:\n");
for (int i = 0; i < ui->tbDisplay->rowCount(); i++)
{
out << "\t" << tr("%1:\t%2")
.arg(ui->tbDisplay->item(i,0)->text())
.arg(ui->tbDisplay->item(i,1)->text());
out << "\n";
}
out << "\n\n";
//Capture Comments Section - reads from GUI buffer
if(ui->teCFComments->isEnabled()
&& (!ui->teCFComments->toPlainText().isEmpty()))
{
out << tr("Capture File Comments:\n");
out << ui->teCFComments->toPlainText() << endl;
}
return summaryStr;
}
QString SummaryDialog::TimeToString(time_t ti_time)
{
struct tm *ti_tm;
QString str;
ti_tm = localtime(&ti_time);
if (ti_tm == NULL)
{
str = tr("Not representable");
}
else
{
str = str.sprintf("%04d-%02d-%02d %02d:%02d:%02d",
ti_tm->tm_year + 1900,
ti_tm->tm_mon + 1,
ti_tm->tm_mday,
ti_tm->tm_hour,
ti_tm->tm_min,
ti_tm->tm_sec);
}
return str;
}
void SummaryDialog::UpdateValues()
{
QString output;
iface_options iface;
uint i;
double seconds = 0.0;
double disp_seconds = 0.0;
double marked_seconds = 0.0;
memset(&summary_, 0, sizeof(summary_tally));
/* initial computations */
summary_fill_in(&cfile, &summary_);
#ifdef HAVE_LIBPCAP
summary_fill_in_capture(&cfile, &global_capture_opts, &summary_);
#endif
seconds = summary_.stop_time - summary_.start_time;
disp_seconds = summary_.filtered_stop - summary_.filtered_start;
marked_seconds = summary_.marked_stop - summary_.marked_start;
/*
* File groupbox
* */
/* setting the filename */
ui->lFilename->setText(summary_.filename);
/* setting the length of the file */
ui->lLength->setText(QString(tr("%1 bytes (%2 Mbytes)")).arg((ulong)summary_.file_length).arg((float)summary_.file_length/1048576));
/* format */
ui->lFormat->setText(QString("%1%2").arg(wtap_file_type_subtype_string(summary_.file_type), summary_.iscompressed? tr(" (gzip compressed)") : ""));
/* encapsulation */
if (summary_.file_encap_type == WTAP_ENCAP_PER_PACKET)
{
for (i = 0; i < summary_.packet_encap_types->len; i++)
{
output = QString(wtap_encap_string(g_array_index(summary_.packet_encap_types, int, i)));
}
}
else
{
output = QString(wtap_encap_string(summary_.file_encap_type));
}
ui->lEncapsulation->setText(output);
/*
* Time groupbox
* */
/* First packet and Last packet */
ui->lFirstPacket->setText(TimeToString((time_t)summary_.start_time));
ui->lLastPacket->setText(TimeToString((time_t)summary_.stop_time));
/*
* We must have at least two time-stamped packets for the elapsed time
* to be valid.
*/
if (summary_.packet_count_ts >= 2)
{
/* elapsed seconds */
uint elapsed_time = (unsigned int)summary_.elapsed_time;
if(elapsed_time/86400)
{
output = output.sprintf("%02u days %02u:%02u:%02u", elapsed_time/86400,
elapsed_time%86400/3600,
elapsed_time%3600/60,
elapsed_time%60);
}
else
{
output = output.sprintf("%02u:%02u:%02u", elapsed_time%86400/3600,
elapsed_time%3600/60,
elapsed_time%60);
}
ui->lElapsed->setText(output);
}
/*============
* Capture groupbox
*============ */
if (summary_.shb_os)
{
ui->lOS->setText(summary_.shb_os);
}
if (summary_.shb_user_appl)
{
ui->lCaptureApp->setText(summary_.shb_user_appl);
}
if (wtap_dump_can_write(cfile.linktypes, WTAP_COMMENT_PER_SECTION))
{
ui->teCFComments->setText(summary_.opt_comment);
}
/*============
* Interfaces table
*============ */
ui->tbInterfaces->setRowCount(0);
for (i = 0; i < summary_.ifaces->len; i++)
{
ui->tbInterfaces->setRowCount(ui->tbInterfaces->rowCount() + 1);
iface = g_array_index(summary_.ifaces, iface_options, i);
/* interface */
if (iface.descr)
{
output = QString(iface.descr);
}
else if (iface.name)
{
output = QString(iface.name);
}
else
{
output = QString(tr("unknown"));
}
ui->tbInterfaces->setItem(ui->tbInterfaces->rowCount()-1, 0, new QTableWidgetItem(output));
/* Dropped count */
if (iface.drops_known)
{
output = QString("%1 (%2 %)").arg(iface.drops).arg(QString::number(
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
summary_.packet_count ?(100.0 * (gint64)iface.drops)/summary_.packet_count : 0.0f, 'g', 3));
}
else
{
output = QString(tr("Unknown"));
}
ui->tbInterfaces->setItem(ui->tbInterfaces->rowCount()-1, 1, new QTableWidgetItem(output));
/* Capture filter */
if (iface.cfilter && iface.cfilter[0] != '\0')
{
output = output.sprintf("%s", iface.cfilter);
}
else
{
if (iface.name)
{
output = QString(tr("none"));
}
else
{
output = QString(tr("unknown"));
}
}
ui->tbInterfaces->setItem(ui->tbInterfaces->rowCount()-1, 2, new QTableWidgetItem(output));
ui->tbInterfaces->setItem(ui->tbInterfaces->rowCount()-1, 3, new QTableWidgetItem(wtap_encap_string(iface.encap_type)));
output = output.sprintf(tr("%u bytes").toStdString().c_str(), iface.snap);
ui->tbInterfaces->setItem(ui->tbInterfaces->rowCount()-1, 4, new QTableWidgetItem(output));
}
/*============
* Display table
*============ */
/* Display filter */
if (summary_.dfilter)
{
output = QString(summary_.dfilter);
}
else
{
output = QString(tr("none"));
}
ui->lDisplayFilter->setText(output);
/* Ignored packets */
output = output.sprintf("%i (%.3f%%)", summary_.ignored_count,
summary_.packet_count ? (100.0 * summary_.ignored_count)/summary_.packet_count : 0.0);
ui->lIgnoredPackets->setText(output);
/* filling the display table*/
ui->tbDisplay->setRowCount(0);
/*
* Packet count
**/
ui->tbDisplay->setRowCount(ui->tbDisplay->rowCount() + 1);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 0, new QTableWidgetItem(tr("Packets")));
output = output.sprintf("%i", summary_.packet_count);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 1, new QTableWidgetItem(output));
if (summary_.dfilter)
{
output = output.sprintf("%i (%.3f%%)", summary_.filtered_count,
summary_.packet_count ?
(100.0 * summary_.filtered_count)/summary_.packet_count : 0.0);
}
else
{
output = output.sprintf("%i (100.000%%)", summary_.packet_count);
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 2, new QTableWidgetItem(output));
output = output.sprintf("%i (%.3f%%)", summary_.marked_count,
summary_.packet_count ?
(100.0 * summary_.marked_count)/summary_.packet_count : 0.0);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 3, new QTableWidgetItem(output));
/*
* Time between first and last
**/
ui->tbDisplay->setRowCount(ui->tbDisplay->rowCount() + 1);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 0, new QTableWidgetItem(tr("Between first and last packet")));
if (seconds > 0)
{
output = output.sprintf(tr("%.3f sec").toStdString().c_str(), seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 1, new QTableWidgetItem(output));
/* Displayed packet count */
if (summary_.dfilter && disp_seconds > 0)
{
output = output.sprintf(tr("%.3f sec").toStdString().c_str(), disp_seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 2, new QTableWidgetItem(output));
/* Marked packet count */
if (summary_.marked_count && marked_seconds > 0)
{
output = output.sprintf(tr("%.3f sec").toStdString().c_str(), marked_seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 3, new QTableWidgetItem(output));
/*
* Average packets per second
**/
ui->tbDisplay->setRowCount(ui->tbDisplay->rowCount() + 1);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 0, new QTableWidgetItem(tr("Avg. packets/sec")));
if (seconds > 0)
{
output = output.sprintf("%.3f", summary_.packet_count/seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 1, new QTableWidgetItem(output));
/* Displayed packet count/sec */
if (summary_.dfilter && disp_seconds > 0)
{
output = output.sprintf("%.3f", summary_.filtered_count/disp_seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 2, new QTableWidgetItem(output));
/* Marked packet count/sec */
if (summary_.marked_count && marked_seconds > 0)
{
output = output.sprintf("%.3f", summary_.marked_count/marked_seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 3, new QTableWidgetItem(output));
/*
* Average packet size
**/
ui->tbDisplay->setRowCount(ui->tbDisplay->rowCount() + 1);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 0, new QTableWidgetItem(tr("Avg. packet size")));
if (summary_.packet_count > 1)
{
output = output.sprintf(tr("%" G_GUINT64_FORMAT " bytes").toStdString().c_str(),
(guint64) ((double)summary_.bytes/summary_.packet_count + 0.5));
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 1, new QTableWidgetItem(output));
if (summary_.dfilter && summary_.filtered_count > 1)
{
output = output.sprintf(tr("%" G_GUINT64_FORMAT " bytes").toStdString().c_str(),
(guint64) ((double)summary_.filtered_bytes/summary_.filtered_count + 0.5));
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 2, new QTableWidgetItem(output));
if (summary_.marked_count > 1)
{
output = output.sprintf(tr("%" G_GUINT64_FORMAT " bytes").toStdString().c_str(),
(guint64) ((double)summary_.marked_bytes/summary_.marked_count + 0.5));
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 3, new QTableWidgetItem(output));
/*
* Byte count
**/
ui->tbDisplay->setRowCount(ui->tbDisplay->rowCount() + 1);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 0, new QTableWidgetItem(tr("Bytes")));
output = QString("%1").arg(summary_.bytes);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 1, new QTableWidgetItem(output));
if (summary_.dfilter)
{
output = QString("%1 (%2%)").arg(summary_.filtered_bytes).arg(QString::number(
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
summary_.bytes ?(100.0 * (gint64)summary_.filtered_bytes)/summary_.bytes : 0.0f, 'g', 3));
}
else
{
output = QString("%1 (100.000%)").arg(summary_.bytes);
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 2, new QTableWidgetItem(output));
if (summary_.marked_count)
{
output = QString("%1 (%2%)").arg(summary_.marked_bytes).arg(QString::number(
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
summary_.bytes ?(100.0 * (gint64)summary_.marked_bytes)/summary_.bytes : 0.0f, 'g', 3));
}
else
{
output = QString("0 (0.000%)");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 3, new QTableWidgetItem(output));
/*
* Bytes per second
**/
ui->tbDisplay->setRowCount(ui->tbDisplay->rowCount() + 1);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 0, new QTableWidgetItem(tr("Avg. bytes/sec")));
if (seconds > 0)
{
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
output = output.sprintf("%.3f", ((gint64) summary_.bytes)/seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 1, new QTableWidgetItem(output));
/* Displayed packet count/sec */
if (summary_.dfilter && disp_seconds > 0)
{
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
output = output.sprintf("%.3f", ((gint64) summary_.filtered_bytes)/disp_seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 2, new QTableWidgetItem(output));
/* Marked packet count/sec */
if (summary_.marked_count && marked_seconds > 0)
{
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
output = output.sprintf("%.3f", ((gint64) summary_.marked_bytes)/marked_seconds);
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 3, new QTableWidgetItem(output));
/*
* MBits per second
**/
ui->tbDisplay->setRowCount(ui->tbDisplay->rowCount() + 1);
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 0, new QTableWidgetItem(tr("Avg. MBit/sec")));
if (seconds > 0)
{
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
output = output.sprintf("%.3f", ((gint64) summary_.bytes) * 8.0 / (seconds * 1000.0 * 1000.0));
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 1, new QTableWidgetItem(output));
/* Displayed packet count/sec */
if (summary_.dfilter && disp_seconds > 0)
{
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
output = output.sprintf("%.3f", ((gint64) summary_.filtered_bytes) * 8.0 / (disp_seconds * 1000.0 * 1000.0));
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 2, new QTableWidgetItem(output));
/* Marked packet count/sec */
if (summary_.marked_count && marked_seconds > 0)
{
/* MSVC cannot convert from unsigned __int64 to float, so first convert to signed __int64 */
output = output.sprintf("%.3f", ((gint64) ((gint64) summary_.marked_bytes) * 8.0 / (marked_seconds * 1000.0 * 1000.0)));
}
else
{
output = QString("N/A");
}
ui->tbDisplay->setItem(ui->tbDisplay->rowCount()-1, 3, new QTableWidgetItem(output));
}
SummaryDialog::~SummaryDialog()
{
delete ui;
}
void SummaryDialog::changeEvent(QEvent* event)
{
if (0 != event)
{
switch (event->type())
{
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
QDialog::changeEvent(event);
}
/*
* Editor modelines
*
* Local Variables:
* c-basic-offset: 4
* tab-width: 8
* indent-tabs-mode: nil
* End:
*
* ex: set shiftwidth=4 tabstop=8 expandtab:
* :indentSize=4:tabSize=8:noTabs=true:
*/

View File

@ -1,474 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SummaryDialog</class>
<widget class="QDialog" name="SummaryDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>799</width>
<height>585</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Wireshark - Summary</string>
</property>
<property name="windowIcon">
<iconset resource="../../image/toolbar.qrc">
<normaloff>:/menu/help/wsicon16.png</normaloff>:/menu/help/wsicon16.png</iconset>
</property>
<property name="locale">
<locale language="English" country="UnitedStates"/>
</property>
<widget class="QTabWidget" name="tabWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>781</width>
<height>531</height>
</rect>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>File capture details</string>
</attribute>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>761</width>
<height>111</height>
</rect>
</property>
<property name="title">
<string>File</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<widget class="QWidget" name="layoutWidget_1">
<property name="geometry">
<rect>
<x>21</x>
<y>21</y>
<width>731</width>
<height>90</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="lFilename">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Length</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="lLength">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Format</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="lFormat">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Encapsulation</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="lEncapsulation">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
<x>10</x>
<y>140</y>
<width>761</width>
<height>91</height>
</rect>
</property>
<property name="title">
<string>Time</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<widget class="QWidget" name="layoutWidget_2">
<property name="geometry">
<rect>
<x>22</x>
<y>22</y>
<width>731</width>
<height>67</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout_2">
<property name="topMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>First packet</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="lFirstPacket">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Last packet</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="lLastPacket">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Elapsed</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="lElapsed">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_3">
<property name="geometry">
<rect>
<x>10</x>
<y>240</y>
<width>761</width>
<height>261</height>
</rect>
</property>
<property name="title">
<string>Capture</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<widget class="QTextEdit" name="teCFComments">
<property name="geometry">
<rect>
<x>20</x>
<y>100</y>
<width>731</width>
<height>151</height>
</rect>
</property>
<property name="sizeIncrement">
<size>
<width>0</width>
<height>10</height>
</size>
</property>
</widget>
<widget class="QLabel" name="label_17">
<property name="geometry">
<rect>
<x>20</x>
<y>80</y>
<width>271</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Capture file comments</string>
</property>
</widget>
<widget class="QWidget" name="layoutWidget_3">
<property name="geometry">
<rect>
<x>21</x>
<y>18</y>
<width>731</width>
<height>42</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout_4">
<item row="0" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>OS</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="lOS">
<property name="text">
<string>Unknown</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Capture app</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="lCaptureApp">
<property name="text">
<string>Unknown</string>
</property>
</widget>
</item>
</layout>
</widget>
<zorder>layoutWidget_3</zorder>
<zorder>teCFComments</zorder>
<zorder>label_17</zorder>
</widget>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Capture statistics</string>
</attribute>
<widget class="QTableWidget" name="tbDisplay">
<property name="geometry">
<rect>
<x>10</x>
<y>210</y>
<width>751</width>
<height>271</height>
</rect>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="rowCount">
<number>0</number>
</property>
<property name="columnCount">
<number>4</number>
</property>
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>Traffic</string>
</property>
</column>
<column>
<property name="text">
<string>Captured</string>
</property>
</column>
<column>
<property name="text">
<string>Displayed</string>
</property>
</column>
<column>
<property name="text">
<string>Marked</string>
</property>
</column>
</widget>
<widget class="QTableWidget" name="tbInterfaces">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>751</width>
<height>151</height>
</rect>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="rowCount">
<number>0</number>
</property>
<property name="columnCount">
<number>5</number>
</property>
<column>
<property name="text">
<string>Interface</string>
</property>
</column>
<column>
<property name="text">
<string>Dropped packets</string>
</property>
</column>
<column>
<property name="text">
<string>Capture filter</string>
</property>
</column>
<column>
<property name="text">
<string>Link type</string>
</property>
</column>
<column>
<property name="text">
<string>Packet size limit</string>
</property>
</column>
</widget>
<widget class="QWidget" name="layoutWidget_4">
<property name="geometry">
<rect>
<x>30</x>
<y>170</y>
<width>731</width>
<height>42</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Display filter</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="lDisplayFilter">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Ignored packets</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="lIgnoredPackets">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Comment summary</string>
</attribute>
<widget class="QPlainTextEdit" name="pteCommentSummary">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>751</width>
<height>471</height>
</rect>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</widget>
</widget>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="geometry">
<rect>
<x>10</x>
<y>550</y>
<width>781</width>
<height>23</height>
</rect>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Help|QDialogButtonBox::Save</set>
</property>
</widget>
</widget>
<resources>
<include location="../../image/toolbar.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -5896,375 +5896,375 @@ Do you want to switch to &quot;Seconds Since Beginning of Capture&quot; now?</so
<context>
<name>SummaryDialog</name>
<message>
<location filename="summary_dialog.ui" line="20"/>
<location filename="capture_file_properties_dialog.ui" line="20"/>
<source>Wireshark - Summary</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="43"/>
<location filename="capture_file_properties_dialog.ui" line="43"/>
<source>File capture details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="55"/>
<location filename="capture_file_properties_dialog.ui" line="55"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="70"/>
<location filename="capture_file_properties_dialog.ui" line="70"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="77"/>
<location filename="summary_dialog.ui" line="91"/>
<location filename="summary_dialog.ui" line="105"/>
<location filename="summary_dialog.ui" line="119"/>
<location filename="summary_dialog.ui" line="161"/>
<location filename="summary_dialog.ui" line="175"/>
<location filename="summary_dialog.ui" line="189"/>
<location filename="summary_dialog.ui" line="407"/>
<location filename="summary_dialog.ui" line="421"/>
<location filename="capture_file_properties_dialog.ui" line="77"/>
<location filename="capture_file_properties_dialog.ui" line="91"/>
<location filename="capture_file_properties_dialog.ui" line="105"/>
<location filename="capture_file_properties_dialog.ui" line="119"/>
<location filename="capture_file_properties_dialog.ui" line="161"/>
<location filename="capture_file_properties_dialog.ui" line="175"/>
<location filename="capture_file_properties_dialog.ui" line="189"/>
<location filename="capture_file_properties_dialog.ui" line="407"/>
<location filename="capture_file_properties_dialog.ui" line="421"/>
<source>/</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="84"/>
<location filename="capture_file_properties_dialog.ui" line="84"/>
<source>Length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="98"/>
<location filename="capture_file_properties_dialog.ui" line="98"/>
<source>Format</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="112"/>
<location filename="capture_file_properties_dialog.ui" line="112"/>
<source>Encapsulation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="136"/>
<location filename="capture_file_properties_dialog.ui" line="136"/>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="154"/>
<location filename="capture_file_properties_dialog.ui" line="154"/>
<source>First packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="168"/>
<location filename="capture_file_properties_dialog.ui" line="168"/>
<source>Last packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="182"/>
<location filename="capture_file_properties_dialog.ui" line="182"/>
<source>Elapsed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="206"/>
<location filename="capture_file_properties_dialog.ui" line="206"/>
<source>Capture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="234"/>
<location filename="capture_file_properties_dialog.ui" line="234"/>
<source>Capture file comments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="250"/>
<location filename="capture_file_properties_dialog.ui" line="250"/>
<source>OS</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="257"/>
<location filename="summary_dialog.ui" line="271"/>
<location filename="summary_dialog.cpp" line="391"/>
<location filename="capture_file_properties_dialog.ui" line="257"/>
<location filename="capture_file_properties_dialog.ui" line="271"/>
<location filename="capture_file_properties_dialog.cpp" line="391"/>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="264"/>
<location filename="capture_file_properties_dialog.ui" line="264"/>
<source>Capture app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="284"/>
<location filename="capture_file_properties_dialog.ui" line="284"/>
<source>Capture statistics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="318"/>
<location filename="capture_file_properties_dialog.ui" line="318"/>
<source>Traffic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="323"/>
<location filename="capture_file_properties_dialog.ui" line="323"/>
<source>Captured</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="328"/>
<location filename="capture_file_properties_dialog.ui" line="328"/>
<source>Displayed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="333"/>
<location filename="capture_file_properties_dialog.ui" line="333"/>
<source>Marked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="363"/>
<location filename="capture_file_properties_dialog.ui" line="363"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="368"/>
<location filename="capture_file_properties_dialog.ui" line="368"/>
<source>Dropped packets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="373"/>
<location filename="capture_file_properties_dialog.ui" line="373"/>
<source>Capture filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="378"/>
<location filename="capture_file_properties_dialog.ui" line="378"/>
<source>Link type</source>
<oldsource>Link size</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="383"/>
<location filename="capture_file_properties_dialog.ui" line="383"/>
<source>Packet size limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="400"/>
<location filename="capture_file_properties_dialog.ui" line="400"/>
<source>Display filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="414"/>
<location filename="capture_file_properties_dialog.ui" line="414"/>
<source>Ignored packets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="430"/>
<location filename="capture_file_properties_dialog.ui" line="430"/>
<source>Comment summary</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="66"/>
<location filename="capture_file_properties_dialog.cpp" line="66"/>
<source>Refresh</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="69"/>
<location filename="capture_file_properties_dialog.cpp" line="69"/>
<source>Copy To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="128"/>
<location filename="capture_file_properties_dialog.cpp" line="128"/>
<source>Summary created by Wireshark %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="131"/>
<location filename="capture_file_properties_dialog.cpp" line="131"/>
<source>File:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="132"/>
<location filename="capture_file_properties_dialog.cpp" line="132"/>
<source>Name: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="133"/>
<location filename="capture_file_properties_dialog.cpp" line="133"/>
<source>Length: %1 bytes
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="134"/>
<location filename="capture_file_properties_dialog.cpp" line="134"/>
<source>Format: %1%2
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="136"/>
<location filename="summary_dialog.cpp" line="282"/>
<location filename="capture_file_properties_dialog.cpp" line="136"/>
<location filename="capture_file_properties_dialog.cpp" line="282"/>
<source> (gzip compressed)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="137"/>
<location filename="capture_file_properties_dialog.cpp" line="137"/>
<source>Encapsulation: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="142"/>
<location filename="capture_file_properties_dialog.cpp" line="142"/>
<source>Time:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="148"/>
<location filename="capture_file_properties_dialog.cpp" line="148"/>
<source>First packet: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="151"/>
<location filename="capture_file_properties_dialog.cpp" line="151"/>
<source>Last packet: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="155"/>
<location filename="capture_file_properties_dialog.cpp" line="155"/>
<source>Elapsed: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="162"/>
<location filename="capture_file_properties_dialog.cpp" line="162"/>
<source>Capture:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="171"/>
<location filename="capture_file_properties_dialog.cpp" line="171"/>
<source>OS: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="176"/>
<location filename="capture_file_properties_dialog.cpp" line="176"/>
<source>Capture application: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="185"/>
<location filename="capture_file_properties_dialog.cpp" line="185"/>
<source>Dropped packets: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="187"/>
<location filename="capture_file_properties_dialog.cpp" line="187"/>
<source>Capture filter: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="189"/>
<location filename="capture_file_properties_dialog.cpp" line="189"/>
<source>Link type: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="191"/>
<location filename="capture_file_properties_dialog.cpp" line="191"/>
<source>Packet size limit: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="198"/>
<location filename="capture_file_properties_dialog.cpp" line="198"/>
<source>Statistics:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="201"/>
<location filename="capture_file_properties_dialog.cpp" line="201"/>
<source>%1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="213"/>
<location filename="capture_file_properties_dialog.cpp" line="213"/>
<source>Capture File Comments:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="228"/>
<location filename="capture_file_properties_dialog.cpp" line="228"/>
<source>Not representable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="279"/>
<location filename="capture_file_properties_dialog.cpp" line="279"/>
<source>%1 bytes (%2 Mbytes)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="375"/>
<location filename="summary_dialog.cpp" line="410"/>
<location filename="capture_file_properties_dialog.cpp" line="375"/>
<location filename="capture_file_properties_dialog.cpp" line="410"/>
<source>unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="406"/>
<location filename="summary_dialog.cpp" line="434"/>
<location filename="capture_file_properties_dialog.cpp" line="406"/>
<location filename="capture_file_properties_dialog.cpp" line="434"/>
<source>none</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="417"/>
<location filename="capture_file_properties_dialog.cpp" line="417"/>
<source>%u bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="458"/>
<location filename="capture_file_properties_dialog.cpp" line="458"/>
<source>Packets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="487"/>
<location filename="capture_file_properties_dialog.cpp" line="487"/>
<source>Between first and last packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="490"/>
<location filename="summary_dialog.cpp" line="502"/>
<location filename="summary_dialog.cpp" line="513"/>
<location filename="capture_file_properties_dialog.cpp" line="490"/>
<location filename="capture_file_properties_dialog.cpp" line="502"/>
<location filename="capture_file_properties_dialog.cpp" line="513"/>
<source>%.3f sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="529"/>
<location filename="capture_file_properties_dialog.cpp" line="529"/>
<source>Avg. packets/sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="570"/>
<location filename="capture_file_properties_dialog.cpp" line="570"/>
<source>Avg. packet size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="573"/>
<location filename="summary_dialog.cpp" line="586"/>
<location filename="summary_dialog.cpp" line="598"/>
<location filename="capture_file_properties_dialog.cpp" line="573"/>
<location filename="capture_file_properties_dialog.cpp" line="586"/>
<location filename="capture_file_properties_dialog.cpp" line="598"/>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="614"/>
<location filename="capture_file_properties_dialog.cpp" line="614"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="656"/>
<location filename="capture_file_properties_dialog.cpp" line="656"/>
<source>Avg. bytes/sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="700"/>
<location filename="capture_file_properties_dialog.cpp" line="700"/>
<source>Avg. MBit/sec</source>
<translation type="unfinished"></translation>
</message>

View File

@ -6046,375 +6046,375 @@ Voulez-vous passer en &quot;secondes depuis le début de Capture&quot; maintenan
<context>
<name>SummaryDialog</name>
<message>
<location filename="summary_dialog.ui" line="20"/>
<location filename="capture_file_properties_dialog.ui" line="20"/>
<source>Wireshark - Summary</source>
<translation>Wireshark - Sommaire</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="43"/>
<location filename="capture_file_properties_dialog.ui" line="43"/>
<source>File capture details</source>
<translation>Détails du fichier de capture</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="55"/>
<location filename="capture_file_properties_dialog.ui" line="55"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="70"/>
<location filename="capture_file_properties_dialog.ui" line="70"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="77"/>
<location filename="summary_dialog.ui" line="91"/>
<location filename="summary_dialog.ui" line="105"/>
<location filename="summary_dialog.ui" line="119"/>
<location filename="summary_dialog.ui" line="161"/>
<location filename="summary_dialog.ui" line="175"/>
<location filename="summary_dialog.ui" line="189"/>
<location filename="summary_dialog.ui" line="407"/>
<location filename="summary_dialog.ui" line="421"/>
<location filename="capture_file_properties_dialog.ui" line="77"/>
<location filename="capture_file_properties_dialog.ui" line="91"/>
<location filename="capture_file_properties_dialog.ui" line="105"/>
<location filename="capture_file_properties_dialog.ui" line="119"/>
<location filename="capture_file_properties_dialog.ui" line="161"/>
<location filename="capture_file_properties_dialog.ui" line="175"/>
<location filename="capture_file_properties_dialog.ui" line="189"/>
<location filename="capture_file_properties_dialog.ui" line="407"/>
<location filename="capture_file_properties_dialog.ui" line="421"/>
<source>/</source>
<translation>/</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="84"/>
<location filename="capture_file_properties_dialog.ui" line="84"/>
<source>Length</source>
<translation>Longueur</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="98"/>
<location filename="capture_file_properties_dialog.ui" line="98"/>
<source>Format</source>
<translation>Format</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="112"/>
<location filename="capture_file_properties_dialog.ui" line="112"/>
<source>Encapsulation</source>
<translation>Encapsulation</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="136"/>
<location filename="capture_file_properties_dialog.ui" line="136"/>
<source>Time</source>
<translation>Temps</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="154"/>
<location filename="capture_file_properties_dialog.ui" line="154"/>
<source>First packet</source>
<translation>Premier paquet</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="168"/>
<location filename="capture_file_properties_dialog.ui" line="168"/>
<source>Last packet</source>
<translation>Dernier paquet</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="182"/>
<location filename="capture_file_properties_dialog.ui" line="182"/>
<source>Elapsed</source>
<translation>Passé</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="206"/>
<location filename="capture_file_properties_dialog.ui" line="206"/>
<source>Capture</source>
<translation>Capture</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="234"/>
<location filename="capture_file_properties_dialog.ui" line="234"/>
<source>Capture file comments</source>
<translation>Commentaires du fichier de capture</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="250"/>
<location filename="capture_file_properties_dialog.ui" line="250"/>
<source>OS</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="257"/>
<location filename="summary_dialog.ui" line="271"/>
<location filename="summary_dialog.cpp" line="391"/>
<location filename="capture_file_properties_dialog.ui" line="257"/>
<location filename="capture_file_properties_dialog.ui" line="271"/>
<location filename="capture_file_properties_dialog.cpp" line="391"/>
<source>Unknown</source>
<translation>Inconnu</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="264"/>
<location filename="capture_file_properties_dialog.ui" line="264"/>
<source>Capture app</source>
<translation>Application de Capture</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="284"/>
<location filename="capture_file_properties_dialog.ui" line="284"/>
<source>Capture statistics</source>
<translation>Statistiques de Capture</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="318"/>
<location filename="capture_file_properties_dialog.ui" line="318"/>
<source>Traffic</source>
<translation>Trafic</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="323"/>
<location filename="capture_file_properties_dialog.ui" line="323"/>
<source>Captured</source>
<translation>Capturés</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="328"/>
<location filename="capture_file_properties_dialog.ui" line="328"/>
<source>Displayed</source>
<translation>Affichés</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="333"/>
<location filename="capture_file_properties_dialog.ui" line="333"/>
<source>Marked</source>
<translation>Marqués</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="363"/>
<location filename="capture_file_properties_dialog.ui" line="363"/>
<source>Interface</source>
<translation>Interface</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="368"/>
<location filename="capture_file_properties_dialog.ui" line="368"/>
<source>Dropped packets</source>
<translation>Paquets supprimés</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="373"/>
<location filename="capture_file_properties_dialog.ui" line="373"/>
<source>Capture filter</source>
<translation>Filtre de capture</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="378"/>
<location filename="capture_file_properties_dialog.ui" line="378"/>
<source>Link type</source>
<oldsource>Link size</oldsource>
<translation>Taille du lien</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="383"/>
<location filename="capture_file_properties_dialog.ui" line="383"/>
<source>Packet size limit</source>
<translation>Limite de taille de paquets </translation>
</message>
<message>
<location filename="summary_dialog.ui" line="400"/>
<location filename="capture_file_properties_dialog.ui" line="400"/>
<source>Display filter</source>
<translation>Filtre d&apos;affichage</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="414"/>
<location filename="capture_file_properties_dialog.ui" line="414"/>
<source>Ignored packets</source>
<translation>Paquets ignorés</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="430"/>
<location filename="capture_file_properties_dialog.ui" line="430"/>
<source>Comment summary</source>
<translation>Résumé des commentaires</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="66"/>
<location filename="capture_file_properties_dialog.cpp" line="66"/>
<source>Refresh</source>
<translation>Rafraichir</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="69"/>
<location filename="capture_file_properties_dialog.cpp" line="69"/>
<source>Copy To Clipboard</source>
<translation>Copier dans le Presse-papiers</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="128"/>
<location filename="capture_file_properties_dialog.cpp" line="128"/>
<source>Summary created by Wireshark %1
</source>
<translation>Sommaire creé par Wireshark %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="131"/>
<location filename="capture_file_properties_dialog.cpp" line="131"/>
<source>File:
</source>
<translation>Fichier:</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="132"/>
<location filename="capture_file_properties_dialog.cpp" line="132"/>
<source>Name: %1
</source>
<translation>Nom:\t\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="133"/>
<location filename="capture_file_properties_dialog.cpp" line="133"/>
<source>Length: %1 bytes
</source>
<translation>Longueur:\n\n%1 octets\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="134"/>
<location filename="capture_file_properties_dialog.cpp" line="134"/>
<source>Format: %1%2
</source>
<translation>Format:\t\t%1%2\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="136"/>
<location filename="summary_dialog.cpp" line="282"/>
<location filename="capture_file_properties_dialog.cpp" line="136"/>
<location filename="capture_file_properties_dialog.cpp" line="282"/>
<source> (gzip compressed)</source>
<translation>(compressé gzip)</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="137"/>
<location filename="capture_file_properties_dialog.cpp" line="137"/>
<source>Encapsulation: %1
</source>
<translation>Encapsulation:\t\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="142"/>
<location filename="capture_file_properties_dialog.cpp" line="142"/>
<source>Time:
</source>
<translation>Temps:\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="148"/>
<location filename="capture_file_properties_dialog.cpp" line="148"/>
<source>First packet: %1
</source>
<translation>Premier Paquet:\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="151"/>
<location filename="capture_file_properties_dialog.cpp" line="151"/>
<source>Last packet: %1
</source>
<translation>Dernier paquet:\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="155"/>
<location filename="capture_file_properties_dialog.cpp" line="155"/>
<source>Elapsed: %1
</source>
<translation>Passé:\t\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="162"/>
<location filename="capture_file_properties_dialog.cpp" line="162"/>
<source>Capture:
</source>
<translation>Capture:\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="171"/>
<location filename="capture_file_properties_dialog.cpp" line="171"/>
<source>OS: %1
</source>
<translation>OS:\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="176"/>
<location filename="capture_file_properties_dialog.cpp" line="176"/>
<source>Capture application: %1
</source>
<translation>Application de Capture:\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="185"/>
<location filename="capture_file_properties_dialog.cpp" line="185"/>
<source>Dropped packets: %1
</source>
<translation>Paquets supprimés:\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="187"/>
<location filename="capture_file_properties_dialog.cpp" line="187"/>
<source>Capture filter: %1
</source>
<translation>Filtre de Capture:\t\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="189"/>
<location filename="capture_file_properties_dialog.cpp" line="189"/>
<source>Link type: %1
</source>
<translation>Link type:\t\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="191"/>
<location filename="capture_file_properties_dialog.cpp" line="191"/>
<source>Packet size limit: %1
</source>
<translation>Paquet taille limit:\t%1\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="198"/>
<location filename="capture_file_properties_dialog.cpp" line="198"/>
<source>Statistics:
</source>
<translation>Statistiques:\n</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="201"/>
<location filename="capture_file_properties_dialog.cpp" line="201"/>
<source>%1: %2</source>
<translation>%1:\t%2</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="213"/>
<location filename="capture_file_properties_dialog.cpp" line="213"/>
<source>Capture File Comments:
</source>
<translation>Commentaires du fichier de capture:</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="228"/>
<location filename="capture_file_properties_dialog.cpp" line="228"/>
<source>Not representable</source>
<translation>non représentable</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="279"/>
<location filename="capture_file_properties_dialog.cpp" line="279"/>
<source>%1 bytes (%2 Mbytes)</source>
<translation>%1 octets (%2 Moctets)</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="375"/>
<location filename="summary_dialog.cpp" line="410"/>
<location filename="capture_file_properties_dialog.cpp" line="375"/>
<location filename="capture_file_properties_dialog.cpp" line="410"/>
<source>unknown</source>
<translation>inconnu</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="406"/>
<location filename="summary_dialog.cpp" line="434"/>
<location filename="capture_file_properties_dialog.cpp" line="406"/>
<location filename="capture_file_properties_dialog.cpp" line="434"/>
<source>none</source>
<translation>aucun</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="417"/>
<location filename="capture_file_properties_dialog.cpp" line="417"/>
<source>%u bytes</source>
<translation>%u octets</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="458"/>
<location filename="capture_file_properties_dialog.cpp" line="458"/>
<source>Packets</source>
<translation>Paquets</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="487"/>
<location filename="capture_file_properties_dialog.cpp" line="487"/>
<source>Between first and last packet</source>
<translation>Entre le premier et le dernier paquet</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="490"/>
<location filename="summary_dialog.cpp" line="502"/>
<location filename="summary_dialog.cpp" line="513"/>
<location filename="capture_file_properties_dialog.cpp" line="490"/>
<location filename="capture_file_properties_dialog.cpp" line="502"/>
<location filename="capture_file_properties_dialog.cpp" line="513"/>
<source>%.3f sec</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="529"/>
<location filename="capture_file_properties_dialog.cpp" line="529"/>
<source>Avg. packets/sec</source>
<translation>Moyenne paquets/sec</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="570"/>
<location filename="capture_file_properties_dialog.cpp" line="570"/>
<source>Avg. packet size</source>
<translation>Moyenne taille de paquet</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="573"/>
<location filename="summary_dialog.cpp" line="586"/>
<location filename="summary_dialog.cpp" line="598"/>
<location filename="capture_file_properties_dialog.cpp" line="573"/>
<location filename="capture_file_properties_dialog.cpp" line="586"/>
<location filename="capture_file_properties_dialog.cpp" line="598"/>
<source>%</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="614"/>
<location filename="capture_file_properties_dialog.cpp" line="614"/>
<source>Bytes</source>
<translation>Octets</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="656"/>
<location filename="capture_file_properties_dialog.cpp" line="656"/>
<source>Avg. bytes/sec</source>
<translation>Moyenne octets/sec</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="700"/>
<location filename="capture_file_properties_dialog.cpp" line="700"/>
<source>Avg. MBit/sec</source>
<translation>Moyenne MBit/sec</translation>
</message>

View File

@ -8527,178 +8527,178 @@ Vuoi passare a &quot;Secondi dall&apos;inizio della cattura&quot; adesso?</trans
<context>
<name>SummaryDialog</name>
<message>
<location filename="summary_dialog.ui" line="20"/>
<location filename="capture_file_properties_dialog.ui" line="20"/>
<source>Wireshark - Summary</source>
<translation>Wireshark - Sommario</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="43"/>
<location filename="capture_file_properties_dialog.ui" line="43"/>
<source>File capture details</source>
<translation>Dettagli del file di cattura</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="55"/>
<location filename="capture_file_properties_dialog.ui" line="55"/>
<source>File</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="70"/>
<location filename="capture_file_properties_dialog.ui" line="70"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="77"/>
<location filename="summary_dialog.ui" line="91"/>
<location filename="summary_dialog.ui" line="105"/>
<location filename="summary_dialog.ui" line="119"/>
<location filename="summary_dialog.ui" line="161"/>
<location filename="summary_dialog.ui" line="175"/>
<location filename="summary_dialog.ui" line="189"/>
<location filename="summary_dialog.ui" line="407"/>
<location filename="summary_dialog.ui" line="421"/>
<location filename="capture_file_properties_dialog.ui" line="77"/>
<location filename="capture_file_properties_dialog.ui" line="91"/>
<location filename="capture_file_properties_dialog.ui" line="105"/>
<location filename="capture_file_properties_dialog.ui" line="119"/>
<location filename="capture_file_properties_dialog.ui" line="161"/>
<location filename="capture_file_properties_dialog.ui" line="175"/>
<location filename="capture_file_properties_dialog.ui" line="189"/>
<location filename="capture_file_properties_dialog.ui" line="407"/>
<location filename="capture_file_properties_dialog.ui" line="421"/>
<source>/</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="84"/>
<location filename="capture_file_properties_dialog.ui" line="84"/>
<source>Length</source>
<translation>Lunghezza</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="98"/>
<location filename="capture_file_properties_dialog.ui" line="98"/>
<source>Format</source>
<translation>Formato</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="112"/>
<location filename="capture_file_properties_dialog.ui" line="112"/>
<source>Encapsulation</source>
<translation>Incapsulamento</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="136"/>
<location filename="capture_file_properties_dialog.ui" line="136"/>
<source>Time</source>
<translation>Tempo</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="154"/>
<location filename="capture_file_properties_dialog.ui" line="154"/>
<source>First packet</source>
<translation>Primo pacchetto</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="168"/>
<location filename="capture_file_properties_dialog.ui" line="168"/>
<source>Last packet</source>
<translation>Ultimo pacchetto</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="182"/>
<location filename="capture_file_properties_dialog.ui" line="182"/>
<source>Elapsed</source>
<translation>Trascorso</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="206"/>
<location filename="capture_file_properties_dialog.ui" line="206"/>
<source>Capture</source>
<translation>Cattura</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="234"/>
<location filename="capture_file_properties_dialog.ui" line="234"/>
<source>Capture file comments</source>
<translation>Commenti del file di cattura</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="250"/>
<location filename="capture_file_properties_dialog.ui" line="250"/>
<source>OS</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="257"/>
<location filename="summary_dialog.ui" line="271"/>
<location filename="summary_dialog.cpp" line="393"/>
<location filename="capture_file_properties_dialog.ui" line="257"/>
<location filename="capture_file_properties_dialog.ui" line="271"/>
<location filename="capture_file_properties_dialog.cpp" line="393"/>
<source>Unknown</source>
<translation>Sconosciuto</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="264"/>
<location filename="capture_file_properties_dialog.ui" line="264"/>
<source>Capture app</source>
<translation>Applicazione di cattura</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="284"/>
<location filename="capture_file_properties_dialog.ui" line="284"/>
<source>Capture statistics</source>
<translation>Statistiche di cattura</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="318"/>
<location filename="capture_file_properties_dialog.ui" line="318"/>
<source>Traffic</source>
<translation>Traffico</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="323"/>
<location filename="capture_file_properties_dialog.ui" line="323"/>
<source>Captured</source>
<translation>Catturati</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="328"/>
<location filename="capture_file_properties_dialog.ui" line="328"/>
<source>Displayed</source>
<translation>Visualizzati</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="333"/>
<location filename="capture_file_properties_dialog.ui" line="333"/>
<source>Marked</source>
<translation>Marcati</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="363"/>
<location filename="capture_file_properties_dialog.ui" line="363"/>
<source>Interface</source>
<translation>Interfaccia</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="368"/>
<location filename="capture_file_properties_dialog.ui" line="368"/>
<source>Dropped packets</source>
<translation>Pacchetti persi</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="373"/>
<location filename="capture_file_properties_dialog.ui" line="373"/>
<source>Capture filter</source>
<translation>Filtro di cattura</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="378"/>
<location filename="capture_file_properties_dialog.ui" line="378"/>
<source>Link type</source>
<oldsource>Link size</oldsource>
<translation>Tipo di link</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="383"/>
<location filename="capture_file_properties_dialog.ui" line="383"/>
<source>Packet size limit</source>
<translation>Dimensione limite del pacchetto</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="400"/>
<location filename="capture_file_properties_dialog.ui" line="400"/>
<source>Display filter</source>
<translation>Filtro di visualizzazione</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="414"/>
<location filename="capture_file_properties_dialog.ui" line="414"/>
<source>Ignored packets</source>
<translation>Pacchetti ignorati</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="430"/>
<location filename="capture_file_properties_dialog.ui" line="430"/>
<source>Comment summary</source>
<translation>Sommario del commento</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="68"/>
<location filename="capture_file_properties_dialog.cpp" line="68"/>
<source>Refresh</source>
<translation>Aggiorna</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="71"/>
<location filename="capture_file_properties_dialog.cpp" line="71"/>
<source>Copy To Clipboard</source>
<translation>Copia nella clipboard</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="130"/>
<location filename="capture_file_properties_dialog.cpp" line="130"/>
<source>Summary created by Wireshark %1
</source>
@ -8707,7 +8707,7 @@ Vuoi passare a &quot;Secondi dall&apos;inizio della cattura&quot; adesso?</trans
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="133"/>
<location filename="capture_file_properties_dialog.cpp" line="133"/>
<source>File:
</source>
<oldsource>File:
@ -8715,205 +8715,205 @@ Vuoi passare a &quot;Secondi dall&apos;inizio della cattura&quot; adesso?</trans
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="134"/>
<location filename="capture_file_properties_dialog.cpp" line="134"/>
<source>Name: %1
</source>
<translation>Nome: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="135"/>
<location filename="capture_file_properties_dialog.cpp" line="135"/>
<source>Length: %1 bytes
</source>
<translation>Lunghezza: %1 byte</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="136"/>
<location filename="capture_file_properties_dialog.cpp" line="136"/>
<source>Format: %1%2
</source>
<translation>Formato: %1%2
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="138"/>
<location filename="summary_dialog.cpp" line="284"/>
<location filename="capture_file_properties_dialog.cpp" line="138"/>
<location filename="capture_file_properties_dialog.cpp" line="284"/>
<source> (gzip compressed)</source>
<translation> (compresso con gzip)</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="139"/>
<location filename="capture_file_properties_dialog.cpp" line="139"/>
<source>Encapsulation: %1
</source>
<translation>Incapsulamento: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="144"/>
<location filename="capture_file_properties_dialog.cpp" line="144"/>
<source>Time:
</source>
<translation>Tempo:
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="150"/>
<location filename="capture_file_properties_dialog.cpp" line="150"/>
<source>First packet: %1
</source>
<translation>Primo pacchetto: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="153"/>
<location filename="capture_file_properties_dialog.cpp" line="153"/>
<source>Last packet: %1
</source>
<translation>Ultimo pacchetto: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="157"/>
<location filename="capture_file_properties_dialog.cpp" line="157"/>
<source>Elapsed: %1
</source>
<translation>Trascorso: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="164"/>
<location filename="capture_file_properties_dialog.cpp" line="164"/>
<source>Capture:
</source>
<translation>Cattura:
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="173"/>
<location filename="capture_file_properties_dialog.cpp" line="173"/>
<source>OS: %1
</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="178"/>
<location filename="capture_file_properties_dialog.cpp" line="178"/>
<source>Capture application: %1
</source>
<translation>Applicazione di cattura: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="187"/>
<location filename="capture_file_properties_dialog.cpp" line="187"/>
<source>Dropped packets: %1
</source>
<translation>Pacchetti persi: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="189"/>
<location filename="capture_file_properties_dialog.cpp" line="189"/>
<source>Capture filter: %1
</source>
<translation>Filtro di cattura: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="191"/>
<location filename="capture_file_properties_dialog.cpp" line="191"/>
<source>Link type: %1
</source>
<translation>Dipo di link: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="193"/>
<location filename="capture_file_properties_dialog.cpp" line="193"/>
<source>Packet size limit: %1
</source>
<translation>Dimensione limite del pacchetto: %1
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="200"/>
<location filename="capture_file_properties_dialog.cpp" line="200"/>
<source>Statistics:
</source>
<translation>Statistiche:
</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="203"/>
<location filename="capture_file_properties_dialog.cpp" line="203"/>
<source>%1: %2</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="215"/>
<location filename="capture_file_properties_dialog.cpp" line="215"/>
<source>Capture File Comments:
</source>
<translation>Commenti del file di cattura:</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="230"/>
<location filename="capture_file_properties_dialog.cpp" line="230"/>
<source>Not representable</source>
<translation>Non rappresentabile</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="281"/>
<location filename="capture_file_properties_dialog.cpp" line="281"/>
<source>%1 bytes (%2 Mbytes)</source>
<translation>%1 byte (%2 Mbyte)</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="377"/>
<location filename="summary_dialog.cpp" line="412"/>
<location filename="capture_file_properties_dialog.cpp" line="377"/>
<location filename="capture_file_properties_dialog.cpp" line="412"/>
<source>unknown</source>
<translation>sconociuto</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="408"/>
<location filename="summary_dialog.cpp" line="436"/>
<location filename="capture_file_properties_dialog.cpp" line="408"/>
<location filename="capture_file_properties_dialog.cpp" line="436"/>
<source>none</source>
<translation>nessuno</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="419"/>
<location filename="capture_file_properties_dialog.cpp" line="419"/>
<source>%u bytes</source>
<translation>%u byte</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="460"/>
<location filename="capture_file_properties_dialog.cpp" line="460"/>
<source>Packets</source>
<translation>Pacchetti</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="489"/>
<location filename="capture_file_properties_dialog.cpp" line="489"/>
<source>Between first and last packet</source>
<translation>Tra il primo e l&apos;ultimo pacchetto</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="492"/>
<location filename="summary_dialog.cpp" line="504"/>
<location filename="summary_dialog.cpp" line="515"/>
<location filename="capture_file_properties_dialog.cpp" line="492"/>
<location filename="capture_file_properties_dialog.cpp" line="504"/>
<location filename="capture_file_properties_dialog.cpp" line="515"/>
<source>%.3f sec</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="531"/>
<location filename="capture_file_properties_dialog.cpp" line="531"/>
<source>Avg. packets/sec</source>
<translation>Pacchetti/sec (media)</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="572"/>
<location filename="capture_file_properties_dialog.cpp" line="572"/>
<source>Avg. packet size</source>
<translation>Dimensione media dei pacchetti</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="575"/>
<location filename="summary_dialog.cpp" line="588"/>
<location filename="summary_dialog.cpp" line="600"/>
<location filename="capture_file_properties_dialog.cpp" line="575"/>
<location filename="capture_file_properties_dialog.cpp" line="588"/>
<location filename="capture_file_properties_dialog.cpp" line="600"/>
<source>%</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="616"/>
<location filename="capture_file_properties_dialog.cpp" line="616"/>
<source>Bytes</source>
<translation>Byte</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="658"/>
<location filename="capture_file_properties_dialog.cpp" line="658"/>
<source>Avg. bytes/sec</source>
<translation>Byte/sec (media)</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="702"/>
<location filename="capture_file_properties_dialog.cpp" line="702"/>
<source>Avg. MBit/sec</source>
<translation>Mbit/s (media)</translation>
</message>

View File

@ -8334,238 +8334,238 @@ Do you want to switch to &quot;Seconds Since Beginning of Capture&quot; now?</so
<context>
<name>SummaryDialog</name>
<message>
<location filename="summary_dialog.ui" line="20"/>
<location filename="capture_file_properties_dialog.ui" line="20"/>
<source>Wireshark - Summary</source>
<translation>Wireshark - </translation>
</message>
<message>
<location filename="summary_dialog.ui" line="43"/>
<location filename="capture_file_properties_dialog.ui" line="43"/>
<source>File capture details</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="55"/>
<location filename="capture_file_properties_dialog.ui" line="55"/>
<source>File</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="70"/>
<location filename="capture_file_properties_dialog.ui" line="70"/>
<source>Name</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="77"/>
<location filename="summary_dialog.ui" line="91"/>
<location filename="summary_dialog.ui" line="105"/>
<location filename="summary_dialog.ui" line="119"/>
<location filename="summary_dialog.ui" line="161"/>
<location filename="summary_dialog.ui" line="175"/>
<location filename="summary_dialog.ui" line="189"/>
<location filename="summary_dialog.ui" line="407"/>
<location filename="summary_dialog.ui" line="421"/>
<location filename="capture_file_properties_dialog.ui" line="77"/>
<location filename="capture_file_properties_dialog.ui" line="91"/>
<location filename="capture_file_properties_dialog.ui" line="105"/>
<location filename="capture_file_properties_dialog.ui" line="119"/>
<location filename="capture_file_properties_dialog.ui" line="161"/>
<location filename="capture_file_properties_dialog.ui" line="175"/>
<location filename="capture_file_properties_dialog.ui" line="189"/>
<location filename="capture_file_properties_dialog.ui" line="407"/>
<location filename="capture_file_properties_dialog.ui" line="421"/>
<source>/</source>
<translation>/</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="84"/>
<location filename="capture_file_properties_dialog.ui" line="84"/>
<source>Length</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="98"/>
<location filename="capture_file_properties_dialog.ui" line="98"/>
<source>Format</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="112"/>
<location filename="capture_file_properties_dialog.ui" line="112"/>
<source>Encapsulation</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="136"/>
<location filename="capture_file_properties_dialog.ui" line="136"/>
<source>Time</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="154"/>
<location filename="capture_file_properties_dialog.ui" line="154"/>
<source>First packet</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="168"/>
<location filename="capture_file_properties_dialog.ui" line="168"/>
<source>Last packet</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="182"/>
<location filename="capture_file_properties_dialog.ui" line="182"/>
<source>Elapsed</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="206"/>
<location filename="capture_file_properties_dialog.ui" line="206"/>
<source>Capture</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="234"/>
<location filename="capture_file_properties_dialog.ui" line="234"/>
<source>Capture file comments</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="250"/>
<location filename="capture_file_properties_dialog.ui" line="250"/>
<source>OS</source>
<translation>OS</translation>
</message>
<message>
<location filename="summary_dialog.ui" line="257"/>
<location filename="summary_dialog.ui" line="271"/>
<location filename="summary_dialog.cpp" line="393"/>
<location filename="capture_file_properties_dialog.ui" line="257"/>
<location filename="capture_file_properties_dialog.ui" line="271"/>
<location filename="capture_file_properties_dialog.cpp" line="393"/>
<source>Unknown</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="264"/>
<location filename="capture_file_properties_dialog.ui" line="264"/>
<source>Capture app</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="284"/>
<location filename="capture_file_properties_dialog.ui" line="284"/>
<source>Capture statistics</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="318"/>
<location filename="capture_file_properties_dialog.ui" line="318"/>
<source>Traffic</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="323"/>
<location filename="capture_file_properties_dialog.ui" line="323"/>
<source>Captured</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="328"/>
<location filename="capture_file_properties_dialog.ui" line="328"/>
<source>Displayed</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="333"/>
<location filename="capture_file_properties_dialog.ui" line="333"/>
<source>Marked</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="363"/>
<location filename="capture_file_properties_dialog.ui" line="363"/>
<source>Interface</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="368"/>
<location filename="capture_file_properties_dialog.ui" line="368"/>
<source>Dropped packets</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="373"/>
<location filename="capture_file_properties_dialog.ui" line="373"/>
<source>Capture filter</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="378"/>
<location filename="capture_file_properties_dialog.ui" line="378"/>
<source>Link type</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="383"/>
<location filename="capture_file_properties_dialog.ui" line="383"/>
<source>Packet size limit</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="400"/>
<location filename="capture_file_properties_dialog.ui" line="400"/>
<source>Display filter</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="414"/>
<location filename="capture_file_properties_dialog.ui" line="414"/>
<source>Ignored packets</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="430"/>
<location filename="capture_file_properties_dialog.ui" line="430"/>
<source>Comment summary</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="68"/>
<location filename="capture_file_properties_dialog.cpp" line="68"/>
<source>Refresh</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="71"/>
<location filename="capture_file_properties_dialog.cpp" line="71"/>
<source>Copy To Clipboard</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="130"/>
<location filename="capture_file_properties_dialog.cpp" line="130"/>
<source>Summary created by Wireshark %1
</source>
<translation>Wiresharkによって作成された統計 %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="133"/>
<location filename="capture_file_properties_dialog.cpp" line="133"/>
<source>File:
</source>
<translation>: </translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="134"/>
<location filename="capture_file_properties_dialog.cpp" line="134"/>
<source>Name: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="135"/>
<location filename="capture_file_properties_dialog.cpp" line="135"/>
<source>Length: %1 bytes
</source>
<translation>: %1 </translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="136"/>
<location filename="capture_file_properties_dialog.cpp" line="136"/>
<source>Format: %1%2
</source>
<translation>: %1%2</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="138"/>
<location filename="summary_dialog.cpp" line="284"/>
<location filename="capture_file_properties_dialog.cpp" line="138"/>
<location filename="capture_file_properties_dialog.cpp" line="284"/>
<source> (gzip compressed)</source>
<translation> (GZIP )</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="139"/>
<location filename="capture_file_properties_dialog.cpp" line="139"/>
<source>Encapsulation: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="144"/>
<location filename="capture_file_properties_dialog.cpp" line="144"/>
<source>Time:
</source>
<translation>:</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="150"/>
<location filename="capture_file_properties_dialog.cpp" line="150"/>
<source>First packet: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="153"/>
<location filename="capture_file_properties_dialog.cpp" line="153"/>
<source>Last packet: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="157"/>
<location filename="capture_file_properties_dialog.cpp" line="157"/>
<source>Elapsed: %1
</source>
<oldsource>: %1
@ -8573,137 +8573,137 @@ Do you want to switch to &quot;Seconds Since Beginning of Capture&quot; now?</so
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="164"/>
<location filename="capture_file_properties_dialog.cpp" line="164"/>
<source>Capture:
</source>
<translation>:</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="173"/>
<location filename="capture_file_properties_dialog.cpp" line="173"/>
<source>OS: %1
</source>
<translation>OS: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="178"/>
<location filename="capture_file_properties_dialog.cpp" line="178"/>
<source>Capture application: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="187"/>
<location filename="capture_file_properties_dialog.cpp" line="187"/>
<source>Dropped packets: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="189"/>
<location filename="capture_file_properties_dialog.cpp" line="189"/>
<source>Capture filter: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="191"/>
<location filename="capture_file_properties_dialog.cpp" line="191"/>
<source>Link type: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="193"/>
<location filename="capture_file_properties_dialog.cpp" line="193"/>
<source>Packet size limit: %1
</source>
<translation>: %1</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="200"/>
<location filename="capture_file_properties_dialog.cpp" line="200"/>
<source>Statistics:
</source>
<translation>:</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="203"/>
<location filename="capture_file_properties_dialog.cpp" line="203"/>
<source>%1: %2</source>
<translation>%1: %2</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="215"/>
<location filename="capture_file_properties_dialog.cpp" line="215"/>
<source>Capture File Comments:
</source>
<translation>:</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="230"/>
<location filename="capture_file_properties_dialog.cpp" line="230"/>
<source>Not representable</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="281"/>
<location filename="capture_file_properties_dialog.cpp" line="281"/>
<source>%1 bytes (%2 Mbytes)</source>
<translation>%1 (%2 )</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="377"/>
<location filename="summary_dialog.cpp" line="412"/>
<location filename="capture_file_properties_dialog.cpp" line="377"/>
<location filename="capture_file_properties_dialog.cpp" line="412"/>
<source>unknown</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="408"/>
<location filename="summary_dialog.cpp" line="436"/>
<location filename="capture_file_properties_dialog.cpp" line="408"/>
<location filename="capture_file_properties_dialog.cpp" line="436"/>
<source>none</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="419"/>
<location filename="capture_file_properties_dialog.cpp" line="419"/>
<source>%u bytes</source>
<translation>%u </translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="460"/>
<location filename="capture_file_properties_dialog.cpp" line="460"/>
<source>Packets</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="489"/>
<location filename="capture_file_properties_dialog.cpp" line="489"/>
<source>Between first and last packet</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="492"/>
<location filename="summary_dialog.cpp" line="504"/>
<location filename="summary_dialog.cpp" line="515"/>
<location filename="capture_file_properties_dialog.cpp" line="492"/>
<location filename="capture_file_properties_dialog.cpp" line="504"/>
<location filename="capture_file_properties_dialog.cpp" line="515"/>
<source>%.3f sec</source>
<translation>%.3f </translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="531"/>
<location filename="capture_file_properties_dialog.cpp" line="531"/>
<source>Avg. packets/sec</source>
<translation>/</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="572"/>
<location filename="capture_file_properties_dialog.cpp" line="572"/>
<source>Avg. packet size</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="575"/>
<location filename="summary_dialog.cpp" line="588"/>
<location filename="summary_dialog.cpp" line="600"/>
<location filename="capture_file_properties_dialog.cpp" line="575"/>
<location filename="capture_file_properties_dialog.cpp" line="588"/>
<location filename="capture_file_properties_dialog.cpp" line="600"/>
<source>%</source>
<translation>%</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="616"/>
<location filename="capture_file_properties_dialog.cpp" line="616"/>
<source>Bytes</source>
<translation></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="658"/>
<location filename="capture_file_properties_dialog.cpp" line="658"/>
<source>Avg. bytes/sec</source>
<translation>/</translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="702"/>
<location filename="capture_file_properties_dialog.cpp" line="702"/>
<source>Avg. MBit/sec</source>
<translation>MBit/</translation>
</message>

View File

@ -6018,375 +6018,375 @@ Do you want to switch to &quot;Seconds Since Beginning of Capture&quot; now?</so
<context>
<name>SummaryDialog</name>
<message>
<location filename="summary_dialog.ui" line="20"/>
<location filename="capture_file_properties_dialog.ui" line="20"/>
<source>Wireshark - Summary</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="43"/>
<location filename="capture_file_properties_dialog.ui" line="43"/>
<source>File capture details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="55"/>
<location filename="capture_file_properties_dialog.ui" line="55"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="70"/>
<location filename="capture_file_properties_dialog.ui" line="70"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="77"/>
<location filename="summary_dialog.ui" line="91"/>
<location filename="summary_dialog.ui" line="105"/>
<location filename="summary_dialog.ui" line="119"/>
<location filename="summary_dialog.ui" line="161"/>
<location filename="summary_dialog.ui" line="175"/>
<location filename="summary_dialog.ui" line="189"/>
<location filename="summary_dialog.ui" line="407"/>
<location filename="summary_dialog.ui" line="421"/>
<location filename="capture_file_properties_dialog.ui" line="77"/>
<location filename="capture_file_properties_dialog.ui" line="91"/>
<location filename="capture_file_properties_dialog.ui" line="105"/>
<location filename="capture_file_properties_dialog.ui" line="119"/>
<location filename="capture_file_properties_dialog.ui" line="161"/>
<location filename="capture_file_properties_dialog.ui" line="175"/>
<location filename="capture_file_properties_dialog.ui" line="189"/>
<location filename="capture_file_properties_dialog.ui" line="407"/>
<location filename="capture_file_properties_dialog.ui" line="421"/>
<source>/</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="84"/>
<location filename="capture_file_properties_dialog.ui" line="84"/>
<source>Length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="98"/>
<location filename="capture_file_properties_dialog.ui" line="98"/>
<source>Format</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="112"/>
<location filename="capture_file_properties_dialog.ui" line="112"/>
<source>Encapsulation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="136"/>
<location filename="capture_file_properties_dialog.ui" line="136"/>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="154"/>
<location filename="capture_file_properties_dialog.ui" line="154"/>
<source>First packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="168"/>
<location filename="capture_file_properties_dialog.ui" line="168"/>
<source>Last packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="182"/>
<location filename="capture_file_properties_dialog.ui" line="182"/>
<source>Elapsed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="206"/>
<location filename="capture_file_properties_dialog.ui" line="206"/>
<source>Capture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="234"/>
<location filename="capture_file_properties_dialog.ui" line="234"/>
<source>Capture file comments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="250"/>
<location filename="capture_file_properties_dialog.ui" line="250"/>
<source>OS</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="257"/>
<location filename="summary_dialog.ui" line="271"/>
<location filename="summary_dialog.cpp" line="391"/>
<location filename="capture_file_properties_dialog.ui" line="257"/>
<location filename="capture_file_properties_dialog.ui" line="271"/>
<location filename="capture_file_properties_dialog.cpp" line="391"/>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="264"/>
<location filename="capture_file_properties_dialog.ui" line="264"/>
<source>Capture app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="284"/>
<location filename="capture_file_properties_dialog.ui" line="284"/>
<source>Capture statistics</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="318"/>
<location filename="capture_file_properties_dialog.ui" line="318"/>
<source>Traffic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="323"/>
<location filename="capture_file_properties_dialog.ui" line="323"/>
<source>Captured</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="328"/>
<location filename="capture_file_properties_dialog.ui" line="328"/>
<source>Displayed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="333"/>
<location filename="capture_file_properties_dialog.ui" line="333"/>
<source>Marked</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="363"/>
<location filename="capture_file_properties_dialog.ui" line="363"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="368"/>
<location filename="capture_file_properties_dialog.ui" line="368"/>
<source>Dropped packets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="373"/>
<location filename="capture_file_properties_dialog.ui" line="373"/>
<source>Capture filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="378"/>
<location filename="capture_file_properties_dialog.ui" line="378"/>
<source>Link type</source>
<oldsource>Link size</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="383"/>
<location filename="capture_file_properties_dialog.ui" line="383"/>
<source>Packet size limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="400"/>
<location filename="capture_file_properties_dialog.ui" line="400"/>
<source>Display filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="414"/>
<location filename="capture_file_properties_dialog.ui" line="414"/>
<source>Ignored packets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.ui" line="430"/>
<location filename="capture_file_properties_dialog.ui" line="430"/>
<source>Comment summary</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="66"/>
<location filename="capture_file_properties_dialog.cpp" line="66"/>
<source>Refresh</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="69"/>
<location filename="capture_file_properties_dialog.cpp" line="69"/>
<source>Copy To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="128"/>
<location filename="capture_file_properties_dialog.cpp" line="128"/>
<source>Summary created by Wireshark %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="131"/>
<location filename="capture_file_properties_dialog.cpp" line="131"/>
<source>File:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="132"/>
<location filename="capture_file_properties_dialog.cpp" line="132"/>
<source>Name: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="133"/>
<location filename="capture_file_properties_dialog.cpp" line="133"/>
<source>Length: %1 bytes
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="134"/>
<location filename="capture_file_properties_dialog.cpp" line="134"/>
<source>Format: %1%2
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="136"/>
<location filename="summary_dialog.cpp" line="282"/>
<location filename="capture_file_properties_dialog.cpp" line="136"/>
<location filename="capture_file_properties_dialog.cpp" line="282"/>
<source> (gzip compressed)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="137"/>
<location filename="capture_file_properties_dialog.cpp" line="137"/>
<source>Encapsulation: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="142"/>
<location filename="capture_file_properties_dialog.cpp" line="142"/>
<source>Time:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="148"/>
<location filename="capture_file_properties_dialog.cpp" line="148"/>
<source>First packet: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="151"/>
<location filename="capture_file_properties_dialog.cpp" line="151"/>
<source>Last packet: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="155"/>
<location filename="capture_file_properties_dialog.cpp" line="155"/>
<source>Elapsed: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="162"/>
<location filename="capture_file_properties_dialog.cpp" line="162"/>
<source>Capture:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="171"/>
<location filename="capture_file_properties_dialog.cpp" line="171"/>
<source>OS: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="176"/>
<location filename="capture_file_properties_dialog.cpp" line="176"/>
<source>Capture application: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="185"/>
<location filename="capture_file_properties_dialog.cpp" line="185"/>
<source>Dropped packets: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="187"/>
<location filename="capture_file_properties_dialog.cpp" line="187"/>
<source>Capture filter: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="189"/>
<location filename="capture_file_properties_dialog.cpp" line="189"/>
<source>Link type: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="191"/>
<location filename="capture_file_properties_dialog.cpp" line="191"/>
<source>Packet size limit: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="198"/>
<location filename="capture_file_properties_dialog.cpp" line="198"/>
<source>Statistics:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="201"/>
<location filename="capture_file_properties_dialog.cpp" line="201"/>
<source>%1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="213"/>
<location filename="capture_file_properties_dialog.cpp" line="213"/>
<source>Capture File Comments:
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="228"/>
<location filename="capture_file_properties_dialog.cpp" line="228"/>
<source>Not representable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="279"/>
<location filename="capture_file_properties_dialog.cpp" line="279"/>
<source>%1 bytes (%2 Mbytes)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="375"/>
<location filename="summary_dialog.cpp" line="410"/>
<location filename="capture_file_properties_dialog.cpp" line="375"/>
<location filename="capture_file_properties_dialog.cpp" line="410"/>
<source>unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="406"/>
<location filename="summary_dialog.cpp" line="434"/>
<location filename="capture_file_properties_dialog.cpp" line="406"/>
<location filename="capture_file_properties_dialog.cpp" line="434"/>
<source>none</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="417"/>
<location filename="capture_file_properties_dialog.cpp" line="417"/>
<source>%u bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="458"/>
<location filename="capture_file_properties_dialog.cpp" line="458"/>
<source>Packets</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="487"/>
<location filename="capture_file_properties_dialog.cpp" line="487"/>
<source>Between first and last packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="490"/>
<location filename="summary_dialog.cpp" line="502"/>
<location filename="summary_dialog.cpp" line="513"/>
<location filename="capture_file_properties_dialog.cpp" line="490"/>
<location filename="capture_file_properties_dialog.cpp" line="502"/>
<location filename="capture_file_properties_dialog.cpp" line="513"/>
<source>%.3f sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="529"/>
<location filename="capture_file_properties_dialog.cpp" line="529"/>
<source>Avg. packets/sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="570"/>
<location filename="capture_file_properties_dialog.cpp" line="570"/>
<source>Avg. packet size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="573"/>
<location filename="summary_dialog.cpp" line="586"/>
<location filename="summary_dialog.cpp" line="598"/>
<location filename="capture_file_properties_dialog.cpp" line="573"/>
<location filename="capture_file_properties_dialog.cpp" line="586"/>
<location filename="capture_file_properties_dialog.cpp" line="598"/>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="614"/>
<location filename="capture_file_properties_dialog.cpp" line="614"/>
<source>Bytes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="656"/>
<location filename="capture_file_properties_dialog.cpp" line="656"/>
<source>Avg. bytes/sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="summary_dialog.cpp" line="700"/>
<location filename="capture_file_properties_dialog.cpp" line="700"/>
<source>Avg. MBit/sec</source>
<translation type="unfinished"></translation>
</message>