[evolution] I#190 - Meeting editor doesn't show addresses after open when set to
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] I#190 - Meeting editor doesn't show addresses after open when set to
- Date: Mon, 25 Mar 2019 16:51:01 +0000 (UTC)
commit 15bab425d9e011f04eedcbeca7ff1af93b5e3fd1
Author: Milan Crha <mcrha redhat com>
Date: Mon Mar 25 17:51:52 2019 +0100
I#190 - Meeting editor doesn't show addresses after open when set to
Closes https://gitlab.gnome.org/GNOME/evolution/issues/190
src/calendar/gui/e-comp-editor-page-general.c | 13 +++++++++++++
src/calendar/gui/e-meeting-store.c | 28 ++++++++++-----------------
2 files changed, 23 insertions(+), 18 deletions(-)
---
diff --git a/src/calendar/gui/e-comp-editor-page-general.c b/src/calendar/gui/e-comp-editor-page-general.c
index 538aee1802..90e881f519 100644
--- a/src/calendar/gui/e-comp-editor-page-general.c
+++ b/src/calendar/gui/e-comp-editor-page-general.c
@@ -497,6 +497,16 @@ ecep_general_attendee_row_changed_cb (GtkTreeModel *model,
g_clear_object (&comp_editor);
}
+static void
+ecep_general_attendee_show_address_notify_cb (GObject *store,
+ GParamSpec *param,
+ ECompEditorPageGeneral *page_general)
+{
+ if (gtk_widget_get_realized (GTK_WIDGET (page_general)) &&
+ gtk_widget_get_realized (page_general->priv->attendees_list_view))
+ gtk_widget_queue_draw (page_general->priv->attendees_list_view);
+}
+
static gboolean
ecep_general_get_organizer (ECompEditorPageGeneral *page_general,
gchar **out_name,
@@ -1500,6 +1510,9 @@ ecep_general_constructed (GObject *object)
g_signal_connect (page_general->priv->meeting_store, "row-changed",
G_CALLBACK (ecep_general_attendee_row_changed_cb), page_general);
+ e_signal_connect_notify (page_general->priv->meeting_store, "notify::show-address",
+ G_CALLBACK (ecep_general_attendee_show_address_notify_cb), page_general);
+
g_signal_connect (page_general->priv->attendees_list_view, "event",
G_CALLBACK (ecep_general_list_view_event_cb), page_general);
diff --git a/src/calendar/gui/e-meeting-store.c b/src/calendar/gui/e-meeting-store.c
index a7e7b6e7e6..1d897f222b 100644
--- a/src/calendar/gui/e-meeting-store.c
+++ b/src/calendar/gui/e-meeting-store.c
@@ -740,6 +740,15 @@ meeting_store_get_property (GObject *object,
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
+static void
+meeting_store_constructed (GObject *object)
+{
+ /* Chain up to parent's method. */
+ G_OBJECT_CLASS (e_meeting_store_parent_class)->constructed (object);
+
+ e_extensible_load_extensions (E_EXTENSIBLE (object));
+}
+
static void
meeting_store_finalize (GObject *object)
{
@@ -783,6 +792,7 @@ e_meeting_store_class_init (EMeetingStoreClass *class)
object_class = G_OBJECT_CLASS (class);
object_class->set_property = meeting_store_set_property;
object_class->get_property = meeting_store_get_property;
+ object_class->constructed = meeting_store_constructed;
object_class->finalize = meeting_store_finalize;
g_object_class_install_property (
@@ -862,8 +872,6 @@ e_meeting_store_init (EMeetingStore *store)
g_mutex_init (&store->priv->mutex);
store->priv->num_queries = 0;
-
- e_extensible_load_extensions (E_EXTENSIBLE (store));
}
GObject *
@@ -1003,9 +1011,6 @@ void
e_meeting_store_set_show_address (EMeetingStore *store,
gboolean show_address)
{
- GtkTreeModel *model;
- guint ii;
-
g_return_if_fail (E_IS_MEETING_STORE (store));
if ((store->priv->show_address ? 1 : 0) == (show_address ? 1 : 0))
@@ -1013,19 +1018,6 @@ e_meeting_store_set_show_address (EMeetingStore *store,
store->priv->show_address = show_address;
- model = GTK_TREE_MODEL (store);
-
- for (ii = 0; ii < store->priv->attendees->len; ii++) {
- GtkTreePath *path;
- GtkTreeIter iter;
-
- path = gtk_tree_path_new ();
- gtk_tree_path_append_index (path, ii);
- get_iter (model, &iter, path);
- gtk_tree_model_row_changed (model, path, &iter);
- gtk_tree_path_free (path);
- }
-
g_object_notify (G_OBJECT (store), "show-address");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]