source-dialog: only add the source when it's not present
This commit is contained in:
committed by
Erick Pérez Castellanos
parent
81c2a929c6
commit
30ca4c1d57
@@ -148,12 +148,29 @@ add_source (GcalManager *manager,
|
|||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
GcalSourceDialogPrivate *priv = GCAL_SOURCE_DIALOG (user_data)->priv;
|
GcalSourceDialogPrivate *priv = GCAL_SOURCE_DIALOG (user_data)->priv;
|
||||||
GtkWidget *row;
|
GList *children, *l;
|
||||||
|
gboolean contains_source;
|
||||||
|
|
||||||
row = make_row_from_source (GCAL_SOURCE_DIALOG (user_data), source);
|
children = gtk_container_get_children (GTK_CONTAINER (priv->calendars_listbox));
|
||||||
g_object_set_data (G_OBJECT (row), "source", source);
|
contains_source = FALSE;
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (priv->calendars_listbox), row);
|
for (l = children; l != NULL; l = l->next)
|
||||||
|
{
|
||||||
|
if (g_object_get_data (l->data, "source") == source)
|
||||||
|
contains_source = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!contains_source)
|
||||||
|
{
|
||||||
|
GtkWidget *row;
|
||||||
|
|
||||||
|
row = make_row_from_source (GCAL_SOURCE_DIALOG (user_data), source);
|
||||||
|
g_object_set_data (G_OBJECT (row), "source", source);
|
||||||
|
|
||||||
|
gtk_container_add (GTK_CONTAINER (priv->calendars_listbox), row);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_list_free (children);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user