window: use GcalView::get_children_by_uuid
This commit is contained in:
@@ -35,6 +35,9 @@ static guint signals[NUM_SIGNALS] = { 0, };
|
|||||||
static void event_activated (GcalEventWidget *widget,
|
static void event_activated (GcalEventWidget *widget,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
|
static void event_visibility_changed (GtkWidget *widget,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
static void gcal_data_model_subscriber_interface_init (ECalDataModelSubscriberInterface *iface);
|
static void gcal_data_model_subscriber_interface_init (ECalDataModelSubscriberInterface *iface);
|
||||||
|
|
||||||
static void gcal_subscriber_view_finalize (GObject *object);
|
static void gcal_subscriber_view_finalize (GObject *object);
|
||||||
@@ -89,6 +92,14 @@ event_activated (GcalEventWidget *widget,
|
|||||||
g_signal_emit (GCAL_SUBSCRIBER_VIEW (user_data), signals[EVENT_ACTIVATED], 0, widget);
|
g_signal_emit (GCAL_SUBSCRIBER_VIEW (user_data), signals[EVENT_ACTIVATED], 0, widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
event_visibility_changed(GtkWidget *widget,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
GcalSubscriberViewPrivate *priv = GCAL_SUBSCRIBER_VIEW (user_data)->priv;
|
||||||
|
priv->children_changed = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_subscriber_view_class_init (GcalSubscriberViewClass *klass)
|
gcal_subscriber_view_class_init (GcalSubscriberViewClass *klass)
|
||||||
{
|
{
|
||||||
@@ -470,4 +481,6 @@ _gcal_subscriber_view_setup_child (GcalSubscriberView *subscriber_view,
|
|||||||
if (gtk_widget_get_parent (child_widget) == NULL)
|
if (gtk_widget_get_parent (child_widget) == NULL)
|
||||||
gtk_widget_set_parent (child_widget, GTK_WIDGET (subscriber_view));
|
gtk_widget_set_parent (child_widget, GTK_WIDGET (subscriber_view));
|
||||||
g_signal_connect (child_widget, "activate", G_CALLBACK (event_activated), subscriber_view);
|
g_signal_connect (child_widget, "activate", G_CALLBACK (event_activated), subscriber_view);
|
||||||
|
g_signal_connect (child_widget, "hide", G_CALLBACK (event_visibility_changed), subscriber_view);
|
||||||
|
g_signal_connect (child_widget, "show", G_CALLBACK (event_visibility_changed), subscriber_view);
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-5
@@ -905,6 +905,7 @@ edit_dialog_closed (GtkDialog *dialog,
|
|||||||
ECalComponent *component;
|
ECalComponent *component;
|
||||||
GcalView *view;
|
GcalView *view;
|
||||||
|
|
||||||
|
GList *widgets;
|
||||||
gchar *uuid;
|
gchar *uuid;
|
||||||
|
|
||||||
priv = gcal_window_get_instance_private (GCAL_WINDOW (user_data));
|
priv = gcal_window_get_instance_private (GCAL_WINDOW (user_data));
|
||||||
@@ -954,7 +955,9 @@ edit_dialog_closed (GtkDialog *dialog,
|
|||||||
|
|
||||||
uuid = gcal_edit_dialog_get_event_uuid (edit_dialog);
|
uuid = gcal_edit_dialog_get_event_uuid (edit_dialog);
|
||||||
/* hide widget of the event */
|
/* hide widget of the event */
|
||||||
gtk_widget_hide (gcal_subscriber_view_get_child_by_uuid (GCAL_SUBSCRIBER_VIEW (view), uuid));
|
widgets = gcal_view_get_children_by_uuid (view, uuid);
|
||||||
|
g_list_foreach (widgets, (GFunc) gtk_widget_hide, NULL);
|
||||||
|
g_list_free (widgets);
|
||||||
g_free (uuid);
|
g_free (uuid);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1049,18 +1052,18 @@ undo_remove_event (GtkButton *button,
|
|||||||
{
|
{
|
||||||
GcalWindowPrivate *priv;
|
GcalWindowPrivate *priv;
|
||||||
gchar *uuid;
|
gchar *uuid;
|
||||||
GtkWidget *event_widget;
|
|
||||||
|
|
||||||
priv = gcal_window_get_instance_private (GCAL_WINDOW (user_data));
|
priv = gcal_window_get_instance_private (GCAL_WINDOW (user_data));
|
||||||
|
|
||||||
if (priv->event_to_delete != NULL)
|
if (priv->event_to_delete != NULL)
|
||||||
{
|
{
|
||||||
|
GList *widgets;
|
||||||
uuid = get_uuid_from_component (priv->event_to_delete->source, priv->event_to_delete->event_component);
|
uuid = get_uuid_from_component (priv->event_to_delete->source, priv->event_to_delete->event_component);
|
||||||
event_widget = gcal_subscriber_view_get_child_by_uuid (GCAL_SUBSCRIBER_VIEW (priv->views[priv->active_view]),
|
widgets = gcal_view_get_children_by_uuid (GCAL_VIEW (priv->views[priv->active_view]), uuid);
|
||||||
uuid);
|
g_list_foreach (widgets, (GFunc) gtk_widget_show, NULL);
|
||||||
gtk_widget_show (event_widget);
|
|
||||||
|
|
||||||
g_clear_pointer (&(priv->event_to_delete), g_free);
|
g_clear_pointer (&(priv->event_to_delete), g_free);
|
||||||
|
g_list_free (widgets);
|
||||||
g_free (uuid);
|
g_free (uuid);
|
||||||
|
|
||||||
gtk_revealer_set_reveal_child (GTK_REVEALER (priv->notification),
|
gtk_revealer_set_reveal_child (GTK_REVEALER (priv->notification),
|
||||||
|
|||||||
Reference in New Issue
Block a user