diff options
author | Gerald Combs <gerald@wireshark.org> | 2012-10-18 21:51:38 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2012-10-18 21:51:38 +0000 |
commit | 97fa2f2a5f90d0414dc5341171a4abcb81c256a2 (patch) | |
tree | 166b03f3c21b584d7a943827c5a705b4dd79ddf3 /ui/qt/export_object_dialog.cpp | |
parent | 576b24c96ee4ac4ca7fb9fc116b6e8ce3704227d (diff) |
Show the object export dialog in accordance with the Qt
documentation. Remove our tap listener and clean up after ourselves.
svn path=/trunk/; revision=45648
Diffstat (limited to 'ui/qt/export_object_dialog.cpp')
-rw-r--r-- | ui/qt/export_object_dialog.cpp | 70 |
1 files changed, 38 insertions, 32 deletions
diff --git a/ui/qt/export_object_dialog.cpp b/ui/qt/export_object_dialog.cpp index 49546de70f..f8fd37a79c 100644 --- a/ui/qt/export_object_dialog.cpp +++ b/ui/qt/export_object_dialog.cpp @@ -56,7 +56,7 @@ static void eo_reset(void *tapdata) { export_object_list_t *object_list = (export_object_list_t *) tapdata; - if (object_list) object_list->eod->resetObjects(); + if (object_list && object_list->eod) object_list->eod->resetObjects(); } } // extern "C" @@ -113,42 +113,17 @@ ExportObjectDialog::ExportObjectDialog(QWidget *parent, capture_file *cf, Object connect(wsApp, SIGNAL(captureFileClosing(const capture_file*)), this, SLOT(captureFileClosing(const capture_file*))); + + show(); + raise(); + activateWindow(); } ExportObjectDialog::~ExportObjectDialog() { delete eo_ui_; -} - -void ExportObjectDialog::show() -{ - GString *error_msg; - - if (!cap_file_) destroy(); // Assert? - - /* Data will be gathered via a tap callback */ - error_msg = register_tap_listener(tap_name_, (void *)&export_object_list_, NULL, 0, - eo_reset, - tap_packet_, - NULL); - - if (error_msg) { - QMessageBox::warning( - this, - tr("Tap registration error"), - QString("Unable to register ") + name_ + QString(" tap: ") + error_msg->str, - QMessageBox::Ok - ); - g_string_free(error_msg, TRUE); - return; - } - - QDialog::show(); - cf_retap_packets(cap_file_); - eo_ui_->progressFrame->hide(); - for (int i = 0; i < eo_ui_->objectTree->columnCount(); i++) - eo_ui_->objectTree->resizeColumnToContents(i); - + export_object_list_.eod = NULL; + remove_tap_listener((void *)&export_object_list_); } void ExportObjectDialog::addObjectEntry(export_object_entry_t *entry) @@ -191,6 +166,37 @@ void ExportObjectDialog::resetObjects() if (save_all_bt_) save_all_bt_->setEnabled(false); } +void ExportObjectDialog::show() +{ + GString *error_msg; + + if (!cap_file_) destroy(); // Assert? + + /* Data will be gathered via a tap callback */ + error_msg = register_tap_listener(tap_name_, (void *)&export_object_list_, NULL, 0, + eo_reset, + tap_packet_, + NULL); + + if (error_msg) { + QMessageBox::warning( + this, + tr("Tap registration error"), + QString("Unable to register ") + name_ + QString(" tap: ") + error_msg->str, + QMessageBox::Ok + ); + g_string_free(error_msg, TRUE); + return; + } + + QDialog::show(); + cf_retap_packets(cap_file_); + eo_ui_->progressFrame->hide(); + for (int i = 0; i < eo_ui_->objectTree->columnCount(); i++) + eo_ui_->objectTree->resizeColumnToContents(i); + +} + void ExportObjectDialog::accept() { // Don't close the dialog. |