[gtk] Remove :active state handling on widgets
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] Remove :active state handling on widgets
- Date: Tue, 29 Jan 2019 06:25:42 +0000 (UTC)
commit 20429f4764b8c50422c7d93824a12738e2eb7d42
Author: Timm Bäder <mail baedert org>
Date: Fri Jan 25 17:17:20 2019 +0100
Remove :active state handling on widgets
gtk/gtkbutton.c | 67 ++++-------------------------------------------------
gtk/gtklistbox.c | 10 +-------
gtk/gtkmenu.c | 10 --------
gtk/gtkrange.c | 27 ---------------------
gtk/gtktexthandle.c | 30 ------------------------
5 files changed, 5 insertions(+), 139 deletions(-)
---
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 9dae0101cc..c0de0014a2 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -133,7 +133,6 @@ static void gtk_button_display_changed (GtkWidget *widget,
static void gtk_button_unrealize (GtkWidget * widget);
static void gtk_real_button_clicked (GtkButton * button);
static void gtk_real_button_activate (GtkButton *button);
-static void gtk_button_update_state (GtkButton *button);
static void gtk_button_finish_activate (GtkButton *button,
gboolean do_it);
@@ -305,10 +304,8 @@ multipress_pressed_cb (GtkGestureMultiPress *gesture,
priv->in_button = TRUE;
if (!priv->activate_timeout)
- {
- priv->button_down = TRUE;
- gtk_button_update_state (button);
- }
+ priv->button_down = TRUE;
+
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
}
@@ -358,33 +355,7 @@ multipress_released_cb (GtkGestureMultiPress *gesture,
sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
if (sequence)
- {
- priv->in_button = FALSE;
- gtk_button_update_state (button);
- }
-}
-
-static void
-multipress_gesture_update_cb (GtkGesture *gesture,
- GdkEventSequence *sequence,
- GtkButton *button)
-{
- GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
- gboolean in_button;
- gdouble x, y;
-
- if (sequence != gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture)))
- return;
-
- gtk_gesture_get_point (gesture, sequence, &x, &y);
-
- in_button = gtk_widget_contains (GTK_WIDGET (button), x, y);
-
- if (priv->in_button != in_button)
- {
- priv->in_button = in_button;
- gtk_button_update_state (button);
- }
+ priv->in_button = FALSE;
}
static void
@@ -457,7 +428,6 @@ gtk_button_init (GtkButton *button)
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (priv->gesture), GDK_BUTTON_PRIMARY);
g_signal_connect (priv->gesture, "pressed", G_CALLBACK (multipress_pressed_cb), button);
g_signal_connect (priv->gesture, "released", G_CALLBACK (multipress_released_cb), button);
- g_signal_connect (priv->gesture, "update", G_CALLBACK (multipress_gesture_update_cb), button);
g_signal_connect (priv->gesture, "cancel", G_CALLBACK (multipress_gesture_cancel_cb), button);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->gesture), GTK_PHASE_CAPTURE);
gtk_widget_add_controller (GTK_WIDGET (button), GTK_EVENT_CONTROLLER (priv->gesture));
@@ -772,8 +742,6 @@ gtk_button_do_release (GtkButton *button,
if (emit_clicked)
gtk_button_clicked (button);
-
- gtk_button_update_state (button);
}
}
@@ -805,7 +773,6 @@ gtk_real_button_activate (GtkButton *button)
priv->activate_timeout = g_timeout_add (ACTIVATE_TIMEOUT, button_activate_timeout, button);
g_source_set_name_by_id (priv->activate_timeout, "[gtk+] button_activate_timeout");
priv->button_down = TRUE;
- gtk_button_update_state (button);
}
}
@@ -820,8 +787,6 @@ gtk_button_finish_activate (GtkButton *button,
priv->button_down = FALSE;
- gtk_button_update_state (button);
-
if (do_it)
gtk_button_clicked (button);
}
@@ -957,26 +922,6 @@ gtk_button_get_use_underline (GtkButton *button)
return priv->use_underline;
}
-static void
-gtk_button_update_state (GtkButton *button)
-{
- GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
- GtkStateFlags new_state;
- gboolean depressed;
-
- if (priv->activate_timeout)
- depressed = TRUE;
- else
- depressed = priv->in_button && priv->button_down;
-
- new_state = gtk_widget_get_state_flags (GTK_WIDGET (button)) & ~(GTK_STATE_FLAG_ACTIVE);
-
- if (depressed)
- new_state |= GTK_STATE_FLAG_ACTIVE;
-
- gtk_widget_set_state_flags (GTK_WIDGET (button), new_state, TRUE);
-}
-
static void
gtk_button_display_changed (GtkWidget *widget,
GdkDisplay *previous_display)
@@ -986,11 +931,7 @@ gtk_button_display_changed (GtkWidget *widget,
/* If the button is being pressed while the display changes the
release might never occur, so we reset the state. */
- if (priv->button_down)
- {
- priv->button_down = FALSE;
- gtk_button_update_state (button);
- }
+ priv->button_down = FALSE;
}
static void
diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c
index 943b1d9a16..274956d8f8 100644
--- a/gtk/gtklistbox.c
+++ b/gtk/gtklistbox.c
@@ -1744,9 +1744,6 @@ gtk_list_box_multipress_gesture_pressed (GtkGestureMultiPress *gesture,
if (row != NULL && gtk_widget_is_sensitive (GTK_WIDGET (row)))
{
priv->active_row = row;
- gtk_widget_set_state_flags (GTK_WIDGET (priv->active_row),
- GTK_STATE_FLAG_ACTIVE,
- FALSE);
if (n_press == 2 && !priv->activate_single_click)
gtk_list_box_activate (box, row);
@@ -1842,7 +1839,6 @@ gtk_list_box_multipress_gesture_released (GtkGestureMultiPress *gesture,
if (priv->active_row)
{
- gtk_widget_unset_state_flags (GTK_WIDGET (priv->active_row), GTK_STATE_FLAG_ACTIVE);
priv->active_row = NULL;
}
@@ -1857,7 +1853,6 @@ gtk_list_box_multipress_gesture_stopped (GtkGestureMultiPress *gesture,
if (priv->active_row)
{
- gtk_widget_unset_state_flags (GTK_WIDGET (priv->active_row), GTK_STATE_FLAG_ACTIVE);
priv->active_row = NULL;
gtk_widget_queue_draw (GTK_WIDGET (box));
}
@@ -2321,10 +2316,7 @@ gtk_list_box_remove (GtkContainer *container,
if (row == priv->cursor_row)
priv->cursor_row = NULL;
if (row == priv->active_row)
- {
- gtk_widget_unset_state_flags (GTK_WIDGET (row), GTK_STATE_FLAG_ACTIVE);
- priv->active_row = NULL;
- }
+ priv->active_row = NULL;
if (row == priv->drag_highlighted_row)
gtk_list_box_drag_unhighlight_row (box);
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index e8d5487153..45ac5b824d 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -3040,8 +3040,6 @@ gtk_menu_handle_scrolling (GtkMenu *menu,
if ((priv->upper_arrow_state & GTK_STATE_FLAG_INSENSITIVE) == 0)
{
- gboolean arrow_pressed = FALSE;
-
if (gtk_widget_get_child_visible (priv->top_arrow_widget))
{
scroll_fast = (y < rect.y + MENU_SCROLL_FAST_ZONE);
@@ -3083,9 +3081,6 @@ gtk_menu_handle_scrolling (GtkMenu *menu,
{
GtkStateFlags arrow_state = 0;
- if (arrow_pressed)
- arrow_state |= GTK_STATE_FLAG_ACTIVE;
-
if (priv->upper_arrow_prelight)
arrow_state |= GTK_STATE_FLAG_PRELIGHT;
@@ -3111,8 +3106,6 @@ gtk_menu_handle_scrolling (GtkMenu *menu,
if ((priv->lower_arrow_state & GTK_STATE_FLAG_INSENSITIVE) == 0)
{
- gboolean arrow_pressed = FALSE;
-
if (gtk_widget_get_child_visible (priv->bottom_arrow_widget))
{
scroll_fast = (y > rect.y + rect.height - MENU_SCROLL_FAST_ZONE);
@@ -3154,9 +3147,6 @@ gtk_menu_handle_scrolling (GtkMenu *menu,
{
GtkStateFlags arrow_state = 0;
- if (arrow_pressed)
- arrow_state |= GTK_STATE_FLAG_ACTIVE;
-
if (priv->lower_arrow_prelight)
arrow_state |= GTK_STATE_FLAG_PRELIGHT;
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 74dea279b6..7e4082532e 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -1622,28 +1622,6 @@ gtk_range_unmap (GtkWidget *widget)
GTK_WIDGET_CLASS (gtk_range_parent_class)->unmap (widget);
}
-static void
-update_slider_state (GtkRange *range)
-{
- GtkRangePrivate *priv = gtk_range_get_instance_private (range);
-
- if (priv->grab_location == priv->slider_widget)
- gtk_widget_set_state_flags (priv->slider_widget, GTK_STATE_FLAG_ACTIVE, FALSE);
- else
- gtk_widget_unset_state_flags (priv->slider_widget, GTK_STATE_FLAG_ACTIVE);
-}
-
-static void
-update_trough_state (GtkRange *range)
-{
- GtkRangePrivate *priv = gtk_range_get_instance_private (range);
-
- if (priv->grab_location == priv->trough_widget)
- gtk_widget_set_state_flags (priv->trough_widget, GTK_STATE_FLAG_ACTIVE, FALSE);
- else
- gtk_widget_unset_state_flags (priv->trough_widget, GTK_STATE_FLAG_ACTIVE);
-}
-
static void
gtk_range_direction_changed (GtkWidget *widget,
GtkTextDirection previous_direction)
@@ -1699,9 +1677,6 @@ range_grab_add (GtkRange *range,
*/
priv->grab_location = location;
- update_trough_state (range);
- update_slider_state (range);
-
gtk_style_context_add_class (context, "dragging");
}
@@ -1735,8 +1710,6 @@ range_grab_remove (GtkRange *range)
priv->grab_location = NULL;
- update_trough_state (range);
- update_slider_state (range);
update_zoom_state (range, FALSE);
gtk_style_context_remove_class (context, "dragging");
diff --git a/gtk/gtktexthandle.c b/gtk/gtktexthandle.c
index 84db1bedce..84405d297e 100644
--- a/gtk/gtktexthandle.c
+++ b/gtk/gtktexthandle.c
@@ -109,34 +109,6 @@ _text_handle_pos_from_widget (GtkTextHandle *handle,
return -1;
}
-static void
-gtk_text_handle_set_state (GtkTextHandle *handle,
- gint pos,
- GtkStateFlags state)
-{
- GtkTextHandlePrivate *priv = handle->priv;
-
- if (!priv->windows[pos].widget)
- return;
-
- gtk_widget_set_state_flags (priv->windows[pos].widget, state, FALSE);
- gtk_widget_queue_draw (priv->windows[pos].widget);
-}
-
-static void
-gtk_text_handle_unset_state (GtkTextHandle *handle,
- gint pos,
- GtkStateFlags state)
-{
- GtkTextHandlePrivate *priv = handle->priv;
-
- if (!priv->windows[pos].widget)
- return;
-
- gtk_widget_unset_state_flags (priv->windows[pos].widget, state);
- gtk_widget_queue_draw (priv->windows[pos].widget);
-}
-
static void
handle_drag_begin (GtkGestureDrag *gesture,
gdouble x,
@@ -164,7 +136,6 @@ handle_drag_begin (GtkGestureDrag *gesture,
priv->windows[pos].dx = x;
priv->windows[pos].dy = y;
priv->windows[pos].dragged = TRUE;
- gtk_text_handle_set_state (handle, pos, GTK_STATE_FLAG_ACTIVE);
g_signal_emit (handle, signals[DRAG_STARTED], 0, pos);
}
@@ -202,7 +173,6 @@ handle_drag_end (GtkGestureDrag *gesture,
gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)));
g_signal_emit (handle, signals[DRAG_FINISHED], 0, pos);
priv->windows[pos].dragged = FALSE;
- gtk_text_handle_unset_state (handle, pos, GTK_STATE_FLAG_ACTIVE);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]