コード例 #1
0
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);
        }
    }
}
コード例 #2
0
/* 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);
}
コード例 #3
0
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);
}
コード例 #4
0
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);
}
コード例 #5
0
ファイル: color_filters.c プロジェクト: crondaemon/wireshark
/* 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;
}
コード例 #6
0
ColoringRulesDialog::~ColoringRulesDialog()
{
    delete ui;
    color_filter_list_delete(&conversation_colors_);
}
コード例 #7
0
void
color_filters_cleanup(void)
{
    /* delete the previously deleted filters */
    color_filter_list_delete(&color_filter_deleted_list);
}