Exemplo n.º 1
0
static void
gwy_app_file_chooser_type_changed(GwyAppFileChooser *chooser,
                                  GtkTreeSelection *selection)
{
    GtkTreeModel *model;
    GtkTreeIter iter;
    gboolean active = FALSE;
    gchar *key;

    if (!gtk_tree_selection_get_selected(selection, &model, &iter))
        return;
    g_free(chooser->filetype);
    gtk_tree_model_get(model, &iter, COLUMN_FILETYPE, &chooser->filetype, -1);
    gwy_app_file_chooser_update_expander(chooser);

    /* XXX: Reset filter and set it again.  There is no way to notify the
     * file chooser dialog the filter has changed. */
    key = g_strconcat(chooser->prefix, "/filter", NULL);
    gwy_container_gis_boolean_by_name(gwy_app_settings_get(), key, &active);
    g_free(key);

    if (active) {
        gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(chooser),
                                    chooser->no_filter);
        gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(chooser),
                                    chooser->filter);
    }
}
Exemplo n.º 2
0
static void
gwy_app_file_chooser_type_changed(GwyAppFileChooser *chooser,
                                  GtkTreeSelection *selection)
{
    GtkTreeModel *model;
    GtkTreeIter iter;

    if (!gtk_tree_selection_get_selected(selection, &model, &iter))
        return;
    g_free(chooser->filetype);
    gtk_tree_model_get(model, &iter, COLUMN_FILETYPE, &chooser->filetype, -1);
    gwy_app_file_chooser_update_expander(chooser);
}
Exemplo n.º 3
0
static void
gwy_app_file_chooser_filter_toggled(GwyAppFileChooser *chooser,
                                    GtkToggleButton *check)
{
    gboolean active;
    gchar *key;

    active = gtk_toggle_button_get_active(check);
    gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(chooser),
                                active ? chooser->filter : chooser->no_filter);
    key = g_strconcat(chooser->prefix, "/filter", NULL);
    gwy_container_set_boolean_by_name(gwy_app_settings_get(), key, active);
    g_free(key);
    gwy_app_file_chooser_update_expander(chooser);
}