void CaptureFilterEdit::removeFilter() { QAction *ra = qobject_cast<QAction*>(sender()); if (!ra || ra->data().toString().isEmpty()) return; QString remove_filter = ra->data().toString(); for (GList *cf_item = get_filter_list_first(CFILTER_LIST); cf_item; cf_item = g_list_next(cf_item)) { if (!cf_item->data) continue; filter_def *cf_def = (filter_def *) cf_item->data; if (!cf_def->name || !cf_def->strval) continue; if (remove_filter.compare(cf_def->strval) == 0) { remove_from_filter_list(CFILTER_LIST, cf_item); } } char *f_path; int f_save_errno; save_filter_list(CFILTER_LIST, &f_path, &f_save_errno); if (f_path != NULL) { // We had an error saving the filter. QString warning_title = tr("Unable to save capture filter settings."); QString warning_msg = tr("Could not save to your capture filter file\n\"%1\": %2.").arg(f_path).arg(g_strerror(f_save_errno)); QMessageBox::warning(this, warning_title, warning_msg, QMessageBox::Ok); g_free(f_path); } updateBookmarkMenu(); }
void FilterDialog::on_buttonBox_accepted() { filter_list_type_t fl_type = filter_type_ == CaptureFilter ? CFILTER_LIST : DFILTER_LIST; while (GList *fl_item = get_filter_list_first(fl_type)) { remove_from_filter_list(fl_type, fl_item); } QTreeWidgetItemIterator it(ui->filterTreeWidget); while (*it) { add_to_filter_list(fl_type, (*it)->text(name_col_).toUtf8().constData(), (*it)->text(filter_col_).toUtf8().constData()); ++it; } char *pf_dir_path; char *f_path; int f_save_errno; /* Create the directory that holds personal configuration files, if necessary. */ if (create_persconffile_dir(&pf_dir_path) == -1) { QMessageBox::warning(this, tr("Unable to create profile directory."), tr("Unable to create directory\n\"%1\"\nfor filter files: %2.") .arg(pf_dir_path) .arg(g_strerror(errno)), QMessageBox::Ok); g_free(pf_dir_path); return; } save_filter_list(fl_type, &f_path, &f_save_errno); if (f_path != NULL) { /* We had an error saving the filter. */ QString warning_title; QString warning_msg; if (fl_type == CFILTER_LIST) { warning_title = tr("Unable to save capture filter settings."); warning_msg = tr("Could not save to your capture filter file\n\"%1\": %2.") .arg(f_path).arg(g_strerror(f_save_errno)); } else { warning_title = tr("Unable to save display filter settings."); warning_msg = tr("Could not save to your display filter file\n\"%1\": %2.") .arg(f_path).arg(g_strerror(f_save_errno)); } QMessageBox::warning(this, warning_title, warning_msg, QMessageBox::Ok); g_free(f_path); } if (filter_type_ == CaptureFilter) { wsApp->emitAppSignal(WiresharkApplication::CaptureFilterListChanged); } else { wsApp->emitAppSignal(WiresharkApplication::DisplayFilterListChanged); } }
void CaptureFilterEdit::removeFilter() { QAction *ra = qobject_cast<QAction*>(sender()); if (!ra || ra->data().toString().isEmpty()) return; QString remove_filter = ra->data().toString(); for (GList *cf_item = get_filter_list_first(CFILTER_LIST); cf_item; cf_item = g_list_next(cf_item)) { if (!cf_item->data) continue; filter_def *cf_def = (filter_def *) cf_item->data; if (!cf_def->name || !cf_def->strval) continue; if (remove_filter.compare(cf_def->strval) == 0) { remove_from_filter_list(CFILTER_LIST, cf_item); } } save_filter_list(CFILTER_LIST); updateBookmarkMenu(); }