aboutsummaryrefslogtreecommitdiffstats
path: root/lib/egg/eggstatusicon.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2004-04-17 06:32:22 +0800
committerMarco Pesenti Gritti <marco@src.gnome.org>2004-04-17 06:32:22 +0800
commitbacfe4d52721a0ececa736c3f8d3d9aa4d90b71a (patch)
tree0132bdb0474a24680fc0657256874d347b585fc0 /lib/egg/eggstatusicon.c
parent89b04928135f31570ed73da6c440f6bef674e901 (diff)
downloadgsoc2013-epiphany-bacfe4d52721a0ececa736c3f8d3d9aa4d90b71a.tar
gsoc2013-epiphany-bacfe4d52721a0ececa736c3f8d3d9aa4d90b71a.tar.gz
gsoc2013-epiphany-bacfe4d52721a0ececa736c3f8d3d9aa4d90b71a.tar.bz2
gsoc2013-epiphany-bacfe4d52721a0ececa736c3f8d3d9aa4d90b71a.tar.lz
gsoc2013-epiphany-bacfe4d52721a0ececa736c3f8d3d9aa4d90b71a.tar.xz
gsoc2013-epiphany-bacfe4d52721a0ececa736c3f8d3d9aa4d90b71a.tar.zst
gsoc2013-epiphany-bacfe4d52721a0ececa736c3f8d3d9aa4d90b71a.zip
Resync with egg
2004-04-17 Marco Pesenti Gritti <marco@gnome.org> * lib/egg/Makefile.am: * lib/egg/egg-editable-toolbar.c: (set_drag_cursor): * lib/egg/egg-toolbar-editor.c: (set_drag_cursor): * lib/egg/eggstatusicon.c: (egg_status_icon_init), (egg_status_icon_button_press), (egg_status_icon_button_release): Resync with egg
Diffstat (limited to 'lib/egg/eggstatusicon.c')
-rw-r--r--lib/egg/eggstatusicon.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/egg/eggstatusicon.c b/lib/egg/eggstatusicon.c
index 1893d4459..72dcef518 100644
--- a/lib/egg/eggstatusicon.c
+++ b/lib/egg/eggstatusicon.c
@@ -80,6 +80,7 @@ struct _EggStatusIconPrivate
guint blinking : 1;
guint blink_off : 1;
+ guint button_down : 1;
};
static void egg_status_icon_class_init (EggStatusIconClass *klass);
@@ -99,6 +100,8 @@ static void egg_status_icon_size_allocate (EggStatusIcon *status_icon,
GtkAllocation *allocation);
static gboolean egg_status_icon_button_press (EggStatusIcon *status_icon,
GdkEventButton *event);
+static gboolean egg_status_icon_button_release (EggStatusIcon *status_icon,
+ GdkEventButton *event);
static void egg_status_icon_disable_blinking (EggStatusIcon *status_icon);
static void egg_status_icon_reset_image_data (EggStatusIcon *status_icon);
@@ -256,6 +259,8 @@ egg_status_icon_init (EggStatusIcon *status_icon)
g_signal_connect_swapped (status_icon->priv->tray_icon, "button-press-event",
G_CALLBACK (egg_status_icon_button_press), status_icon);
+ g_signal_connect_swapped (status_icon->priv->tray_icon, "button-release-event",
+ G_CALLBACK (egg_status_icon_button_release), status_icon);
status_icon->priv->image = gtk_image_new ();
gtk_container_add (GTK_CONTAINER (status_icon->priv->tray_icon),
@@ -558,8 +563,22 @@ static gboolean
egg_status_icon_button_press (EggStatusIcon *status_icon,
GdkEventButton *event)
{
- if (event->button == 1 && event->type == GDK_2BUTTON_PRESS)
+ if (event->button == 1 && !status_icon->priv->button_down)
+ {
+ status_icon->priv->button_down = TRUE;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static gboolean
+egg_status_icon_button_release (EggStatusIcon *status_icon,
+ GdkEventButton *event)
+{
+ if (event->button == 1 && status_icon->priv->button_down)
{
+ status_icon->priv->button_down = FALSE;
emit_activate_signal (status_icon);
return TRUE;
}