aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/memo-page.c
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchen@src.gnome.org>2006-08-10 15:34:30 +0800
committerChenthill Palanisamy <pchen@src.gnome.org>2006-08-10 15:34:30 +0800
commitd7e017d1bf0c1237bcd4c94e62378a2bd6f56538 (patch)
tree021e61e54f2878644e2c7eef3de11a8315b734af /calendar/gui/dialogs/memo-page.c
parentd37f6d14e38072a1550e7573cb958299c417de1f (diff)
downloadgsoc2013-evolution-d7e017d1bf0c1237bcd4c94e62378a2bd6f56538.tar
gsoc2013-evolution-d7e017d1bf0c1237bcd4c94e62378a2bd6f56538.tar.gz
gsoc2013-evolution-d7e017d1bf0c1237bcd4c94e62378a2bd6f56538.tar.bz2
gsoc2013-evolution-d7e017d1bf0c1237bcd4c94e62378a2bd6f56538.tar.lz
gsoc2013-evolution-d7e017d1bf0c1237bcd4c94e62378a2bd6f56538.tar.xz
gsoc2013-evolution-d7e017d1bf0c1237bcd4c94e62378a2bd6f56538.tar.zst
gsoc2013-evolution-d7e017d1bf0c1237bcd4c94e62378a2bd6f56538.zip
Fixes shared memos for File system.
svn path=/trunk/; revision=32520
Diffstat (limited to 'calendar/gui/dialogs/memo-page.c')
-rw-r--r--calendar/gui/dialogs/memo-page.c45
1 files changed, 41 insertions, 4 deletions
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c
index 42850b60b3..41d03f322b 100644
--- a/calendar/gui/dialogs/memo-page.c
+++ b/calendar/gui/dialogs/memo-page.c
@@ -485,7 +485,7 @@ fill_comp_with_recipients (ENameSelector *name_selector, ECalComponent *comp)
}
if (book) {
- GList *contacts;
+ GList *contacts = NULL;
EContact *n_con = NULL;
char *qu;
EBookQuery *query;
@@ -496,7 +496,6 @@ fill_comp_with_recipients (ENameSelector *name_selector, ECalComponent *comp)
if (!e_book_get_contacts (book, query, &contacts, NULL)) {
g_warning ("Could not get contact from the book \n");
- return;
} else {
des = e_destination_new ();
n_con = contacts->data;
@@ -704,7 +703,7 @@ memo_page_fill_component (CompEditorPage *page, ECalComponent *comp)
if (str)
g_free (str);
- if ((page->flags & COMP_EDITOR_PAGE_IS_SHARED) && fill_comp_with_recipients (priv->name_selector, comp)) {
+ if ((page->flags & COMP_EDITOR_PAGE_IS_SHARED) && (page->flags & COMP_EDITOR_PAGE_NEW_ITEM) && fill_comp_with_recipients (priv->name_selector, comp)) {
ECalComponentOrganizer organizer = {NULL, NULL, NULL, NULL};
EAccount *a;
@@ -732,6 +731,8 @@ memo_page_fill_component (CompEditorPage *page, ECalComponent *comp)
organizer.cn = a->id->name;
e_cal_component_set_organizer (comp, &organizer);
+ comp_editor_page_notify_needs_send (page);
+
g_free (addr);
}
@@ -899,6 +900,27 @@ widget_focus_out_cb (GtkWidget *widget, GdkEventFocus *event, gpointer data)
return FALSE;
}
+
+/* Callback used when the summary changes; we emit the notification signal. */
+static void
+summary_changed_cb (GtkEditable *editable, gpointer data)
+{
+ MemoPage *mpage;
+ MemoPagePrivate *priv;
+ gchar *summary;
+
+ mpage = MEMO_PAGE (data);
+ priv = mpage->priv;
+
+ if (priv->updating)
+ return;
+
+ summary = e_dialog_editable_get (GTK_WIDGET (editable));
+ comp_editor_page_notify_summary_changed (COMP_EDITOR_PAGE (mpage),
+ summary);
+ g_free (summary);
+}
+
static void
to_button_clicked_cb (GtkButton *button, gpointer data)
{
@@ -925,6 +947,14 @@ init_widgets (MemoPage *mpage)
priv = mpage->priv;
+ /* Summary */
+ g_signal_connect((priv->summary_entry), "changed",
+ G_CALLBACK (summary_changed_cb), mpage);
+ g_signal_connect(priv->summary_entry, "focus-in-event",
+ G_CALLBACK (widget_focus_in_cb), mpage);
+ g_signal_connect(priv->summary_entry, "focus-out-event",
+ G_CALLBACK (widget_focus_out_cb), mpage);
+
/* Memo Content */
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->memo_content));
@@ -942,7 +972,7 @@ init_widgets (MemoPage *mpage)
/* Source selector */
g_signal_connect((priv->source_selector), "source_selected",
G_CALLBACK (source_changed_cb), mpage);
-
+
/* Connect the default signal handler to use to make sure the "changed"
field gets set whenever a field is changed. */
@@ -955,6 +985,12 @@ init_widgets (MemoPage *mpage)
g_signal_connect((priv->summary_entry), "changed",
G_CALLBACK (field_changed_cb), mpage);
+
+ g_signal_connect((priv->source_selector), "changed",
+ G_CALLBACK (field_changed_cb), mpage);
+
+ g_signal_connect((priv->start_date), "changed",
+ G_CALLBACK (field_changed_cb), mpage);
if (priv->name_selector) {
ENameSelectorDialog *name_selector_dialog;
@@ -964,6 +1000,7 @@ init_widgets (MemoPage *mpage)
g_signal_connect (name_selector_dialog, "response",
G_CALLBACK (response_cb), mpage);
g_signal_connect ((priv->to_button), "clicked", G_CALLBACK (to_button_clicked_cb), mpage);
+ g_signal_connect ((priv->to_entry), "changed", G_CALLBACK (field_changed_cb), mpage);
}
memo_page_set_show_categories (mpage, calendar_config_get_show_categories());