/* Select all, escape */ static gboolean on_key_press_event_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data) { BjbMainView *self = BJB_MAIN_VIEW (user_data); BjbMainViewPriv *priv = self->priv; switch (event->key.keyval) { case GDK_KEY_a: case GDK_KEY_A: if (gd_main_view_get_selection_mode (priv->view) && event->key.state & GDK_CONTROL_MASK) { gd_main_view_select_all (priv->view); return TRUE; } break; case GDK_KEY_Escape: if (gd_main_view_get_selection_mode (priv->view)) { gd_main_view_set_selection_mode (priv->view, FALSE); return TRUE; } default: break; } return FALSE; }
static void on_selection_mode_changed_cb (BjbMainView *self) { GList *select; /* Workaround if items are selected * but selection mode not really active (?) */ select = gd_main_view_get_selection (self->priv->view); if (select) { g_list_free (select); gd_main_view_set_selection_mode (self->priv->view, TRUE); } /* Any case, tell */ g_signal_emit (G_OBJECT (self), bjb_main_view_signals[VIEW_SELECTION_CHANGED],0); }
static void photos_view_container_selection_mode_changed (PhotosViewContainer *self, gboolean mode) { gd_main_view_set_selection_mode (self->priv->view, mode); }