[gtk+] flow box: Warn for nonworking configurations
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] flow box: Warn for nonworking configurations
- Date: Tue, 25 Aug 2015 19:55:48 +0000 (UTC)
commit c0998598726040ba496d9f442f7ea6baccdf44cd
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Aug 25 13:28:49 2015 -0400
flow box: Warn for nonworking configurations
GtkFlowBox sort and filter functionality does not work with
models. Issue a warning in this case.
gtk/gtkflowbox.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkflowbox.c b/gtk/gtkflowbox.c
index e84b359..6b6611e 100644
--- a/gtk/gtkflowbox.c
+++ b/gtk/gtkflowbox.c
@@ -90,6 +90,8 @@ static void gtk_flow_box_bound_model_changed (GListModel *list,
guint added,
gpointer user_data);
+static void gtk_flow_box_check_model_compat (GtkFlowBox *box);
+
static void
get_current_selection_modifiers (GtkWidget *widget,
gboolean *modify,
@@ -4254,6 +4256,16 @@ gtk_flow_box_set_vadjustment (GtkFlowBox *box,
gtk_container_set_focus_vadjustment (GTK_CONTAINER (box), adjustment);
}
+static void
+gtk_flow_box_check_model_compat (GtkFlowBox *box)
+{
+ GtkFlowBoxPrivate *priv = BOX_PRIV (box);
+
+ if (priv->bound_model &&
+ (priv->sort_func || priv->filter_func))
+ g_warning ("GtkFlowBox with a model will ignore sort and filter functions");
+}
+
/**
* gtk_flow_box_bind_model:
* @box: a #GtkFlowBox
@@ -4309,6 +4321,8 @@ gtk_flow_box_bind_model (GtkFlowBox *box,
priv->create_widget_func_data = user_data;
priv->create_widget_func_data_destroy = user_data_free_func;
+ gtk_flow_box_check_model_compat (box);
+
g_signal_connect (priv->bound_model, "items-changed", G_CALLBACK (gtk_flow_box_bound_model_changed), box);
gtk_flow_box_bound_model_changed (model, 0, 0, g_list_model_get_n_items (model), box);
}
@@ -4860,6 +4874,8 @@ gtk_flow_box_set_filter_func (GtkFlowBox *box,
priv->filter_data = user_data;
priv->filter_destroy = destroy;
+ gtk_flow_box_check_model_compat (box);
+
gtk_flow_box_apply_filter_all (box);
}
@@ -4940,6 +4956,8 @@ gtk_flow_box_set_sort_func (GtkFlowBox *box,
priv->sort_data = user_data;
priv->sort_destroy = destroy;
+ gtk_flow_box_check_model_compat (box);
+
gtk_flow_box_invalidate_sort (box);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]