forked from AuroraMiddleware/gtk
gdk: Add gdk_content_formats_new_for_gtype()
Many places create formats for a single tpye, so make it easy for them to get this without having to create a builder first.
This commit is contained in:
parent
cc07800570
commit
4e06aaeaa8
@ -372,6 +372,7 @@ gdk_intern_mime_type
|
|||||||
<SUBSECTION>
|
<SUBSECTION>
|
||||||
GdkContentFormats
|
GdkContentFormats
|
||||||
gdk_content_formats_new
|
gdk_content_formats_new
|
||||||
|
gdk_content_formats_new_for_gtype
|
||||||
gdk_content_formats_ref
|
gdk_content_formats_ref
|
||||||
gdk_content_formats_unref
|
gdk_content_formats_unref
|
||||||
gdk_content_formats_print
|
gdk_content_formats_print
|
||||||
|
@ -137,9 +137,9 @@ gdk_content_formats_new_take (GType * gtypes,
|
|||||||
*
|
*
|
||||||
* Creates a new #GdkContentFormats from an array of mime types.
|
* Creates a new #GdkContentFormats from an array of mime types.
|
||||||
*
|
*
|
||||||
* The mime types must be different or the behavior of the return value
|
* The mime types must be valid and different from each other or the
|
||||||
* is undefined. If you cannot guarantee this, use #GdkContentFormatsBuilder
|
* behavior of the return value is undefined. If you cannot guarantee
|
||||||
* instead.
|
* this, use #GdkContentFormatsBuilder instead.
|
||||||
*
|
*
|
||||||
* Returns: (transfer full): the new #GdkContentFormats.
|
* Returns: (transfer full): the new #GdkContentFormats.
|
||||||
**/
|
**/
|
||||||
@ -161,6 +161,28 @@ gdk_content_formats_new (const char **mime_types,
|
|||||||
return gdk_content_formats_new_take (NULL, 0, (const char **) g_ptr_array_free (array, FALSE), n_mime_types);
|
return gdk_content_formats_new_take (NULL, 0, (const char **) g_ptr_array_free (array, FALSE), n_mime_types);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gdk_content_formats_new_for_gtype:
|
||||||
|
* @type: a $GType
|
||||||
|
*
|
||||||
|
* Creates a new #GdkContentFormats for a given #GType.
|
||||||
|
*
|
||||||
|
* Returns: a new #GdkContentFormats
|
||||||
|
**/
|
||||||
|
GdkContentFormats *
|
||||||
|
gdk_content_formats_new_for_gtype (GType type)
|
||||||
|
{
|
||||||
|
GType *data;
|
||||||
|
|
||||||
|
g_return_val_if_fail (type != G_TYPE_INVALID, NULL);
|
||||||
|
|
||||||
|
data = g_new (GType, 2);
|
||||||
|
data[0] = type;
|
||||||
|
data[1] = G_TYPE_INVALID;
|
||||||
|
|
||||||
|
return gdk_content_formats_new_take (data, 1, NULL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gdk_content_formats_ref:
|
* gdk_content_formats_ref:
|
||||||
* @formats: a #GdkContentFormats
|
* @formats: a #GdkContentFormats
|
||||||
|
@ -39,6 +39,8 @@ GDK_AVAILABLE_IN_3_94
|
|||||||
GdkContentFormats * gdk_content_formats_new (const char **mime_types,
|
GdkContentFormats * gdk_content_formats_new (const char **mime_types,
|
||||||
guint n_mime_types);
|
guint n_mime_types);
|
||||||
GDK_AVAILABLE_IN_3_94
|
GDK_AVAILABLE_IN_3_94
|
||||||
|
GdkContentFormats * gdk_content_formats_new_for_gtype (GType type);
|
||||||
|
GDK_AVAILABLE_IN_3_94
|
||||||
GdkContentFormats * gdk_content_formats_ref (GdkContentFormats *formats);
|
GdkContentFormats * gdk_content_formats_ref (GdkContentFormats *formats);
|
||||||
GDK_AVAILABLE_IN_3_94
|
GDK_AVAILABLE_IN_3_94
|
||||||
void gdk_content_formats_unref (GdkContentFormats *formats);
|
void gdk_content_formats_unref (GdkContentFormats *formats);
|
||||||
|
@ -64,11 +64,8 @@ static GdkContentFormats *
|
|||||||
gdk_content_provider_value_ref_formats (GdkContentProvider *provider)
|
gdk_content_provider_value_ref_formats (GdkContentProvider *provider)
|
||||||
{
|
{
|
||||||
GdkContentProviderValue *content = GDK_CONTENT_PROVIDER_VALUE (provider);
|
GdkContentProviderValue *content = GDK_CONTENT_PROVIDER_VALUE (provider);
|
||||||
GdkContentFormatsBuilder *builder;
|
|
||||||
|
|
||||||
builder = gdk_content_formats_builder_new ();
|
return gdk_content_formats_new_for_gtype (G_VALUE_TYPE (&content->value));
|
||||||
gdk_content_formats_builder_add_gtype (builder, G_VALUE_TYPE (&content->value));
|
|
||||||
return gdk_content_formats_builder_free (builder);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
Loading…
Reference in New Issue
Block a user