Exemple #1
0
int
clip_GTK_FILEFILTERADDPATTERN(ClipMachine * cm)
{
        C_object  *cfilter = _fetch_co_arg(cm);
        gchar     *pattern = _clip_parc(cm, 2);

	CHECKCOBJ(cfilter, GTK_IS_FILE_FILTER(cfilter->object));
        CHECKARG(2, CHARACTER_t);

	gtk_file_filter_add_pattern(GTK_FILE_FILTER(cfilter->object), pattern);

	return 0;
err:
	return 1;
}
Exemple #2
0
/**
 * egg_icon_chooser_remove_custom_filter:
 * @chooser: the chooser to modify.
 * @filter: the filter to remove.
 *
 * Removes @filter from the custom group in @chooser.
 *
 * Since: 2.6
 **/
void
egg_icon_chooser_remove_custom_filter (EggIconChooser *chooser,
					GtkFileFilter   *filter)
{
  EggIconChooserIface *iface;

  g_return_if_fail (EGG_IS_ICON_CHOOSER (chooser));
  g_return_if_fail (GTK_IS_FILE_FILTER (filter));

  iface = EGG_ICON_CHOOSER_GET_IFACE (chooser);

  g_return_if_fail (iface->remove_filter != NULL);

  (*iface->remove_filter) (chooser, filter);
}
Exemple #3
0
int
clip_GTK_FILECHOOSERSETFILTER(ClipMachine * ClipMachineMemory)
{
   C_object *cchooser = _fetch_co_arg(ClipMachineMemory);

   C_object *cfilter = _fetch_cobject(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   CHECKCOBJ(cchooser, GTK_IS_FILE_CHOOSER(cchooser->object));
   CHECKCOBJ(cfilter, GTK_IS_FILE_FILTER(cfilter->object));

   gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(cchooser->object), GTK_FILE_FILTER(cfilter->object));

   return 0;
 err:
   return 1;
}
Exemple #4
0
int
clip_GTK_FILEFILTERGETNAME(ClipMachine * cm)
{
        C_object  *cfilter = _fetch_co_arg(cm);
        gchar        *name ;

	CHECKCOBJ(cfilter, GTK_IS_FILE_FILTER(cfilter->object));

	name = (gchar *)gtk_file_filter_get_name(GTK_FILE_FILTER(cfilter->object));
	LOCALE_FROM_UTF(name);
        _clip_retc(cm, name);
        FREE_TEXT(name);

	return 0;
err:
	return 1;
}
Exemple #5
0
int
clip_GTK_FILEFILTERSETNAME(ClipMachine * cm)
{
        C_object  *cfilter = _fetch_co_arg(cm);
        gchar        *name = _clip_parc(cm, 2);

	CHECKCOBJ(cfilter, GTK_IS_FILE_FILTER(cfilter->object));
        CHECKARG(2, CHARACTER_t);

	LOCALE_TO_UTF(name);
	gtk_file_filter_set_name(GTK_FILE_FILTER(cfilter->object), name);
        FREE_TEXT(name);

	return 0;
err:
	return 1;
}
Exemple #6
0
int
clip_GTK_FILEFILTERFILTER(ClipMachine * cm)
{
        C_object  *cfilter = _fetch_co_arg(cm);
        ClipVar        *cv = _clip_spar(cm, 2);
        GtkFileFilterInfo info;

	CHECKCOBJ(cfilter, GTK_IS_FILE_FILTER(cfilter->object));
        CHECKARG(2, MAP_t);

	_map_to_file_filter_info(cm, cv, &info);
	_clip_retl(cm, gtk_file_filter_filter(GTK_FILE_FILTER(cfilter->object), &info));

	return 0;
err:
	return 1;
}
Exemple #7
0
void
gnac_ui_on_filter_changed(GtkWidget   *file_chooser,
                          GtkComboBox *combo)
{
  GtkTreeIter iter;
  if (!gtk_combo_box_get_active_iter(combo, &iter)) return;

  GtkTreeModel *model = gtk_combo_box_get_model(combo);
  g_return_if_fail(model);

  gpointer filter;
  gtk_tree_model_get(model, &iter, 0, &filter, -1);
  if (GTK_IS_FILE_FILTER(filter)) {
    gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(file_chooser),
        GTK_FILE_FILTER(filter));
  }
}
Exemple #8
0
int
clip_GTK_FILEFILTERADDCUSTOM(ClipMachine * cm)
{
        C_object  *cfilter = _fetch_co_arg(cm);
        GtkFileFilterFlags flags = _clip_parni(cm, 2);
        ClipVar      *func = _clip_spar(cm, 3);
        C_var           *c = 0;

	CHECKCOBJ(cfilter, GTK_IS_FILE_FILTER(cfilter->object));
        CHECKARG(2, NUMERIC_t); CHECKOPT2(3, PCODE_t, CCODE_t);

	c->cm = cm; c->co = cfilter; _clip_mclone(cm, &c->cfunc, func);
	gtk_file_filter_add_custom(GTK_FILE_FILTER(cfilter->object),
		flags, (GtkFileFilterFunc)_file_filter_func, c, NULL);

	return 0;
err:
	return 1;
}
Exemple #9
0
static gboolean runFileChooserCbNoMultiselAcceptTypes(WebKitWebView* webview, WebKitFileChooserRequest* request, gpointer data)
{
    g_assert(!webkit_file_chooser_request_get_select_multiple(request));

    const gchar* const* mimeTypes = webkit_file_chooser_request_get_mime_types(request);
    g_assert(mimeTypes);
    g_assert_cmpstr(mimeTypes[0], ==, "audio/*");
    g_assert_cmpstr(mimeTypes[1], ==, "video/*");
    g_assert_cmpstr(mimeTypes[2], ==, "image/*");
    g_assert(!mimeTypes[3]);

    GtkFileFilter* filter = webkit_file_chooser_request_get_mime_types_filter(request);
    g_assert(GTK_IS_FILE_FILTER(filter));
    g_assert(checkMimeTypeForFilter(filter, "audio/*"));
    g_assert(checkMimeTypeForFilter(filter, "video/*"));
    g_assert(checkMimeTypeForFilter(filter, "image/*"));

    const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request);
    g_assert(!selectedFiles);

    g_main_loop_quit(loop);
    return TRUE;
}