{
GtkWidget *scrollbar;
GdkWindow *window;
- gboolean dragging;
- gboolean over;
+ gboolean over; /* either mouse over, or while dragging */
gint64 last_scroll_time;
guint conceil_timer;
Indicator *indicator = data;
if (g_get_monotonic_time () - indicator->last_scroll_time >= INDICATOR_FADE_OUT_DELAY * 1000 &&
- !indicator->over && !indicator->dragging)
+ !indicator->over)
indicator_start_fade (indicator, 0.0);
return G_SOURCE_CONTINUE;
indicator_start_fade (indicator, 1.0);
}
-static void
-indicator_style_changed (GtkStyleContext *context,
- Indicator *indicator)
-{
- if (gtk_style_context_has_class (context, "dragging"))
- indicator->dragging = TRUE;
- else
- indicator->dragging = FALSE;
-}
-
static void
setup_indicator (GtkScrolledWindow *scrolled_window,
Indicator *indicator,
g_object_unref (scrollbar);
gtk_style_context_add_class (context, "overlay-indicator");
- g_signal_connect (context, "changed",
- G_CALLBACK (indicator_style_changed), indicator);
g_signal_connect (adjustment, "value-changed",
G_CALLBACK (indicator_value_changed), indicator);
adjustment = gtk_range_get_adjustment (GTK_RANGE (scrollbar));
gtk_style_context_remove_class (context, "overlay-indicator");
- g_signal_handlers_disconnect_by_func (context, indicator_style_changed, indicator);
g_signal_handlers_disconnect_by_func (adjustment, indicator_value_changed, indicator);
if (indicator->conceil_timer)
{
}
indicator->scrollbar = NULL;
- indicator->dragging = FALSE;
indicator->over = FALSE;
indicator->current_pos = indicator->source_pos = indicator->target_pos = 0;
indicator->start_time = indicator->end_time = indicator->last_scroll_time = 0;