static gboolean photos_preview_nav_buttons_leave_notify (PhotosPreviewNavButtons *self) { self->priv->hover = FALSE; photos_preview_nav_buttons_queue_auto_hide (self); return FALSE; }
static void photos_preview_nav_buttons_update_visibility (PhotosPreviewNavButtons *self) { PhotosPreviewNavButtonsPrivate *priv = self->priv; GtkTreeIter iter; GtkTreeIter tmp; if (priv->model == NULL || priv->current_path == NULL || !priv->visible || !gtk_tree_model_get_iter (priv->model, &iter, priv->current_path)) { photos_preview_nav_buttons_fade_out_button (self, priv->prev_widget); photos_preview_nav_buttons_fade_out_button (self, priv->next_widget); photos_preview_nav_buttons_fade_out_button (self, priv->toolbar_widget); return; } photos_preview_nav_buttons_fade_in_button (self, priv->toolbar_widget); tmp = iter; if (gtk_tree_model_iter_previous (priv->model, &tmp)) photos_preview_nav_buttons_fade_in_button (self, priv->prev_widget); else photos_preview_nav_buttons_fade_out_button (self, priv->prev_widget); tmp = iter; if (gtk_tree_model_iter_next (priv->model, &tmp)) photos_preview_nav_buttons_fade_in_button (self, priv->next_widget); else photos_preview_nav_buttons_fade_out_button (self, priv->next_widget); if (!priv->hover) photos_preview_nav_buttons_queue_auto_hide (self); }
static gboolean photos_preview_nav_buttons_motion_notify_timeout (PhotosPreviewNavButtons *self) { self->motion_id = 0; self->visible_internal = TRUE; photos_preview_nav_buttons_update_visibility (self); photos_preview_nav_buttons_queue_auto_hide (self); return G_SOURCE_REMOVE; }