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);
}