shell: Make the mouse back button go to the homepage
https://bugzilla.gnome.org/show_bug.cgi?id=690087
This commit is contained in:
parent
848ce2bd3c
commit
c764fbe745
1 changed files with 18 additions and 0 deletions
|
@ -56,6 +56,8 @@ G_DEFINE_TYPE_WITH_CODE (CcWindow, cc_window, GTK_TYPE_APPLICATION_WINDOW,
|
||||||
|
|
||||||
#define MIN_ICON_VIEW_HEIGHT 300
|
#define MIN_ICON_VIEW_HEIGHT 300
|
||||||
|
|
||||||
|
#define MOUSE_BACK_BUTTON 8
|
||||||
|
|
||||||
#define DEFAULT_WINDOW_TITLE N_("Settings")
|
#define DEFAULT_WINDOW_TITLE N_("Settings")
|
||||||
#define DEFAULT_WINDOW_ICON_NAME "preferences-desktop"
|
#define DEFAULT_WINDOW_ICON_NAME "preferences-desktop"
|
||||||
|
|
||||||
|
@ -1157,6 +1159,18 @@ cc_window_class_init (CcWindowClass *klass)
|
||||||
g_object_class_override_property (object_class, PROP_ACTIVE_PANEL, "active-panel");
|
g_object_class_override_property (object_class, PROP_ACTIVE_PANEL, "active-panel");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
window_button_release_event (GtkWidget *win,
|
||||||
|
GdkEventButton *event,
|
||||||
|
CcWindow *self)
|
||||||
|
{
|
||||||
|
g_message ("button release");
|
||||||
|
/* back button */
|
||||||
|
if (event->button == MOUSE_BACK_BUTTON)
|
||||||
|
shell_show_overview_page (self);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
window_key_press_event (GtkWidget *win,
|
window_key_press_event (GtkWidget *win,
|
||||||
GdkEventKey *event,
|
GdkEventKey *event,
|
||||||
|
@ -1453,6 +1467,10 @@ create_window (CcWindow *self)
|
||||||
g_signal_connect (self, "notify::application", G_CALLBACK (application_set_cb), self);
|
g_signal_connect (self, "notify::application", G_CALLBACK (application_set_cb), self);
|
||||||
g_signal_connect_after (self, "key_press_event",
|
g_signal_connect_after (self, "key_press_event",
|
||||||
G_CALLBACK (window_key_press_event), self);
|
G_CALLBACK (window_key_press_event), self);
|
||||||
|
gtk_widget_add_events (GTK_WIDGET (self), GDK_BUTTON_RELEASE_MASK);
|
||||||
|
g_signal_connect (self, "button-release-event",
|
||||||
|
G_CALLBACK (window_button_release_event), self);
|
||||||
|
|
||||||
g_signal_connect (self, "notify::window", G_CALLBACK (gdk_window_set_cb), self);
|
g_signal_connect (self, "notify::window", G_CALLBACK (gdk_window_set_cb), self);
|
||||||
|
|
||||||
g_signal_connect (priv->stack, "notify::visible-child",
|
g_signal_connect (priv->stack, "notify::visible-child",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue