| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
See the removal of gdk_content_provider_new_with_callback() for a
rationale.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Content providers are meant to be immutable, apart from very special
cases, but in those cases they need to emit
gdk_content_provider_content_changed().
Having a constructor that just uses a get_func invites abuse of this
by not making developers aware of those requirments.
In fact, all users in GTK failed to do this.
Instead, code should use the GtkDragSource::prepare signal to create
content providers when needed.
The same problem exists with gdk_content_provider_new_with_formats(),
but this commit doesn't touch that.
|
|
|
|
|
| |
Gets around the boilerplate required to create and initialize a GValue
by having this function doing it via G_VALUE_COLLECT().
|
|
|
|
|
|
| |
The callback-based content providers need a GDestroyNotify function to
free the data passed to them on construction, otherwise they are going
to leak.
|
|
|
|
|
|
| |
This one can be used in cases where data needs
to be served in multiple formats that may not
all be covered by content serializers.
|
|
|
|
|
|
| |
This one is convenient to use in cases where a
drag is just serving an existing GType which
is covered by content serializers.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use a compilation symbol in our build to allow the inclusion of
specific headers while building GTK, to avoid the need to include only
the global header.
Each namespace has its own compilation symbol because we used to have
different libraries, and strict symbol visibility between libraries;
now that we have a single library, and we can use private symbols across
namespaces while building GTK, we should have a single compilation
symbol, and simplify the build rules.
|
|
|
|
|
|
|
| |
Remove all the old 2.x and 3.x version annotations.
GTK+ 4 is a new start, and from the perspective of a
GTK+ 4 developer all these APIs have been around since
the beginning.
|
|
GdkContentProvider is the object that represents local data in the
clipboard.
This patch only introduces the object and adds the clipboard properties,
it does not yet provide a way for the actual implementations to access
it.
The only access that is implemented is the local shortcut GValue access.
|