diff options
author | Javier <dev.git@javispedro.com> | 2015-01-24 02:55:02 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2015-01-24 02:55:02 +0100 |
commit | ea8f779f7342d749a116ae5ae697c3af72f42c13 (patch) | |
tree | 772f8ab28b609a2b3b1319593758d44838432314 /libmdock/mdock-item.c | |
parent | 2dab0a52f5e34602abc90ae1c37efa2eeb2948d7 (diff) | |
download | mdock-ea8f779f7342d749a116ae5ae697c3af72f42c13.tar.gz mdock-ea8f779f7342d749a116ae5ae697c3af72f42c13.zip |
drag and drop
Diffstat (limited to 'libmdock/mdock-item.c')
-rw-r--r-- | libmdock/mdock-item.c | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/libmdock/mdock-item.c b/libmdock/mdock-item.c index 2399e19..a9d9ad0 100644 --- a/libmdock/mdock-item.c +++ b/libmdock/mdock-item.c @@ -170,6 +170,24 @@ static gboolean mdock_item_button_press(GtkWidget *widget, GdkEventButton *event MDockItem *self = MDOCK_ITEM(widget); switch (event->button) { case 1: + // Will activate item during release. + break; + + case 3: + gtk_menu_popup(self->priv->right_menu, + NULL, NULL, NULL, NULL, + event->button, event->time); + break; + } + + return TRUE; +} + +static gboolean mdock_item_button_release(GtkWidget *widget, GdkEventButton *event) +{ + MDockItem *self = MDOCK_ITEM(widget); + switch (event->button) { + case 1: if (self->priv->windows) { // This item has one window at least if (self->priv->windows->next) { @@ -209,13 +227,10 @@ static gboolean mdock_item_button_press(GtkWidget *widget, GdkEventButton *event } else { g_warning("A MDockItem has no windows and no appinfo to launch"); } - break; case 3: - gtk_menu_popup(self->priv->right_menu, - NULL, NULL, NULL, NULL, - event->button, event->time); + // Popup menu shown during press break; } @@ -353,6 +368,7 @@ mdock_item_class_init(MDockItemClass *klass) widget_class->size_request = mdock_item_size_request; widget_class->size_allocate = mdock_item_size_allocate; widget_class->button_press_event = mdock_item_button_press; + widget_class->button_release_event = mdock_item_button_release; widget_class->expose_event = mdock_item_expose; obj_properties[PROP_PINNED] = g_param_spec_boolean("pinned", @@ -437,6 +453,11 @@ void mdock_item_launch(MDockItem *self) } } +GdkPixbuf *mdock_item_get_icon_pixbuf(MDockItem *self) +{ + return self->priv->icon; +} + void mdock_item_add_window(MDockItem *self, WnckWindow *window) { thumbnailer_enable_for_window(window); |