void ColoringRulesDialog::on_buttonBox_clicked(QAbstractButton *button) { if (button == import_button_) { QString file_name = QFileDialog::getOpenFileName(this, wsApp->windowTitleString(tr("Import Coloring Rules")), wsApp->lastOpenDir().path()); gchar* err_msg = NULL; if (!color_filters_import(file_name.toUtf8().constData(), this, &err_msg, color_filter_add_cb)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_msg); g_free(err_msg); } } else if (button == export_button_) { int num_items = ui->coloringRulesTreeWidget->selectedItems().count(); if (num_items < 1) { num_items = ui->coloringRulesTreeWidget->topLevelItemCount(); } if (num_items < 1) return; QString caption = wsApp->windowTitleString(tr("Export %1 Coloring Rules").arg(num_items)); QString file_name = QFileDialog::getSaveFileName(this, caption, wsApp->lastOpenDir().path()); if (!file_name.isEmpty()) { GSList *cfl = createColorFilterList(); gchar* err_msg = NULL; if (!color_filters_export(file_name.toUtf8().constData(), cfl, FALSE, &err_msg)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_msg); g_free(err_msg); } color_filter_list_delete(&cfl); } } }
/* Initialize the filter structures (reading from file) for general running, including app startup */ void color_filters_init(void) { /* delete all currently existing filters */ color_filter_list_delete(&color_filter_list); /* start the list with the temporary colorizing rules */ color_filters_add_tmp(&color_filter_list); /* try to read the users filters */ if (!read_users_filters(&color_filter_list)) /* if that failed, try to read the global filters */ color_filters_read_globals(&color_filter_list); }
void ColoringRulesDialog::on_buttonBox_accepted() { GSList *cfl = createColorFilterList(); if (prefs.unknown_colorfilters) { QMessageBox mb; mb.setText(tr("Your coloring rules file contains unknown rules")); mb.setInformativeText(tr("Wireshark doesn't recognize one or more of your coloring rules. " "Saving will discard them.")); mb.setStandardButtons(QMessageBox::Save | QMessageBox::Cancel); mb.setDefaultButton(QMessageBox::Save); int result = mb.exec(); if (result != QMessageBox::Save) return; } color_filters_apply(conversation_colors_, cfl); if (!color_filters_write(cfl)) { QMessageBox::warning(this, tr("Unable to save coloring rules"), g_strerror(errno)); } color_filter_list_delete(&cfl); }
void ColoringRulesDialog::on_buttonBox_accepted() { GSList *cfl = createColorFilterList(); gchar* err_msg = NULL; if (prefs.unknown_colorfilters) { QMessageBox mb; mb.setText(tr("Your coloring rules file contains unknown rules")); mb.setInformativeText(tr("Wireshark doesn't recognize one or more of your coloring rules. " "They have been disabled.")); mb.setStandardButtons(QMessageBox::Ok); int result = mb.exec(); if (result != QMessageBox::Save) return; } if (!color_filters_apply(conversation_colors_, cfl, &err_msg)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_msg); g_free(err_msg); } if (!color_filters_write(cfl, &err_msg)) { QMessageBox::warning(this, tr("Unable to save coloring rules: %s"), g_strerror(errno)); g_free(err_msg); } color_filter_list_delete(&cfl); }
/* Initialize the filter structures (reading from file) for general running, including app startup */ gboolean color_filters_init(gchar** err_msg, color_filter_add_cb_func add_cb) { /* delete all currently existing filters */ color_filter_list_delete(&color_filter_list); /* start the list with the temporary colorizing rules */ color_filters_add_tmp(&color_filter_list); /* try to read the users filters */ if (!read_users_filters(&color_filter_list, err_msg, add_cb)) { gchar* local_err_msg = NULL; /* if that failed, try to read the global filters */ if (!color_filters_read_globals(&color_filter_list, &local_err_msg, add_cb)) { /* Show the first error */ g_free(local_err_msg); } return (*err_msg == NULL); } return TRUE; }
ColoringRulesDialog::~ColoringRulesDialog() { delete ui; color_filter_list_delete(&conversation_colors_); }
void color_filters_cleanup(void) { /* delete the previously deleted filters */ color_filter_list_delete(&color_filter_deleted_list); }