static void search_entry_changed_cb (GtkEntry *entry, GnomeControlCenter *center) { GnomeControlCenterPrivate *priv = center->priv; char *str; /* if the entry text was set manually (not by the user) */ if (!g_strcmp0 (priv->filter_string, gtk_entry_get_text (entry))) return; /* Don't re-filter for added trailing or leading spaces */ str = g_strdup (gtk_entry_get_text (entry)); g_strstrip (str); if (!g_strcmp0 (str, priv->filter_string)) { g_free (str); return; } g_free (priv->filter_string); priv->filter_string = str; if (!g_strcmp0 (priv->filter_string, "")) { shell_show_overview_page (center); } else { gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (priv->search_filter)); notebook_select_page (priv->notebook, priv->search_scrolled); } }
static gboolean window_key_press_event (GtkWidget *win, GdkEventKey *event, GnomeControlCenter *self) { GdkKeymap *keymap; gboolean retval; GdkModifierType state; if (event->state == 0) return FALSE; retval = FALSE; state = event->state; keymap = gdk_keymap_get_default (); gdk_keymap_add_virtual_modifiers (keymap, &state); state = state & gtk_accelerator_get_default_mod_mask (); if (state == GDK_CONTROL_MASK) { switch (event->keyval) { case GDK_KEY_s: case GDK_KEY_S: case GDK_KEY_f: case GDK_KEY_F: if (gtk_widget_get_visible (self->priv->search_entry)) { gtk_widget_grab_focus (self->priv->search_entry); retval = TRUE; } break; case GDK_KEY_Q: case GDK_KEY_q: g_object_unref (self); retval = TRUE; break; case GDK_KEY_W: case GDK_KEY_w: if (notebook_get_selected_page (self->priv->notebook) != self->priv->scrolled_window) shell_show_overview_page (self); retval = TRUE; break; } } return retval; }
static void home_button_clicked_cb (GtkButton *button, GnomeControlCenter *shell) { shell_show_overview_page (shell); }
void gnome_control_center_set_overview_page (GnomeControlCenter *center) { shell_show_overview_page (center); }
void cinnamon_control_center_set_overview_page (CinnamonControlCenter *center) { shell_show_overview_page (center); }