#include <windows.h>
#include "packet-range.h"
#include "ui/win32/file_dlg_win32.h"
-#endif
+#else // Q_WS_WIN
#include <errno.h>
#include "file.h"
#include <QFileInfo>
#include <QMessageBox>
#include <QSpacerItem>
+#endif // Q_WS_WIN
#include <QDebug>
#endif // Q_WS_WIN
}
-void CaptureFileDialog::addPreview(QVBoxLayout &v_box) {
- QGridLayout *preview_grid = new QGridLayout();
- QLabel *lbl;
- preview_labels_.clear();
- v_box.addLayout(preview_grid);
+// You have to use open, merge, saveAs, or exportPackets. We should
+// probably just make each type a subclass.
+int CaptureFileDialog::exec() {
+ return QDialog::Rejected;
+}
- preview_grid->setColumnStretch(0, 0);
- preview_grid->setColumnStretch(1, 10);
- lbl = new QLabel(tr("Format:"));
- preview_grid->addWidget(lbl, 0, 0);
- preview_grid->addWidget(&preview_format_, 0, 1);
- preview_labels_ << lbl << &preview_format_;
- lbl = new QLabel(tr("Size:"));
- preview_grid->addWidget(lbl, 1, 0);
- preview_grid->addWidget(&preview_size_, 1, 1);
- preview_labels_ << lbl << &preview_size_;
+// Windows
+#ifdef Q_WS_WIN
+int CaptureFileDialog::selectedFileType() {
+ return file_type_;
+}
- lbl = new QLabel(tr("Packets:"));
- preview_grid->addWidget(lbl, 2, 0);
- preview_grid->addWidget(&preview_packets_, 2, 1);
- preview_labels_ << lbl << &preview_packets_;
+bool CaptureFileDialog::isCompressed() {
+ return compressed_;
+}
- lbl = new QLabel(tr("First Packet:"));
- preview_grid->addWidget(lbl, 3, 0);
- preview_grid->addWidget(&preview_first_, 3, 1);
- preview_labels_ << lbl << &preview_first_;
+int CaptureFileDialog::open(QString &file_name) {
+ GString *fname = g_string_new(file_name.toUtf8().constData());
+ GString *dfilter = g_string_new(display_filter_.toUtf8().constData());
+ gboolean wof_status;
- lbl = new QLabel(tr("Elapsed Time:"));
- preview_grid->addWidget(lbl, 4, 0);
- preview_grid->addWidget(&preview_elapsed_, 4, 1);
- preview_labels_ << lbl << &preview_elapsed_;
+ wof_status = win32_open_file(parentWidget()->effectiveWinId(), fname, dfilter);
+ file_name = fname->str;
+ display_filter_ = dfilter->str;
- connect(this, SIGNAL(currentChanged(const QString &)), this, SLOT(preview(const QString &)));
+ g_string_free(fname, TRUE);
+ g_string_free(dfilter, TRUE);
- preview("");
+ return (int) wof_status;
}
-void CaptureFileDialog::addMergeControls(QVBoxLayout &v_box) {
+check_savability_t CaptureFileDialog::saveAs(QString &file_name, bool must_support_comments) {
+ GString *fname = g_string_new(file_name.toUtf8().constData());
+ gboolean wsf_status;
- merge_prepend_.setText("Prepend packets");
- merge_prepend_.setToolTip("Insert packets from the selected file before the current file. Packet timestamps will be ignored.");
- v_box.addWidget(&merge_prepend_, 0, Qt::AlignTop);
+ wsf_status = win32_save_as_file(parentWidget()->effectiveWinId(), cap_file_, fname, &file_type_, &compressed_, must_support_comments);
+ file_name = fname->str;
- merge_chrono_.setText("Merge chronologically");
- merge_chrono_.setToolTip("Insert packets in chronological order.");
- merge_chrono_.setChecked(true);
- v_box.addWidget(&merge_chrono_, 0, Qt::AlignTop);
+ g_string_free(fname, TRUE);
- merge_append_.setText("Append packets");
- merge_append_.setToolTip("Insert packets from the selected file after the current file. Packet timestamps will be ignored.");
- v_box.addWidget(&merge_append_, 0, Qt::AlignTop);
+ if (wsf_status) {
+ return win32_check_save_as_with_comments(parentWidget()->effectiveWinId(), cap_file_, file_type_);
+ }
+
+ return CANCELLED;
}
-// You have to use open, merge, saveAs, or exportPackets. We should
-// probably just make each type a subclass.
-int CaptureFileDialog::exec() {
- return QDialog::Rejected;
+check_savability_t CaptureFileDialog::exportSelectedPackets(QString &file_name, packet_range_t *range) {
+ GString *fname = g_string_new(file_name.toUtf8().constData());
+ gboolean wespf_status;
+
+ wespf_status = win32_export_specified_packets_file(parentWidget()->effectiveWinId(), fname, &file_type_, &compressed_, range);
+ file_name = fname->str;
+
+ g_string_free(fname, TRUE);
+
+ if (wespf_status) {
+ return win32_check_save_as_with_comments(parentWidget()->effectiveWinId(), cap_file_, file_type_);
+ }
+
+ return CANCELLED;
}
+int CaptureFileDialog::merge(QString &file_name) {
+ GString *fname = g_string_new(file_name.toUtf8().constData());
+ GString *dfilter = g_string_new(display_filter_.toUtf8().constData());
+ gboolean wmf_status;
+
+ wmf_status = win32_merge_file(parentWidget()->effectiveWinId(), fname, dfilter, &merge_type_);
+ file_name = fname->str;
+ display_filter_ = dfilter->str;
+
+ g_string_free(fname, TRUE);
+ g_string_free(dfilter, TRUE);
+
+ return (int) wmf_status;
+}
+
+int CaptureFileDialog::mergeType() {
+ return merge_type_;
+}
+
+#else // not Q_WS_WINDOWS
QString CaptureFileDialog::fileType(int ft, bool extension_globs)
{
QString filter;
return filters;
}
+void CaptureFileDialog::addPreview(QVBoxLayout &v_box) {
+ QGridLayout *preview_grid = new QGridLayout();
+ QLabel *lbl;
-// Windows
-#ifdef Q_WS_WIN
-int CaptureFileDialog::selectedFileType() {
- return file_type_;
-}
-
-bool CaptureFileDialog::isCompressed() {
- return compressed_;
-}
-
-int CaptureFileDialog::open(QString &file_name) {
- GString *fname = g_string_new(file_name.toUtf8().constData());
- GString *dfilter = g_string_new(display_filter_.toUtf8().constData());
- gboolean wof_status;
-
- wof_status = win32_open_file(parentWidget()->effectiveWinId(), fname, dfilter);
- file_name = fname->str;
- display_filter_ = dfilter->str;
-
- g_string_free(fname, TRUE);
- g_string_free(dfilter, TRUE);
-
- return (int) wof_status;
-}
-
-check_savability_t CaptureFileDialog::saveAs(QString &file_name, bool must_support_comments) {
- GString *fname = g_string_new(file_name.toUtf8().constData());
- gboolean wsf_status;
-
- wsf_status = win32_save_as_file(parentWidget()->effectiveWinId(), cap_file_, fname, &file_type_, &compressed_, must_support_comments);
- file_name = fname->str;
+ preview_labels_.clear();
+ v_box.addLayout(preview_grid);
- g_string_free(fname, TRUE);
+ preview_grid->setColumnStretch(0, 0);
+ preview_grid->setColumnStretch(1, 10);
- if (wsf_status) {
- return win32_check_save_as_with_comments(parentWidget()->effectiveWinId(), cap_file_, file_type_);
- }
+ lbl = new QLabel(tr("Format:"));
+ preview_grid->addWidget(lbl, 0, 0);
+ preview_grid->addWidget(&preview_format_, 0, 1);
+ preview_labels_ << lbl << &preview_format_;
- return CANCELLED;
-}
+ lbl = new QLabel(tr("Size:"));
+ preview_grid->addWidget(lbl, 1, 0);
+ preview_grid->addWidget(&preview_size_, 1, 1);
+ preview_labels_ << lbl << &preview_size_;
-check_savability_t CaptureFileDialog::exportSelectedPackets(QString &file_name, packet_range_t *range) {
- GString *fname = g_string_new(file_name.toUtf8().constData());
- gboolean wespf_status;
+ lbl = new QLabel(tr("Packets:"));
+ preview_grid->addWidget(lbl, 2, 0);
+ preview_grid->addWidget(&preview_packets_, 2, 1);
+ preview_labels_ << lbl << &preview_packets_;
- wespf_status = win32_export_specified_packets_file(parentWidget()->effectiveWinId(), fname, &file_type_, &compressed_, range);
- file_name = fname->str;
+ lbl = new QLabel(tr("First Packet:"));
+ preview_grid->addWidget(lbl, 3, 0);
+ preview_grid->addWidget(&preview_first_, 3, 1);
+ preview_labels_ << lbl << &preview_first_;
- g_string_free(fname, TRUE);
+ lbl = new QLabel(tr("Elapsed Time:"));
+ preview_grid->addWidget(lbl, 4, 0);
+ preview_grid->addWidget(&preview_elapsed_, 4, 1);
+ preview_labels_ << lbl << &preview_elapsed_;
- if (wespf_status) {
- return win32_check_save_as_with_comments(parentWidget()->effectiveWinId(), cap_file_, file_type_);
- }
+ connect(this, SIGNAL(currentChanged(const QString &)), this, SLOT(preview(const QString &)));
- return CANCELLED;
+ preview("");
}
-int CaptureFileDialog::merge(QString &file_name) {
- GString *fname = g_string_new(file_name.toUtf8().constData());
- GString *dfilter = g_string_new(display_filter_.toUtf8().constData());
- gboolean wmf_status;
-
- wmf_status = win32_merge_file(parentWidget()->effectiveWinId(), fname, dfilter, &merge_type_);
- file_name = fname->str;
- display_filter_ = dfilter->str;
+void CaptureFileDialog::addMergeControls(QVBoxLayout &v_box) {
- g_string_free(fname, TRUE);
- g_string_free(dfilter, TRUE);
+ merge_prepend_.setText("Prepend packets");
+ merge_prepend_.setToolTip("Insert packets from the selected file before the current file. Packet timestamps will be ignored.");
+ v_box.addWidget(&merge_prepend_, 0, Qt::AlignTop);
- return (int) wmf_status;
-}
+ merge_chrono_.setText("Merge chronologically");
+ merge_chrono_.setToolTip("Insert packets in chronological order.");
+ merge_chrono_.setChecked(true);
+ v_box.addWidget(&merge_chrono_, 0, Qt::AlignTop);
-int CaptureFileDialog::mergeType() {
- return merge_type_;
+ merge_append_.setText("Append packets");
+ merge_append_.setToolTip("Insert packets from the selected file after the current file. Packet timestamps will be ignored.");
+ v_box.addWidget(&merge_append_, 0, Qt::AlignTop);
}
-#else // not Q_WS_WINDOWS
int CaptureFileDialog::selectedFileType() {
return type_hash_.value(selectedNameFilter(), -1);
}