mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-05 16:20:10 +00:00
Add a DropState enum to the internal state of the sidebar
We want to show a little animation when a DnD operation is happening and the user hovers between existing bookmarks. The animation should indicate the user that he's about to create a new bookmark from the file right there. Signed-off-by: Federico Mena Quintero <federico@gnome.org>
This commit is contained in:
parent
9f0ee69552
commit
7d52dff5ec
@ -108,6 +108,26 @@
|
||||
|
||||
#define DO_NOT_COMPILE 0
|
||||
|
||||
/* These are used when a destination-side DnD operation is taking place.
|
||||
* Normally, when a file is being hovered directly over a bookmark,
|
||||
* we'll be in DROP_STATE_NORMAL.
|
||||
*
|
||||
* But when a file is being hovered between bookmarks, this means the user
|
||||
* may want to create a new bookmark for that file between those bookmarks.
|
||||
* In that case, the drop state will be *not* DROP_STATE_NORMAL.
|
||||
*
|
||||
* When the drop state is FADING_OUT, it means that the user is hovering
|
||||
* directly over an existing bookmark and an immediate drop will cause the
|
||||
* file being dragged to be dropped on the bookmark, instead of causing
|
||||
* a new bookmark to be created.
|
||||
*/
|
||||
typedef enum {
|
||||
DROP_STATE_NORMAL,
|
||||
DROP_STATE_NEW_BOOKMARK_FADING_IN,
|
||||
DROP_STATE_NEW_BOOKMARK_ARMED,
|
||||
DROP_STATE_NEW_BOOKMARK_FADING_OUT
|
||||
} DropState;
|
||||
|
||||
struct _GtkPlacesSidebar {
|
||||
GtkScrolledWindow parent;
|
||||
|
||||
@ -143,6 +163,9 @@ struct _GtkPlacesSidebar {
|
||||
|
||||
GtkPlacesOpenFlags open_flags;
|
||||
|
||||
DropState drop_state;
|
||||
int new_bookmark_index;
|
||||
|
||||
guint show_desktop : 1;
|
||||
};
|
||||
|
||||
@ -3588,6 +3611,9 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar)
|
||||
sidebar->hostnamed_cancellable,
|
||||
hostname_proxy_new_cb,
|
||||
g_object_ref (sidebar));
|
||||
|
||||
sidebar->drop_state = DROP_STATE_NORMAL;
|
||||
sidebar->new_bookmark_index = -1;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user