[gnome-applets/wip/button] windowpicker: use 'clicked' signal in addition to 'button-press-event' signal
- From: Sebastian Geiger <segeiger src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-applets/wip/button] windowpicker: use 'clicked' signal in addition to 'button-press-event' signal
- Date: Tue, 16 Feb 2016 19:37:13 +0000 (UTC)
commit 481beaac0a3ff93be5d6ff862dbdc7aebbfc4ed3
Author: Sebastian Geiger <sbastig gmx net>
Date: Tue Feb 16 20:34:03 2016 +0100
windowpicker: use 'clicked' signal in addition to 'button-press-event' signal
windowpicker/src/wp-task-title.c | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
---
diff --git a/windowpicker/src/wp-task-title.c b/windowpicker/src/wp-task-title.c
index c32d8d1..dabece7 100644
--- a/windowpicker/src/wp-task-title.c
+++ b/windowpicker/src/wp-task-title.c
@@ -91,12 +91,19 @@ button_press_event_cb (GtkButton *button,
GdkEventButton *event,
gpointer user_data)
{
- WpTaskTitle *title;
- const gchar *icon;
-
if (event->button != 1)
return GDK_EVENT_STOP;
+ return GDK_EVENT_PROPAGATE;
+}
+
+static gboolean
+button_clicked_cb (GtkButton *button,
+ gpointer user_data)
+{
+ WpTaskTitle *title;
+ const gchar *icon;
+
title = WP_TASK_TITLE (user_data);
gtk_image_get_icon_name (GTK_IMAGE (title->image), &icon, NULL);
@@ -105,7 +112,6 @@ button_press_event_cb (GtkButton *button,
{
WnckScreen *screen;
WnckWindow *active_window;
- GdkEventButton *event_button;
screen = wnck_screen_get_default ();
active_window = wnck_screen_get_active_window (screen);
@@ -116,10 +122,10 @@ button_press_event_cb (GtkButton *button,
if (title->active_window != active_window)
return FALSE;
- event_button = (GdkEventButton *) event;
-
disconnect_active_window (title);
- wnck_window_close (active_window, event_button->time);
+ wnck_window_close (active_window, gtk_get_current_event_time ());
+
+ return GDK_EVENT_STOP;
}
else if (g_strcmp0 (icon, LOGOUT_ICON) == 0)
{
@@ -127,6 +133,8 @@ button_press_event_cb (GtkButton *button,
g_variant_new ("(u)", 0), G_DBUS_CALL_FLAGS_NONE,
-1, NULL, (GAsyncReadyCallback) logout_ready_callback,
title);
+
+ return GDK_EVENT_STOP;
}
else
{
@@ -547,6 +555,9 @@ wp_task_title_setup_button (WpTaskTitle *title)
gtk_box_pack_start (GTK_BOX (title), title->button, FALSE, FALSE, 0);
gtk_widget_show (title->button);
+ g_signal_connect (title->button, "clicked",
+ G_CALLBACK (button_clicked_cb), title);
+
g_signal_connect (title->button, "button-press-event",
G_CALLBACK (button_press_event_cb), title);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]