ExportObjectDialog::ExportObjectDialog(QWidget &parent, CaptureFile &cf, register_eo_t* eo) : WiresharkDialog(parent, cf), eo_ui_(new Ui::ExportObjectDialog), save_bt_(NULL), save_all_bt_(NULL), model_(eo, this), proxyModel_(this) { QPushButton *close_bt; eo_ui_->setupUi(this); setAttribute(Qt::WA_DeleteOnClose, true); proxyModel_.setSourceModel(&model_); eo_ui_->objectTree->setModel(&proxyModel_); proxyModel_.setFilterFixedString(""); proxyModel_.setFilterCaseSensitivity(Qt::CaseInsensitive); proxyModel_.setFilterKeyColumn(-1); #if defined(Q_OS_MAC) eo_ui_->progressLabel->setAttribute(Qt::WA_MacSmallSize, true); eo_ui_->progressBar->setAttribute(Qt::WA_MacSmallSize, true); #endif connect(&model_, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(modelDataChanged(QModelIndex))); connect(&model_, SIGNAL(modelReset()), this, SLOT(modelRowsReset())); connect(eo_ui_->filterLine, &QLineEdit::textChanged, &proxyModel_, &QSortFilterProxyModel::setFilterFixedString); save_bt_ = eo_ui_->buttonBox->button(QDialogButtonBox::Save); save_all_bt_ = eo_ui_->buttonBox->button(QDialogButtonBox::SaveAll); close_bt = eo_ui_->buttonBox->button(QDialogButtonBox::Close); setWindowTitle(wsApp->windowTitleString(QStringList() << tr("Export") << tr("%1 object list").arg(proto_get_protocol_short_name(find_protocol_by_id(get_eo_proto_id(eo)))))); if (save_bt_) save_bt_->setEnabled(false); if (save_all_bt_) save_all_bt_->setEnabled(false); if (close_bt) close_bt->setDefault(true); connect(&cap_file_, SIGNAL(captureEvent(CaptureEvent)), this, SLOT(captureEvent(CaptureEvent))); show(); raise(); activateWindow(); }
void CaptureFile::captureSessionEvent(int event, capture_session *cap_session) { switch(event) { case(capture_cb_capture_prepared): emit captureEvent(CaptureEvent(CaptureEvent::Capture, CaptureEvent::Prepared, cap_session)); cap_file_ = cap_session->cf; break; case(capture_cb_capture_update_started): emit captureEvent(CaptureEvent(CaptureEvent::Update, CaptureEvent::Started, cap_session)); break; case(capture_cb_capture_update_continue): emit captureEvent(CaptureEvent(CaptureEvent::Update, CaptureEvent::Continued, cap_session)); break; case(capture_cb_capture_update_finished): emit captureEvent(CaptureEvent(CaptureEvent::Update, CaptureEvent::Finished, cap_session)); break; case(capture_cb_capture_fixed_started): emit captureEvent(CaptureEvent(CaptureEvent::Fixed, CaptureEvent::Started, cap_session)); break; case(capture_cb_capture_fixed_continue): emit captureEvent(CaptureEvent(CaptureEvent::Fixed, CaptureEvent::Continued, cap_session)); break; case(capture_cb_capture_fixed_finished): emit captureEvent(CaptureEvent(CaptureEvent::Fixed, CaptureEvent::Finished, cap_session)); break; case(capture_cb_capture_stopping): /* Beware: this state won't be called, if the capture child * closes the capturing on it's own! */ emit captureEvent(CaptureEvent(CaptureEvent::Capture, CaptureEvent::Stopping, cap_session)); break; case(capture_cb_capture_failed): emit captureEvent(CaptureEvent(CaptureEvent::Capture, CaptureEvent::Failed, cap_session)); break; default: qWarning() << "main_capture_callback: event " << event << " unknown"; } }
bool LeftbagdetectorPlugin::init() { QDateTime timestamp = QDateTime::currentDateTime(); //connect(&blobPositionReader, SIGNAL(generateEvent(QList<DetectedEvent>)), this, SLOT(onCaptureEvent(QList<DetectedEvent>))); //connect(&blobPositionReader, SIGNAL(generateEvent(QList<DetectedEvent>)), &blobDistanceNode, SLOT(captureEvent(QList<DetectedEvent>))); //connect(&blobPositionReader, SIGNAL(generateEvent(QList<DetectedEvent>)), &blobSpeedNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(this, SIGNAL(generateEvent(QList<DetectedEvent>)), &blobDistanceNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(this, SIGNAL(generateEvent(QList<DetectedEvent>)), &blobSpeedNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(&blobDistanceNode, SIGNAL(generateEvent(QList<DetectedEvent>)), &distanceChangeNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(&blobDistanceNode, SIGNAL(generateEvent(QList<DetectedEvent>)), &leftBagNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(&distanceChangeNode, SIGNAL(generateEvent(QList<DetectedEvent>)), &leftBagNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(&blobSpeedNode, SIGNAL(generateEvent(QList<DetectedEvent>)), &leftBagNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(&leftBagNode, SIGNAL(generateEvent(QList<DetectedEvent>)), &leftBagWriterNode, SLOT(captureEvent(QList<DetectedEvent>))); connect(this, SIGNAL(generateEvent(QList<DetectedEvent>)), &blobWriterNode, SLOT(captureEvent(QList<DetectedEvent>))); //connect(&blobDistanceNode, SIGNAL(generateEvent(QList<DetectedEvent>)), this, SLOT(onCaptureEvent(QList<DetectedEvent>))); //connect(&distanceChangeNode, SIGNAL(generateEvent(QList<DetectedEvent>)), this, SLOT(onCaptureEvent(QList<DetectedEvent>))); //connect(&blobSpeedNode, SIGNAL(generateEvent(QList<DetectedEvent>)), this, SLOT(onCaptureEvent(QList<DetectedEvent>))); connect(&leftBagNode, SIGNAL(generateEvent(QList<DetectedEvent>)), this, SLOT(onCaptureEvent(QList<DetectedEvent>))); //connect(this, SIGNAL(generateEvent(QList<DetectedEvent>)), this, SLOT(onCaptureEvent(QList<DetectedEvent>))); //QDir dir(QCoreApplication::instance()->applicationDirPath()); QDir dir(QDir::home()); if(!dir.exists("NoobaVSS")){ dir.mkdir("NoobaVSS"); } dir.cd("NoobaVSS"); if(!dir.exists("data")){ dir.mkdir("data"); } dir.cd("data"); if(!dir.exists("text")){ dir.mkdir("text"); } dir.cd("text"); output_file = dir.absoluteFilePath(timestamp.currentDateTime().toString("yyyy-MM-dd-hhmm") + "-abobjects.txt"); //createStringParam("input_file",input_file,false); createStringParam("output_file",output_file,true); createDoubleParam("still_object_speed_threshold",DEFAULT_STILL_OBJECT_SPEED_THRESHOLD,200.0,0.0); createDoubleParam("leaving_object_speed_threshold",DEFAULT_LEAVING_OBJECT_SPEED_THRESHOLD,200.0,0.0); createDoubleParam("distance_change_rate_threshold",DEFAULT_DISTANCE_CHANGE_RATE_THRESHOLD,200.0,0.0); createDoubleParam("split_min_limit",DEFAULT_SPLIT_MIN_LIMIT,500,0.0); createDoubleParam("split_max_limit",DEFAULT_SPLIT_MAX_LIMIT,500.0,0.0); //blobPositionReader.openFile(input_file); leftBagWriterNode.openFile(output_file); blobWriterNode.openFile(dir.absoluteFilePath(timestamp.currentDateTime().toString("yyyy-MM-dd-hhmm") + "-blobs.txt")); leftBagNode.setStillObjectSpeedThreshold(DEFAULT_STILL_OBJECT_SPEED_THRESHOLD); leftBagNode.setLeavingObjectSpeedThreshold(DEFAULT_LEAVING_OBJECT_SPEED_THRESHOLD); leftBagNode.setDistanceChangeRateThreshold(DEFAULT_DISTANCE_CHANGE_RATE_THRESHOLD); leftBagNode.setSplitMinLimit(DEFAULT_SPLIT_MIN_LIMIT); leftBagNode.setSplitMaxLimit(DEFAULT_SPLIT_MAX_LIMIT); debugMsg("Left Bag Detector Plugin Initialized"); return true; }
void CaptureFile::captureFileEvent(int event, gpointer data) { switch(event) { case(cf_cb_file_opened): cap_file_ = (capture_file *) data; emit captureEvent(CaptureEvent(CaptureEvent::File, CaptureEvent::Opened)); break; case(cf_cb_file_closing): file_state_ = tr(" [closing]"); emit captureEvent(CaptureEvent(CaptureEvent::File, CaptureEvent::Closing)); break; case(cf_cb_file_closed): file_state_ = tr(" [closed]"); emit captureEvent(CaptureEvent(CaptureEvent::File, CaptureEvent::Closed)); cap_file_ = NULL; file_state_ = QString(); break; case(cf_cb_file_read_started): emit captureEvent(CaptureEvent(CaptureEvent::File, CaptureEvent::Started)); break; case(cf_cb_file_read_finished): emit captureEvent(CaptureEvent(CaptureEvent::File, CaptureEvent::Finished)); break; case(cf_cb_file_reload_started): emit captureEvent(CaptureEvent(CaptureEvent::Reload, CaptureEvent::Started)); break; case(cf_cb_file_reload_finished): emit captureEvent(CaptureEvent(CaptureEvent::Reload, CaptureEvent::Finished)); break; case(cf_cb_file_rescan_started): emit captureEvent(CaptureEvent(CaptureEvent::Rescan, CaptureEvent::Started)); break; case(cf_cb_file_rescan_finished): emit captureEvent(CaptureEvent(CaptureEvent::Rescan, CaptureEvent::Finished)); break; case(cf_cb_file_retap_started): emit captureEvent(CaptureEvent(CaptureEvent::Retap, CaptureEvent::Started)); break; case(cf_cb_file_retap_finished): /* Flush any pending tapped packet before emitting captureFileRetapFinished() */ emit captureEvent(CaptureEvent(CaptureEvent::Retap, CaptureEvent::Finished)); emit captureEvent(CaptureEvent(CaptureEvent::Retap, CaptureEvent::Flushed)); break; case(cf_cb_file_merge_started): emit captureEvent(CaptureEvent(CaptureEvent::Merge, CaptureEvent::Started)); break; case(cf_cb_file_merge_finished): emit captureEvent(CaptureEvent(CaptureEvent::Merge, CaptureEvent::Finished)); break; case(cf_cb_file_fast_save_finished): // gtk/main.c calls main_cf_cb_file_rescan_finished. Should we do // the equivalent? break; case(cf_cb_file_save_started): { emit captureEvent(CaptureEvent(CaptureEvent::Save, CaptureEvent::Started, QString((const char *)data))); break; } case(cf_cb_file_save_finished): emit captureEvent(CaptureEvent(CaptureEvent::Save, CaptureEvent::Finished)); break; case(cf_cb_file_save_failed): emit captureEvent(CaptureEvent(CaptureEvent::Save, CaptureEvent::Failed)); break; case(cf_cb_file_save_stopped): emit captureEvent(CaptureEvent(CaptureEvent::Save, CaptureEvent::Stopped)); break; default: qWarning() << "CaptureFile::captureFileCallback: event " << event << " unknown"; Q_ASSERT(false); break; } }