diff options
-rw-r--r-- | image/file_dlg_win32.rc | 56 | ||||
-rw-r--r-- | ui/gtk/capture_file_dlg.c | 90 | ||||
-rw-r--r-- | ui/qt/capture_file_dialog.cpp | 125 | ||||
-rw-r--r-- | ui/qt/capture_file_dialog.h | 10 | ||||
-rw-r--r-- | ui/win32/file_dlg_win32.c | 75 | ||||
-rw-r--r-- | ui/win32/file_dlg_win32.h | 22 |
6 files changed, 115 insertions, 263 deletions
diff --git a/image/file_dlg_win32.rc b/image/file_dlg_win32.rc index 72295880ae..359000985a 100644 --- a/image/file_dlg_win32.rc +++ b/image/file_dlg_win32.rc @@ -2,7 +2,11 @@ #include "richedit.h" #include "../ui/win32/file_dlg_win32.h" -WIRESHARK_OPENFILENAME_TEMPLATE DIALOGEX 0, 0, 421, 90 +// We should probably ensure that we're meeting the MS layout guidelines: +// https://msdn.microsoft.com/en-us/library/windows/desktop/dn742486.aspx +// Outer margin: 11px + +WIRESHARK_OPENFILENAME_TEMPLATE DIALOGEX 0, 0, 425, 47 STYLE WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | DS_3DLOOK | DS_CONTROL FONT 8, "MS Shell Dlg" { @@ -11,22 +15,20 @@ FONT 8, "MS Shell Dlg" LTEXT "Read filter:", EWFD_FILTER_LBL, 67, 2, 49, 14 CONTROL "", EWFD_FILTER_EDIT, RICHEDIT_CLASS, ES_AUTOHSCROLL, 112, 0, 88, 12, WS_EX_CLIENTEDGE - COMBOBOX EWFD_FORMAT_TYPE, 67, 15, 135, 8, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CHECKBOX "MAC name resolution", EWFD_MAC_NR_CB, 67, 30, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Transport name resolution", EWFD_TRANS_NR_CB, 67, 45, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Network name resolution", EWFD_NET_NR_CB, 67, 60, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - CHECKBOX "Use external network name resolver", EWFD_EXTERNAL_NR_CB, 67, 75, 135, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - - LTEXT "Format:", EWFD_PT_FORMAT, 224, 2, 40, 8 - LTEXT "-", EWFD_PTX_FORMAT, 271, 2, 150, 8 - LTEXT "Size:", EWFD_PT_SIZE, 224, 17, 40, 8 - LTEXT "-", EWFD_PTX_SIZE, 271, 17, 150, 8 - LTEXT "Packets:", EWFD_PT_PACKETS, 224, 32, 40, 8 - LTEXT "-", EWFD_PTX_PACKETS, 271, 32, 150, 8 - LTEXT "First Packet:", EWFD_PT_FIRST_PKT, 224, 47, 40, 8 - LTEXT "-", EWFD_PTX_FIRST_PKT, 271, 47, 150, 8 - LTEXT "Elapsed:", EWFD_PT_ELAPSED, 224, 62, 40, 8 - LTEXT "-", EWFD_PTX_ELAPSED, 271, 62, 150, 8 + COMBOBOX EWFD_FORMAT_TYPE, 67, 17, 135, 8, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + // CHECKBOX "MAC name resolution", EWFD_MAC_NR_CB, 67, 30, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + // CHECKBOX "Transport name resolution", EWFD_TRANS_NR_CB, 67, 45, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + // CHECKBOX "Network name resolution", EWFD_NET_NR_CB, 67, 60, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + // CHECKBOX "Use external network name resolver", EWFD_EXTERNAL_NR_CB, 67, 75, 135, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + + LTEXT "Format:", EWFD_PT_FORMAT, 224, 2, 60, 8 + LTEXT "-", EWFD_PTX_FORMAT, 275, 2, 150, 8 + LTEXT "Size:", EWFD_PT_SIZE, 224, 17, 60, 8 + LTEXT "-", EWFD_PTX_SIZE, 275, 17, 150, 8 + // LTEXT "Packets:", EWFD_PT_PACKETS, 224, 32, 60, 8 + // LTEXT "-", EWFD_PTX_PACKETS, 275, 32, 150, 8 + LTEXT "Start / elapsed:", EWFD_PT_START_ELAPSED, 224, 32, 60, 8 + LTEXT "-", EWFD_PTX_START_ELAPSED, 275, 32, 150, 8 // 164/211, 79, 40/150, 8 } @@ -78,7 +80,7 @@ FONT 8, "MS Shell Dlg" CHECKBOX "Compress with gzip", EWFD_GZIP_CB, 344, 4, 100, 8, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } -WIRESHARK_MERGEFILENAME_TEMPLATE DIALOGEX 0, 0, 428, 77 +WIRESHARK_MERGEFILENAME_TEMPLATE DIALOGEX 0, 0, 428, 47 STYLE WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | DS_3DLOOK | DS_CONTROL FONT 8, "MS Shell Dlg" { @@ -91,16 +93,14 @@ FONT 8, "MS Shell Dlg" CONTROL "Merge packets chronologically", EWFD_MERGE_CHRONO_BTN, "Button", BS_AUTORADIOBUTTON, 67, 45, 120, 8 CONTROL "Append packets to existing file", EWFD_MERGE_APPEND_BTN, "Button", BS_AUTORADIOBUTTON, 67, 60, 120, 8 - LTEXT "Format:", EWFD_PT_FORMAT, 224, 2, 40, 8 - LTEXT "-", EWFD_PTX_FORMAT, 271, 2, 150, 8 - LTEXT "Size:", EWFD_PT_SIZE, 224, 17, 40, 8 - LTEXT "-", EWFD_PTX_SIZE, 271, 17, 150, 8 - LTEXT "Packets:", EWFD_PT_PACKETS, 224, 32, 40, 8 - LTEXT "-", EWFD_PTX_PACKETS, 271, 32, 150, 8 - LTEXT "First Packet:", EWFD_PT_FIRST_PKT, 224, 47, 40, 8 - LTEXT "-", EWFD_PTX_FIRST_PKT, 271, 47, 150, 8 - LTEXT "Elapsed:", EWFD_PT_ELAPSED, 224, 62, 40, 8 - LTEXT "-", EWFD_PTX_ELAPSED, 271, 62, 150, 8 + LTEXT "Format:", EWFD_PT_FORMAT, 224, 2, 60, 8 + LTEXT "-", EWFD_PTX_FORMAT, 275, 2, 150, 8 + LTEXT "Size:", EWFD_PT_SIZE, 224, 17, 60, 8 + LTEXT "-", EWFD_PTX_SIZE, 275, 17, 150, 8 + // LTEXT "Packets:", EWFD_PT_PACKETS, 224, 32, 60, 8 + // LTEXT "-", EWFD_PTX_PACKETS, 275, 32, 150, 8 + LTEXT "Start / elapsed:", EWFD_PT_START_ELAPSED, 224, 32, 60, 8 + LTEXT "-", EWFD_PTX_START_ELAPSED, 275, 32, 150, 8 // 164/211, 79, 40/150, 8 } diff --git a/ui/gtk/capture_file_dlg.c b/ui/gtk/capture_file_dlg.c index e50d600c98..2c7e0cab52 100644 --- a/ui/gtk/capture_file_dlg.c +++ b/ui/gtk/capture_file_dlg.c @@ -27,7 +27,6 @@ #include <gtk/gtk.h> #include <wsutil/filesystem.h> -#include <epan/addr_resolv.h> #include <epan/prefs.h> #include "globals.h" @@ -87,12 +86,11 @@ static gboolean test_file_close(capture_file *cf, gboolean from_quit, #define E_FILE_TYPE_COMBO_BOX_KEY "file_type_combo_box" #define E_COMPRESSED_CB_KEY "compressed_cb" -#define PREVIEW_TABLE_KEY "preview_table_key" -#define PREVIEW_FORMAT_KEY "preview_format_key" -#define PREVIEW_SIZE_KEY "preview_size_key" -#define PREVIEW_ELAPSED_KEY "preview_elapsed_key" -#define PREVIEW_PACKETS_KEY "preview_packets_key" -#define PREVIEW_FIRST_KEY "preview_first_key" +#define PREVIEW_TABLE_KEY "preview_table_key" +#define PREVIEW_FORMAT_KEY "preview_format_key" +#define PREVIEW_SIZE_KEY "preview_size_key" +#define PREVIEW_PACKETS_KEY "preview_packets_key" +#define PREVIEW_FIRST_ELAPSED_KEY "preview_first_elapsed_key" /* XXX - can we make these not be static? */ static gboolean color_selected; @@ -117,11 +115,9 @@ preview_set_filename(GtkWidget *prev, const gchar *cf_name) gtk_label_set_text(GTK_LABEL(label), "-"); label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_SIZE_KEY); gtk_label_set_text(GTK_LABEL(label), "-"); - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_ELAPSED_KEY); - gtk_label_set_text(GTK_LABEL(label), "-"); label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_PACKETS_KEY); gtk_label_set_text(GTK_LABEL(label), "-"); - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_KEY); + label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_ELAPSED_KEY); gtk_label_set_text(GTK_LABEL(label), "-"); if (!cf_name) { @@ -182,6 +178,7 @@ preview_do(GtkWidget *prev, wtap *wth) unsigned int packets = 0; gboolean is_breaked = FALSE; gchar string_buff[PREVIEW_STR_MAX]; + gchar first_buff[PREVIEW_STR_MAX]; time_t ti_time; struct tm *ti_tm; const struct wtap_pkthdr *phdr; @@ -234,7 +231,7 @@ preview_do(GtkWidget *prev, wtap *wth) ti_time = (long)start_time; ti_tm = localtime( &ti_time ); if (ti_tm) { - g_snprintf(string_buff, PREVIEW_STR_MAX, + g_snprintf(first_buff, PREVIEW_STR_MAX, "%04d-%02d-%02d %02d:%02d:%02d", ti_tm->tm_year + 1900, ti_tm->tm_mon + 1, @@ -243,24 +240,22 @@ preview_do(GtkWidget *prev, wtap *wth) ti_tm->tm_min, ti_tm->tm_sec); } else { - g_snprintf(string_buff, PREVIEW_STR_MAX, "?"); + g_snprintf(first_buff, PREVIEW_STR_MAX, "?"); } - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_KEY); - gtk_label_set_text(GTK_LABEL(label), string_buff); /* elapsed time */ elapsed_time = (unsigned int)(stop_time-start_time); if (elapsed_time/86400) { - g_snprintf(string_buff, PREVIEW_STR_MAX, "%02u days %02u:%02u:%02u", - elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); + g_snprintf(string_buff, PREVIEW_STR_MAX, "%s / %02u days %02u:%02u:%02u", + first_buff, elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } else { - g_snprintf(string_buff, PREVIEW_STR_MAX, "%02u:%02u:%02u", - elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); + g_snprintf(string_buff, PREVIEW_STR_MAX, "%s / %02u:%02u:%02u", + first_buff, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } if (is_breaked) { - g_snprintf(string_buff, PREVIEW_STR_MAX, "unknown"); + g_snprintf(string_buff, PREVIEW_STR_MAX, "%s / unknown", first_buff); } - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_ELAPSED_KEY); + label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_ELAPSED_KEY); gtk_label_set_text(GTK_LABEL(label), string_buff); wtap_close(wth); @@ -395,10 +390,8 @@ preview_new(void) g_object_set_data(G_OBJECT(grid), PREVIEW_SIZE_KEY, label); label = add_string_to_grid(grid, &row, "Packets:", "-"); g_object_set_data(G_OBJECT(grid), PREVIEW_PACKETS_KEY, label); - label = add_string_to_grid(grid, &row, "First Packet:", "-"); - g_object_set_data(G_OBJECT(grid), PREVIEW_FIRST_KEY, label); - label = add_string_to_grid(grid, &row, "Elapsed time:", "-"); - g_object_set_data(G_OBJECT(grid), PREVIEW_ELAPSED_KEY, label); + label = add_string_to_grid(grid, &row, "Start / elapsed:", "-"); + g_object_set_data(G_OBJECT(grid), PREVIEW_FIRST_ELAPSED_KEY, label); return grid; } @@ -473,7 +466,7 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil { GtkWidget *file_open_w; GtkWidget *main_hb, *main_vb, *filter_hbox, *filter_bt, *filter_te; - GtkWidget *m_resolv_cb, *n_resolv_cb, *t_resolv_cb, *e_resolv_cb, *prev; + GtkWidget *prev; GtkWidget *format_type_co; GtkCellRenderer *cell; gint i; @@ -547,7 +540,7 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil gtk_widget_set_tooltip_text(format_type_co, "Format type of capture file"); gtk_box_pack_start(GTK_BOX(main_vb), format_type_co, FALSE, FALSE, 0); - gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(format_type_co), (const gchar *) "Automatic"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(format_type_co), (const gchar *) "Automatically detect file type"); for (i = 0; open_routines[i].name != NULL; i += 1) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(format_type_co), open_routines[i].name); } @@ -585,31 +578,6 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil g_object_set_data(G_OBJECT(file_open_w), E_RFILTER_TE_KEY, filter_te); - /* Resolve buttons */ - m_resolv_cb = gtk_check_button_new_with_mnemonic("Enable _MAC name resolution"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_resolv_cb), - gbl_resolv_flags.mac_name); - gtk_box_pack_start(GTK_BOX(main_vb), m_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(m_resolv_cb); - - t_resolv_cb = gtk_check_button_new_with_mnemonic("Enable _transport name resolution"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(t_resolv_cb), - gbl_resolv_flags.transport_name); - gtk_box_pack_start(GTK_BOX(main_vb), t_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(t_resolv_cb); - - n_resolv_cb = gtk_check_button_new_with_mnemonic("Enable _network name resolution"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(n_resolv_cb), - gbl_resolv_flags.network_name); - gtk_box_pack_start(GTK_BOX(main_vb), n_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(n_resolv_cb); - - e_resolv_cb = gtk_check_button_new_with_mnemonic("Use _external network name resolver"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e_resolv_cb), - gbl_resolv_flags.use_external_net_name_resolver); - gtk_box_pack_start(GTK_BOX(main_vb), e_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(e_resolv_cb); - /* Preview widget */ prev = preview_new(); g_object_set_data(G_OBJECT(file_open_w), PREVIEW_TABLE_KEY, prev); @@ -634,24 +602,6 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil g_free(cf_name); g_string_printf(display_filter, "%s", gtk_entry_get_text(GTK_ENTRY(filter_te))); - /* Set the global resolving variable */ - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_resolv_cb))) - gbl_resolv_flags.mac_name = TRUE; - else - gbl_resolv_flags.mac_name = FALSE; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(n_resolv_cb))) - gbl_resolv_flags.network_name = TRUE; - else - gbl_resolv_flags.network_name = FALSE; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(t_resolv_cb))) - gbl_resolv_flags.transport_name = TRUE; - else - gbl_resolv_flags.transport_name = FALSE; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(e_resolv_cb))) - gbl_resolv_flags.use_external_net_name_resolver = TRUE; - else - gbl_resolv_flags.use_external_net_name_resolver = FALSE; - *type = gtk_combo_box_get_active((GtkComboBox *) format_type_co); /* We've crossed the Rubicon; get rid of the file selection box. */ @@ -667,10 +617,8 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil * <platform/>_open_file routines should upon entry... * Set the path and fill in the filename if the path+filename is provided. * Set the display filter if provided. Filter syntax should be checked. - * Set the name resolution check boxes to match the global settings. * ...and upon exit... * Return TRUE on "OK" and "FALSE" on "Cancel". - * Set the global name resolution preferences on "OK". * Close the window. */ diff --git a/ui/qt/capture_file_dialog.cpp b/ui/qt/capture_file_dialog.cpp index 7cc5c7bcdf..f9c4f97374 100644 --- a/ui/qt/capture_file_dialog.cpp +++ b/ui/qt/capture_file_dialog.cpp @@ -32,9 +32,11 @@ #include <errno.h> #include "file.h" -#include "epan/addr_resolv.h" #include "wsutil/filesystem.h" #include "wsutil/nstime.h" +#include "wsutil/str_util.h" +#include "wsutil/utf8_entities.h" + #include "ui/all_files_wildcard.h" #include <QGridLayout> @@ -52,41 +54,6 @@ #include "epan/prefs.h" #include <wireshark_application.h> -#ifdef Q_OS_WIN -// All of these routines are required by file_dlg_win32.c. -// We don't yet have a good place for them so we'll add them as stubs here. - -extern "C" { - -// From gtk/capture_dlg.[ch] -/* capture start confirmed by "Save unsaved capture", so do it now */ -extern void capture_start_confirmed(void) { -} - -// From gtk/drag_and_drop.[ch] -/** Open a new file coming from drag and drop. - * @param cf_names_freeme the selection data reported from GTK - */ -extern void dnd_open_file_cmd(gchar *) { -} - -// From gtk/menus.h & main_menubar.c -/** User pushed a recent file submenu item. - * - * @param widget parent widget - */ -extern void menu_open_recent_file_cmd(gpointer){ -} - -/** One of the name resolution menu items changed. */ -extern void menu_name_resolution_changed(void) { - -} - -} // extern "C" -// End stub routines -#endif // Q_OS_WIN - CaptureFileDialog::CaptureFileDialog(QWidget *parent, capture_file *cf, QString &display_filter) : QFileDialog(parent), cap_file_(cf), @@ -131,7 +98,7 @@ CaptureFileDialog::CaptureFileDialog(QWidget *parent, capture_file *cf, QString last_row_ = fd_grid->rowCount(); fd_grid->addItem(new QSpacerItem(1, 1), last_row_, 0); - fd_grid->addLayout(h_box, last_row_, 1); + fd_grid->addLayout(h_box, last_row_, 0, 1, 2); last_row_++; // Left and right boxes for controls and preview @@ -461,20 +428,10 @@ void CaptureFileDialog::addPreview(QVBoxLayout &v_box) { preview_grid->addWidget(&preview_size_, 1, 1); preview_labels_ << lbl << &preview_size_; - lbl = new QLabel(tr("Packets:")); - preview_grid->addWidget(lbl, 2, 0); - preview_grid->addWidget(&preview_packets_, 2, 1); - preview_labels_ << lbl << &preview_packets_; - - lbl = new QLabel(tr("First Packet:")); + lbl = new QLabel(tr("Start / elapsed:")); preview_grid->addWidget(lbl, 3, 0); - preview_grid->addWidget(&preview_first_, 3, 1); - preview_labels_ << lbl << &preview_first_; - - lbl = new QLabel(tr("Elapsed Time:")); - preview_grid->addWidget(lbl, 4, 0); - preview_grid->addWidget(&preview_elapsed_, 4, 1); - preview_labels_ << lbl << &preview_elapsed_; + preview_grid->addWidget(&preview_first_elapsed_, 3, 1); + preview_labels_ << lbl << &preview_first_elapsed_; connect(this, SIGNAL(currentChanged(const QString &)), this, SLOT(preview(const QString &))); @@ -517,7 +474,7 @@ void CaptureFileDialog::addDisplayFilterEdit() { } void CaptureFileDialog::addFormatTypeSelector(QVBoxLayout &v_box) { - format_type_.addItem(tr("Automatic")); + format_type_.addItem(tr("Automatically detect file type")); for (int i = 0; open_routines[i].name != NULL; i += 1) { format_type_.addItem(open_routines[i].name); } @@ -525,24 +482,6 @@ void CaptureFileDialog::addFormatTypeSelector(QVBoxLayout &v_box) { v_box.addWidget(&format_type_, 0, Qt::AlignTop); } -void CaptureFileDialog::addResolutionControls(QVBoxLayout &v_box) { - mac_res_.setText(tr("&MAC name resolution")); - mac_res_.setChecked(gbl_resolv_flags.mac_name); - v_box.addWidget(&mac_res_, 0, Qt::AlignTop); - - transport_res_.setText(tr("&Transport name resolution")); - transport_res_.setChecked(gbl_resolv_flags.transport_name); - v_box.addWidget(&transport_res_, 0, Qt::AlignTop); - - network_res_.setText(tr("&Network name resolution")); - network_res_.setChecked(gbl_resolv_flags.network_name); - v_box.addWidget(&network_res_, 0, Qt::AlignTop); - - external_res_.setText(tr("&External name resolver")); - external_res_.setChecked(gbl_resolv_flags.use_external_net_name_resolver); - v_box.addWidget(&external_res_, 0, Qt::AlignTop); -} - void CaptureFileDialog::addGzipControls(QVBoxLayout &v_box) { compress_.setText(tr("Compress with g&zip")); if (cap_file_->iscompressed && wtap_dump_can_compress(default_ft_)) { @@ -581,7 +520,6 @@ int CaptureFileDialog::open(QString &file_name, unsigned int &type) { addFormatTypeSelector(left_v_box_); addDisplayFilterEdit(); - addResolutionControls(left_v_box_); addPreview(right_v_box_); addHelpButton(HELP_OPEN_DIALOG); @@ -599,11 +537,6 @@ int CaptureFileDialog::open(QString &file_name, unsigned int &type) { type = format_type_.currentIndex(); display_filter_.append(display_filter_edit_->text()); - gbl_resolv_flags.mac_name = mac_res_.isChecked(); - gbl_resolv_flags.transport_name = transport_res_.isChecked(); - gbl_resolv_flags.network_name = network_res_.isChecked(); - gbl_resolv_flags.use_external_net_name_resolver = external_res_.isChecked(); - return QDialog::Accepted; } else { return QDialog::Rejected; @@ -774,11 +707,9 @@ void CaptureFileDialog::preview(const QString & path) lbl->setEnabled(false); } - preview_format_.setText(tr("-")); - preview_size_.setText(tr("-")); - preview_packets_.setText(tr("-")); - preview_first_.setText(tr("-")); - preview_elapsed_.setText(tr("-")); + preview_format_.setText(tr(UTF8_EM_DASH)); + preview_size_.setText(tr(UTF8_EM_DASH)); + preview_first_elapsed_.setText(tr(UTF8_EM_DASH)); if (path.length() < 1) { return; @@ -808,7 +739,9 @@ void CaptureFileDialog::preview(const QString & path) preview_format_.setText(QString::fromUtf8(wtap_file_type_subtype_string(wtap_file_type_subtype(wth)))); // Size - preview_size_.setText(QString(tr("%1 bytes")).arg(wtap_file_size(wth, &err))); + gint64 filesize = wtap_file_size(wth, &err); + // Finder and Windows Explorer use IEC. What do the various Linux file managers use? + QString size_str = format_size(filesize, format_size_unit_bytes|format_size_prefix_iec); time(&time_preview); while ((wtap_read(wth, &err, &err_info, &data_offset))) { @@ -837,22 +770,26 @@ void CaptureFileDialog::preview(const QString & path) } if(err != 0) { - preview_packets_.setText(QString(tr("error after reading %1 packets")).arg(packets)); + preview_size_.setText(QString(tr("%1, error after %2 packets")) + .arg(size_str).arg(packets)); return; } // Packet count if(timed_out) { - preview_packets_.setText(QString(tr("more than %1 (preview timeout)")).arg(packets)); + preview_size_.setText(QString(tr("%1, timed out at %2 packets")) + .arg(size_str).arg(packets)); } else { - preview_packets_.setText(QString("%1").arg(packets)); + preview_size_.setText(QString("%1, %2 packets") + .arg(size_str).arg(packets)); } - // First packet + // First packet + elapsed time ti_time = (long)start_time; ti_tm = localtime(&ti_time); + QString first_elapsed = "?"; if(ti_tm) { - preview_first_.setText(QString().sprintf( + first_elapsed = QString().sprintf( "%04d-%02d-%02d %02d:%02d:%02d", ti_tm->tm_year + 1900, ti_tm->tm_mon + 1, @@ -860,22 +797,22 @@ void CaptureFileDialog::preview(const QString & path) ti_tm->tm_hour, ti_tm->tm_min, ti_tm->tm_sec - )); - } else { - preview_first_.setText(tr("?")); + ); } // Elapsed time + first_elapsed += " / "; elapsed_time = (unsigned int)(stop_time-start_time); if(timed_out) { - preview_elapsed_.setText(tr("unknown")); + first_elapsed += tr("unknown"); } else if(elapsed_time/86400) { - preview_elapsed_.setText(QString().sprintf("%02u days %02u:%02u:%02u", - elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60)); + first_elapsed += QString().sprintf("%02u days %02u:%02u:%02u", + elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } else { - preview_elapsed_.setText(QString().sprintf("%02u:%02u:%02u", - elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60)); + first_elapsed += QString().sprintf("%02u:%02u:%02u", + elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } + preview_first_elapsed_.setText(first_elapsed); wtap_close(wth); } diff --git a/ui/qt/capture_file_dialog.h b/ui/qt/capture_file_dialog.h index bc3be567cc..9dd95c47a3 100644 --- a/ui/qt/capture_file_dialog.h +++ b/ui/qt/capture_file_dialog.h @@ -101,9 +101,7 @@ private: QLabel preview_format_; QLabel preview_size_; - QLabel preview_packets_; - QLabel preview_first_; - QLabel preview_elapsed_; + QLabel preview_first_elapsed_; QList<QLabel *> preview_labels_; QRadioButton merge_prepend_; @@ -113,7 +111,6 @@ private: QComboBox format_type_; QHash<QString, int>type_hash_; - void addResolutionControls(QVBoxLayout &v_box); void addGzipControls(QVBoxLayout &v_box); void addRangeControls(QVBoxLayout &v_box, packet_range_t *range); QDialogButtonBox *addHelpButton(topic_action_e help_topic); @@ -122,11 +119,6 @@ private: int default_ft_; - QCheckBox mac_res_; - QCheckBox transport_res_; - QCheckBox network_res_; - QCheckBox external_res_; - QCheckBox compress_; PacketRangeGroupBox packet_range_group_box_; diff --git a/ui/win32/file_dlg_win32.c b/ui/win32/file_dlg_win32.c index 90aa684dae..ab4c92bfa7 100644 --- a/ui/win32/file_dlg_win32.c +++ b/ui/win32/file_dlg_win32.c @@ -38,7 +38,6 @@ #include "wsutil/unicode-utils.h" #include "wsutil/filesystem.h" -#include "epan/addr_resolv.h" #include "epan/prefs.h" #include "epan/color_filters.h" @@ -1121,9 +1120,11 @@ preview_set_file_info(HWND of_hwnd, gchar *preview_file) { int err = 0; gchar *err_info; TCHAR string_buff[PREVIEW_STR_MAX]; + TCHAR first_buff[PREVIEW_STR_MAX]; gint64 data_offset; guint packet = 0; gint64 filesize; + gchar *size_str; time_t ti_time; struct tm *ti_tm; guint elapsed_time; @@ -1134,14 +1135,14 @@ preview_set_file_info(HWND of_hwnd, gchar *preview_file) { double cur_time; gboolean is_breaked = FALSE; - for (i = EWFD_PTX_FORMAT; i <= EWFD_PTX_ELAPSED; i++) { + for (i = EWFD_PTX_FORMAT; i <= EWFD_PTX_START_ELAPSED; i++) { cur_ctrl = GetDlgItem(of_hwnd, i); if (cur_ctrl) { EnableWindow(cur_ctrl, FALSE); } } - for (i = EWFD_PTX_FORMAT; i <= EWFD_PTX_ELAPSED; i++) { + for (i = EWFD_PTX_FORMAT; i <= EWFD_PTX_START_ELAPSED; i++) { cur_ctrl = GetDlgItem(of_hwnd, i); if (cur_ctrl) { SetWindowText(cur_ctrl, _T("-")); @@ -1170,7 +1171,7 @@ preview_set_file_info(HWND of_hwnd, gchar *preview_file) { } /* Success! */ - for (i = EWFD_PT_FORMAT; i <= EWFD_PTX_ELAPSED; i++) { + for (i = EWFD_PT_FORMAT; i <= EWFD_PTX_START_ELAPSED; i++) { cur_ctrl = GetDlgItem(of_hwnd, i); if (cur_ctrl) { EnableWindow(cur_ctrl, TRUE); @@ -1183,9 +1184,8 @@ preview_set_file_info(HWND of_hwnd, gchar *preview_file) { /* Size */ filesize = wtap_file_size(wth, &err); - utf_8to16_snprintf(string_buff, PREVIEW_STR_MAX, "%" G_GINT64_FORMAT " bytes", filesize); - cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_SIZE); - SetWindowText(cur_ctrl, string_buff); + // Windows Explorer uses IEC. + size_str = format_size(filesize, format_size_unit_bytes|format_size_prefix_iec); time(&time_preview); while ( (wtap_read(wth, &err, &err_info, &data_offset)) ) { @@ -1212,8 +1212,10 @@ preview_set_file_info(HWND of_hwnd, gchar *preview_file) { } if(err != 0) { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("error after reading %u packets"), packet); - cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_PACKETS); + utf_8to16_snprintf(string_buff, PREVIEW_STR_MAX, "%s, error after %u packets", + size_str, packet); + g_free(size_str); + cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_SIZE); SetWindowText(cur_ctrl, string_buff); wtap_close(wth); return TRUE; @@ -1221,18 +1223,21 @@ preview_set_file_info(HWND of_hwnd, gchar *preview_file) { /* Packets */ if(is_breaked) { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("more than %u packets (preview timeout)"), packet); + utf_8to16_snprintf(string_buff, PREVIEW_STR_MAX, "%s, timed out at %u packets", + size_str, packet); } else { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("%u"), packet); + utf_8to16_snprintf(string_buff, PREVIEW_STR_MAX, "%s, %u packets", + size_str, packet); } - cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_PACKETS); + g_free(size_str); + cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_SIZE); SetWindowText(cur_ctrl, string_buff); - /* First packet */ + /* First packet / elapsed time */ ti_time = (long)start_time; ti_tm = localtime( &ti_time ); if(ti_tm) { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, + StringCchPrintf(first_buff, PREVIEW_STR_MAX, _T("%04d-%02d-%02d %02d:%02d:%02d"), ti_tm->tm_year + 1900, ti_tm->tm_mon + 1, @@ -1241,24 +1246,21 @@ preview_set_file_info(HWND of_hwnd, gchar *preview_file) { ti_tm->tm_min, ti_tm->tm_sec); } else { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("?")); + StringCchPrintf(first_buff, PREVIEW_STR_MAX, _T("?")); } - cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_FIRST_PKT); - SetWindowText(cur_ctrl, string_buff); - /* Elapsed time */ elapsed_time = (unsigned int)(stop_time-start_time); if(elapsed_time/86400) { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("%02u days %02u:%02u:%02u"), - elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); + StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("%s / %02u days %02u:%02u:%02u"), + first_buff, elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } else { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("%02u:%02u:%02u"), - elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); + StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("%s / %02u:%02u:%02u"), + first_buff, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } if(is_breaked) { - StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("unknown")); + StringCchPrintf(string_buff, PREVIEW_STR_MAX, _T("%s / unknown"), first_buff); } - cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_ELAPSED); + cur_ctrl = GetDlgItem(of_hwnd, EWFD_PTX_START_ELAPSED); SetWindowText(cur_ctrl, string_buff); wtap_close(wth); @@ -1349,22 +1351,12 @@ open_file_hook_proc(HWND of_hwnd, UINT msg, WPARAM w_param, LPARAM l_param) { } cur_ctrl = GetDlgItem(of_hwnd, EWFD_FORMAT_TYPE); - SendMessage(cur_ctrl, CB_ADDSTRING, 0, (WPARAM) _T("Automatic")); + SendMessage(cur_ctrl, CB_ADDSTRING, 0, (WPARAM) _T("Automatically detect file type")); for (i = 0; open_routines[i].name != NULL; i += 1) { SendMessage(cur_ctrl, CB_ADDSTRING, 0, (WPARAM) utf_8to16(open_routines[i].name)); } SendMessage(cur_ctrl, CB_SETCURSEL, 0, 0); - /* Fill in our resolution values */ - cur_ctrl = GetDlgItem(of_hwnd, EWFD_MAC_NR_CB); - SendMessage(cur_ctrl, BM_SETCHECK, gbl_resolv_flags.mac_name, 0); - cur_ctrl = GetDlgItem(of_hwnd, EWFD_NET_NR_CB); - SendMessage(cur_ctrl, BM_SETCHECK, gbl_resolv_flags.network_name, 0); - cur_ctrl = GetDlgItem(of_hwnd, EWFD_TRANS_NR_CB); - SendMessage(cur_ctrl, BM_SETCHECK, gbl_resolv_flags.transport_name, 0); - cur_ctrl = GetDlgItem(of_hwnd, EWFD_EXTERNAL_NR_CB); - SendMessage(cur_ctrl, BM_SETCHECK, gbl_resolv_flags.use_external_net_name_resolver, 0); - preview_set_file_info(of_hwnd, NULL); break; case WM_NOTIFY: @@ -1379,19 +1371,6 @@ open_file_hook_proc(HWND of_hwnd, UINT msg, WPARAM w_param, LPARAM l_param) { cur_ctrl = GetDlgItem(of_hwnd, EWFD_FORMAT_TYPE); g_format_type = (unsigned int) SendMessage(cur_ctrl, CB_GETCURSEL, 0, 0); - /* Fetch our resolution values */ - cur_ctrl = GetDlgItem(of_hwnd, EWFD_MAC_NR_CB); - if (SendMessage(cur_ctrl, BM_GETCHECK, 0, 0) == BST_CHECKED) - gbl_resolv_flags.mac_name = TRUE; - cur_ctrl = GetDlgItem(of_hwnd, EWFD_NET_NR_CB); - if (SendMessage(cur_ctrl, BM_GETCHECK, 0, 0) == BST_CHECKED) - gbl_resolv_flags.network_name = TRUE; - cur_ctrl = GetDlgItem(of_hwnd, EWFD_TRANS_NR_CB); - if (SendMessage(cur_ctrl, BM_GETCHECK, 0, 0) == BST_CHECKED) - gbl_resolv_flags.transport_name = TRUE; - cur_ctrl = GetDlgItem(of_hwnd, EWFD_EXTERNAL_NR_CB); - if (SendMessage(cur_ctrl, BM_GETCHECK, 0, 0) == BST_CHECKED) - gbl_resolv_flags.use_external_net_name_resolver = TRUE; break; case CDN_SELCHANGE: /* This _almost_ works correctly. We need to handle directory diff --git a/ui/win32/file_dlg_win32.h b/ui/win32/file_dlg_win32.h index f26c1e6951..16f4bb5780 100644 --- a/ui/win32/file_dlg_win32.h +++ b/ui/win32/file_dlg_win32.h @@ -156,19 +156,15 @@ void file_set_save_marked_sensitive(); /* Note: The preview title (PT) and text (PTX) MUST have sequential IDs; they're used in a for loop. EWFD_PT_FILENAME MUST be first, and EWFD_PTX_ELAPSED MUST be last. (so why don't we just use an enum? */ -#define EWFD_PT_FORMAT 1006 -#define EWFD_PT_SIZE 1007 -#define EWFD_PT_PACKETS 1008 -#define EWFD_PT_FIRST_PKT 1009 -#define EWFD_PT_ELAPSED 1010 - -#define EWFD_PTX_FORMAT 1011 -#define EWFD_PTX_SIZE 1012 -#define EWFD_PTX_PACKETS 1013 -#define EWFD_PTX_FIRST_PKT 1014 -#define EWFD_PTX_ELAPSED 1015 - -#define EWFD_FORMAT_TYPE 1016 +#define EWFD_PT_FORMAT 1006 +#define EWFD_PT_SIZE 1007 +#define EWFD_PT_START_ELAPSED 1008 + +#define EWFD_PTX_FORMAT 1009 +#define EWFD_PTX_SIZE 1010 +#define EWFD_PTX_START_ELAPSED 1011 + +#define EWFD_FORMAT_TYPE 1020 /* Save as and export dialog defines */ #define EWFD_GZIP_CB 1040 |