Carlos Garnacho
0606b525b4
gtkdnd: Plug a leak
...
We create a cairo_t in order to find out the surface extents, but it
was being leaked, dragging the whole drag surface with it through
extra refs.
2015-06-25 15:09:56 +02:00
Carlos Garnacho
a0e8056848
dnd: Remove emission of fake button release event
...
Nowadays (and for quite some years now) we rely on GdkEventGrabBroken
events to be received. This fake button event seems a remnant of
the early Gtk 2.x days, and is currently even inconsistent with our
event delivery model, so just remove it.
https://bugzilla.gnome.org/show_bug.cgi?id=749737
2015-06-02 17:27:05 +02:00
Matthias Clasen
2a0d5c39d9
dnd: Fix compiler warnings
...
Fix warnings due to -Wdeclaration-after-statement and -Wshadow.
2015-06-02 09:08:15 -04:00
Matthias Clasen
3ae953092a
Don't force an icon window
...
We were inadvertently forcing the use of an icon window
in all cases. This patch makes it so that we once again
use a combined cursor when possible.
2015-05-16 23:55:09 -04:00
Matthias Clasen
0a5e216d42
DND: Move private api to a private header
2015-05-16 17:54:01 -04:00
Matthias Clasen
987da43e71
Remove multi-screen handling in DND code
...
We only have one screen nowadays. No need to carry around
code for handling screen changes.
2015-05-16 17:26:45 -04:00
Carlos Garnacho
cba2ecc0cc
gtkdnd: Restore widget opacity after fading out
...
Otherwise the widget is left fully transparent, and will start as such if
the widget is reused.
2015-03-29 22:57:31 +02:00
Carlos Garnacho
a6cafa1edb
gtkdnd: Set the icon helper from the drag site onto the context
...
If the icon happened to come from the drag site icon helper (ie. set through
gtk_drag_source_set_icon*), it would be referenced on the GtkDragInfo,
but not hooked into its context. This results on non visible drag windows,
until set_icon_helper() happened to be called on some path.
2015-03-29 22:21:19 +02:00
Matthias Clasen
37774928bd
dnd: Introduce a helper to manage the weak pointer
...
Introduce a setter that takes care of updating the weak ref
whenever we assign info->widget. Just a cleanup of the previous patch.
2015-03-22 11:16:29 -04:00
Tom Hughes
e7eaca9534
DND: Clean up weak pointers when they are no longer needed
...
Failure to do so leads to memory corruption down the road.
This was introduced in commit 650c25e06c
.
https://bugzilla.gnome.org/show_bug.cgi?id=746602
2015-03-22 11:16:29 -04:00
Carlos Garnacho
cc780116a2
dnd: Set the parent DnD wayland surface on gtk_drag_set_icon_window()
...
This is a better place to call this, both lets us remove all other calls,
and additionally handles the gtk_drag_set_icon_widget() entry point.
2015-02-19 20:54:25 +01:00
Matthias Clasen
4f1780c782
Robustness fixes for drag cancel animation
...
gtk_widget_get_frame_clock() can return NULL. Deal with that
by silently stopping the drag cancel animation in this case.
2015-01-30 10:13:29 -05:00
Matthias Clasen
c160ba0696
dnd: Allow programmatic drag cancellation
...
Add a gtk_drag_cancel() function that can be used on the
source side to cancel an ongoing drag operation. This can
be useful, e.g. if the data that is being dragged becomes
unavailable.
2015-01-30 09:38:41 -05:00
Matthias Clasen
f2cfe9ed74
dnd: Make dest side safe against destroy
...
Use a weak pointer to clean up when the current drag destination
gets destroyed.
2015-01-30 00:05:33 -05:00
Matthias Clasen
542c824c71
Trivial doc fixes
...
Remove two erroneous quotation marks.
2015-01-24 19:25:50 -05:00
Timm Bäder
9668962da1
gtkdnd: Set the dnd window's screen before its visual
...
This makes dnd icons work for widgets on a !default screen.
https://bugzilla.gnome.org/show_bug.cgi?id=743393
2015-01-24 15:57:46 -05:00
Benjamin Otte
8c534fefca
dnd: Draw dnd icon with regular code
...
Overriding the window background is ugly because the window background
is owned by GTK and can be reset at any time.
https://bugzilla.gnome.org/show_bug.cgi?id=742646
2015-01-20 01:07:13 +01:00
Maks Naumov
9f51d8948f
Fix save_hot_y init in gtk_drag_get_icon()
...
Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
https://bugzilla.gnome.org/show_bug.cgi?id=742786
2015-01-17 16:24:45 -05:00
Javier Jardón
710f332082
configure.ac: Depend on cairo 1.14.0
...
This is needed for cairo_set_device_scale()
2014-11-10 15:12:17 +00:00
Matthias Clasen
e3ef5d6fd2
GtkTooltip: Move nonexported API to a private header
...
This is our standard practice nowadays.
2014-10-19 22:51:21 -04:00
Matthias Clasen
6064fc343e
Drop unused code
...
Not worth keeping this around.
2014-09-12 22:31:25 -04:00
Matthias Clasen
76b1361902
Drop two pointless lines
...
These return statements weren't making any difference.
2014-09-12 22:31:10 -04:00
Matthias Clasen
45369d506b
GtkDnd: Move X11-specific code out of generic code path
...
There was some X11-specific code before an early exit
in the functions that grab and ungrab keys during DND.
It seems to not cause a problem under Wayland, but moving
it out of the way seems right anyway.
2014-09-12 22:31:04 -04:00
Matthias Clasen
fcb69e110b
Remove an unneeded include
2014-09-06 19:03:06 -04:00
Carlos Garnacho
6f538950d4
dnd: Make the drag gesture obey the button mask specified
...
This was forgotten when making DnD use a GtkGesture in the handlers
attached to the widget in gtk_drag_source_set(). The gesture must obey
the specified button mask, and switch to denied state if the pressed
button isn't part of the given mask.
https://bugzilla.gnome.org/show_bug.cgi?id=735965
2014-09-04 14:59:08 +02:00
Carlos Garnacho
14b4e4d35a
gtkdnd: Hardcode the DnD window onto the drag widget window on Wayland
...
This makes the drag widget use the same window surface that was passed
when starting the drag operation.
https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:50:12 +02:00
Matthias Clasen
7bec0939a8
Clean up and unify docs and formatting
2014-08-16 21:40:39 -04:00
Carlos Garnacho
8ca205af5d
dnd: Set explicitly GtkGestureSingle::button to 0 on the drag gesture
...
This gesture handles drags done with any button, so unset the current button=1
default.
https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:39 +02:00
Carlos Garnacho
dd9166c435
dnd: Set drag gesture propagation phase to GTK_PHASE_NONE explicitly
...
This used to rely on the default phase value.
https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:49:39 +02:00
Matthias Clasen
cfec3ba794
Document that the drag icon window will be modified
...
This is in response to the complaint in
https://bugzilla.gnome.org/show_bug.cgi?id=732991
2014-07-11 18:09:47 -04:00
Carlos Garnacho
d05a9f9a7b
gesture: Replace gtk_gesture_attach/detach with event controller API
...
Event controllers now auto-attach, and the GtkCapturePhase only determines
when are events dispatched, but all controllers are managed by the widget wrt
grabs.
All callers have been updated.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
994c94c25b
dnd: Check on the right gesture sequence when starting the drag op
2014-05-23 19:54:29 +02:00
Carlos Garnacho
5369c77029
gesture: Simplify gesture/widget interaction public API
...
The propagation phase property/methods in GtkEventController are gone,
This is now set directly on the GtkWidget add/remove controller API,
which has been made private.
The only public bit now are the new functions gtk_gesture_attach() and
gtk_gesture_detach() that will use the private API underneath.
All callers have been updated.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
040c82f0e8
dnd: Update to gesture widget-level API changes
2014-05-23 19:54:25 +02:00
Carlos Garnacho
b0eef458d1
dnd: Use GtkGestureDrag to initiate DnD
...
This gesture is used by gtk_drag_source_set() to determine
whether dragging moved past the threshold. The gesture events
are handled via the usual ::event callbacks, so we don't mess
up with callers expecting that to happen in a signal handler.
If the sequence gets claimed somewhere else in the event widget
stack, the DnD gesture will be cancelled.
2014-05-23 19:54:24 +02:00
Matthias Clasen
aab1610d40
DND: go back to a timeout for cancel animation
...
Using a tick callback does not really make sense here, since we
are not drawing in a window, but moving a toplevel around.
https://bugzilla.gnome.org/show_bug.cgi?id=728183
2014-04-22 23:45:59 -04:00
Jason Ekstrand
f02663532d
Get rid of a stray character
2014-04-22 22:28:34 -04:00
Matthias Clasen
6193b9b640
csd: Fix drag hightlight drawing
...
When making the entire window a drop target, as file-roller does,
we don't want to draw the drag highlight around the CSD window
decorations.
https://bugzilla.gnome.org/show_bug.cgi?id=728526
Please enter the commit message for your changes. Lines starting
2014-04-22 21:19:21 -04:00
Bastien Nocera
f71f7215ab
all: Name more idles and timeouts
...
Following up from 438cd857c4
,
name more timeouts and idles.
The original grep was missing checking for gdk_threads_add_*()
functions (at least for some of the files).
https://bugzilla.gnome.org/show_bug.cgi?id=726870
2014-03-26 20:09:30 -04:00
William Jon McCann
469d333aa2
docs: use Returns: consistently
...
Instead of Return value:
2014-02-19 18:56:05 -05:00
Matthias Clasen
7f6a964c47
Docs: Remove all entities and turn off sgml mode
...
With all element markup gone, it is time to turn off
sgml mode, and get rid of entities as well.
2014-02-09 17:58:07 -05:00
William Jon McCann
fa3f1e1488
docs: use apostrophe in *'ve
2014-02-07 13:38:26 -05:00
William Jon McCann
e34bd4137d
docs: use apostrophes in *n't
2014-02-07 13:32:47 -05:00
William Jon McCann
7a208fbbf3
docs: use proper apostrophe
...
https://wiki.gnome.org/Design/OS/Typography
2014-02-07 13:06:10 -05:00
William Jon McCann
0ce016650b
docs: Use markup for links
2014-02-07 09:42:12 -05:00
William Jon McCann
2a45418b67
docs: use proper quotes
2014-02-05 15:08:42 -05:00
William Jon McCann
4c8bd8e7cf
docs: Identify examples that are C code
...
https://bugzilla.gnome.org/show_bug.cgi?id=723119
2014-01-29 12:45:49 -05:00
Matthias Clasen
e1d9974537
Drop internal uses of gtk_widget_get_root_window
...
This function is just a one-line convenience function that
is about to be deprecated.
2014-01-24 20:16:33 -05:00
William Jon McCann
93138e96c1
docs: don't reference nonexisting type in docs
2014-01-21 23:20:38 -05:00
William Jon McCann
7eb8577e3e
docs: fix selections documentation link
2014-01-21 18:57:40 -05:00