summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Berla <corey@berla.me>2022-12-14 07:51:22 -1000
committerCorey Berla <corey@berla.me>2022-12-14 07:51:34 -1000
commit7081bfc614809649be7e460e21f4ef27886ab9e5 (patch)
tree964eaa25a6e6fb265910a801edd87aebfdcf6eeb
parentc09ba28b061cd285dc9882a7da03db3ae6fbcaf3 (diff)
downloadgtk+-7081bfc614809649be7e460e21f4ef27886ab9e5.tar.gz
listbase: Split scroll_to_item for reuse
-rw-r--r--gtk/gtklistbase.c30
1 files changed, 19 insertions, 11 deletions
diff --git a/gtk/gtklistbase.c b/gtk/gtklistbase.c
index 03bcb48288..cedae1aa9b 100644
--- a/gtk/gtklistbase.c
+++ b/gtk/gtklistbase.c
@@ -825,21 +825,13 @@ gtk_list_base_update_focus_tracker (GtkListBase *self)
}
static void
-gtk_list_base_scroll_to_item (GtkWidget *widget,
- const char *action_name,
- GVariant *parameter)
+gtk_list_base_scroll_to_item (GtkListBase *self,
+ guint pos)
{
- GtkListBase *self = GTK_LIST_BASE (widget);
GtkListBasePrivate *priv = gtk_list_base_get_instance_private (self);
int start, end;
double align_along, align_across;
GtkPackType side_along, side_across;
- guint pos;
-
- if (!g_variant_check_format_string (parameter, "u", FALSE))
- return;
-
- g_variant_get (parameter, "u", &pos);
/* figure out primary orientation and if position is valid */
if (!gtk_list_base_get_allocation_along (GTK_LIST_BASE (self), pos, &start, &end))
@@ -878,6 +870,22 @@ gtk_list_base_scroll_to_item (GtkWidget *widget,
}
static void
+gtk_list_base_scroll_to_item_action (GtkWidget *widget,
+ const char *action_name,
+ GVariant *parameter)
+{
+ GtkListBase *self = GTK_LIST_BASE (widget);
+ guint pos;
+
+ if (!g_variant_check_format_string (parameter, "u", FALSE))
+ return;
+
+ g_variant_get (parameter, "u", &pos);
+
+ gtk_list_base_scroll_to_item (self, pos);
+}
+
+static void
gtk_list_base_select_item_action (GtkWidget *widget,
const char *action_name,
GVariant *parameter)
@@ -1179,7 +1187,7 @@ gtk_list_base_class_init (GtkListBaseClass *klass)
gtk_widget_class_install_action (widget_class,
"list.scroll-to-item",
"u",
- gtk_list_base_scroll_to_item);
+ gtk_list_base_scroll_to_item_action);
/**
* GtkListBase|list.select-item: