diff options
author | Matthias Clasen <mclasen@redhat.com> | 2007-04-28 15:34:39 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2007-04-28 15:34:39 +0000 |
commit | 065d1560e603642e5dc5cfd094d31f28d941bbb8 (patch) | |
tree | f07198851a27471f50e1a2b0478587e02d5aa130 | |
parent | 2dcdcfe4df5fa93ebb202a0fa2e61a5a8535b4cd (diff) | |
download | gtk+-065d1560e603642e5dc5cfd094d31f28d941bbb8.tar.gz |
Add GTK_TARGET_OTHER_{APP,WIDGET} to restrict drags within an
2007-04-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdnd.[hc]: Add GTK_TARGET_OTHER_{APP,WIDGET} to
restrict drags within an application/widget. (#163141,
Jorn Baayen)
svn path=/trunk/; revision=17676
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | docs/reference/ChangeLog | 4 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkdnd.sgml | 6 | ||||
-rw-r--r-- | gtk/gtkdnd.c | 4 | ||||
-rw-r--r-- | gtk/gtkdnd.h | 4 |
5 files changed, 22 insertions, 2 deletions
@@ -1,5 +1,11 @@ 2007-04-28 Matthias Clasen <mclasen@redhat.com> + * gtk/gtkdnd.[hc]: Add GTK_TARGET_OTHER_{APP,WIDGET} to + restrict drags within an application/widget. (#163141, + Jorn Baayen) + +2007-04-28 Matthias Clasen <mclasen@redhat.com> + * docs/tools/Makefile.am: * gtk/Makefile.am: Make make clean clean. (#410160, Tommi Komulainen) diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index f4bbd1553d..65d951a117 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,7 @@ +2007-04-28 Matthias Clasen <mclasen@redhat.com> + + * gtk/tmpl/gtkdnd.sgml: Document GTK_TARGET_OTHER_* + 2007-04-26 Matthias Clasen <mclasen@redhat.com> * gtk/tmpl/gtkcomboboxentry.sgml: Mention that the entry diff --git a/docs/reference/gtk/tmpl/gtkdnd.sgml b/docs/reference/gtk/tmpl/gtkdnd.sgml index 91aa05f8ce..f804becdc9 100644 --- a/docs/reference/gtk/tmpl/gtkdnd.sgml +++ b/docs/reference/gtk/tmpl/gtkdnd.sgml @@ -69,6 +69,12 @@ constraints on an entry in a #GtkTargetTable. @GTK_TARGET_SAME_WIDGET: If this is set, the target will only be selected for drags within a single widget. +@GTK_TARGET_OTHER_APP: + If this is set, the target will not be selected + for drags within a single application. Since 2.12 +@GTK_TARGET_OTHER_WIDGET: + If this is set, the target will not be selected + for drags withing a single widget. Since 2.12 <!-- ##### FUNCTION gtk_drag_dest_set ##### --> <para> diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index e227b69477..31d1d9233e 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -1520,7 +1520,9 @@ gtk_drag_dest_find_target (GtkWidget *widget, if (tmp_source->data == GUINT_TO_POINTER (pair->target)) { if ((!(pair->flags & GTK_TARGET_SAME_APP) || source_widget) && - (!(pair->flags & GTK_TARGET_SAME_WIDGET) || (source_widget == widget))) + (!(pair->flags & GTK_TARGET_SAME_WIDGET) || (source_widget == widget)) && + (!(pair->flags & GTK_TARGET_OTHER_APP) || !source_widget) && + (!(pair->flags & GTK_TARGET_OTHER_WIDGET) || (source_widget != widget))) return pair->target; else break; diff --git a/gtk/gtkdnd.h b/gtk/gtkdnd.h index 626ef00597..f9119060b5 100644 --- a/gtk/gtkdnd.h +++ b/gtk/gtkdnd.h @@ -46,7 +46,9 @@ typedef enum { */ typedef enum { GTK_TARGET_SAME_APP = 1 << 0, /*< nick=same-app >*/ - GTK_TARGET_SAME_WIDGET = 1 << 1 /*< nick=same-widget >*/ + GTK_TARGET_SAME_WIDGET = 1 << 1, /*< nick=same-widget >*/ + GTK_TARGET_OTHER_APP = 1 << 2, /*< nick=other-app >*/ + GTK_TARGET_OTHER_WIDGET = 1 << 3 /*< nick=other-widget >*/ } GtkTargetFlags; /* Destination side */ |