[evolution-data-server] Bug #268618 - Add: Save replies in the folder of the message being replied to
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Bug #268618 - Add: Save replies in the folder of the message being replied to
- Date: Thu, 18 Oct 2012 17:44:11 +0000 (UTC)
commit c91411fa7cdcbccbd276b5857043138d97d817d9
Author: Milan Crha <mcrha redhat com>
Date: Thu Oct 18 19:43:28 2012 +0200
Bug #268618 - Add: Save replies in the folder of the message being replied to
configure.ac | 2 +-
libedataserver/e-source-mail-submission.c | 73 ++++++++++++++++++++++++++++-
libedataserver/e-source-mail-submission.h | 5 ++
3 files changed, 78 insertions(+), 2 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 75adb87..20ce95c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,7 +87,7 @@ AC_SUBST(SOURCES_DBUS_SERVICE_NAME)
dnl ******************************
dnl Libtool versioning
dnl ******************************
-LIBEDATASERVER_CURRENT=17
+LIBEDATASERVER_CURRENT=18
LIBEDATASERVER_REVISION=0
LIBEDATASERVER_AGE=0
diff --git a/libedataserver/e-source-mail-submission.c b/libedataserver/e-source-mail-submission.c
index ae252fe..84f45a0 100644
--- a/libedataserver/e-source-mail-submission.c
+++ b/libedataserver/e-source-mail-submission.c
@@ -47,12 +47,14 @@ struct _ESourceMailSubmissionPrivate {
GMutex *property_lock;
gchar *sent_folder;
gchar *transport_uid;
+ gboolean replies_to_origin_folder;
};
enum {
PROP_0,
PROP_SENT_FOLDER,
- PROP_TRANSPORT_UID
+ PROP_TRANSPORT_UID,
+ PROP_REPLIES_TO_ORIGIN_FOLDER
};
G_DEFINE_TYPE (
@@ -78,6 +80,12 @@ source_mail_submission_set_property (GObject *object,
E_SOURCE_MAIL_SUBMISSION (object),
g_value_get_string (value));
return;
+
+ case PROP_REPLIES_TO_ORIGIN_FOLDER:
+ e_source_mail_submission_set_replies_to_origin_folder (
+ E_SOURCE_MAIL_SUBMISSION (object),
+ g_value_get_boolean (value));
+ return;
}
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -103,6 +111,13 @@ source_mail_submission_get_property (GObject *object,
e_source_mail_submission_dup_transport_uid (
E_SOURCE_MAIL_SUBMISSION (object)));
return;
+
+ case PROP_REPLIES_TO_ORIGIN_FOLDER:
+ g_value_set_boolean (
+ value,
+ e_source_mail_submission_get_replies_to_origin_folder (
+ E_SOURCE_MAIL_SUBMISSION (object)));
+ return;
}
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -167,6 +182,19 @@ e_source_mail_submission_class_init (ESourceMailSubmissionClass *class)
G_PARAM_CONSTRUCT |
G_PARAM_STATIC_STRINGS |
E_SOURCE_PARAM_SETTING));
+
+ g_object_class_install_property (
+ object_class,
+ PROP_REPLIES_TO_ORIGIN_FOLDER,
+ g_param_spec_boolean (
+ "replies-to-origin-folder",
+ "Replies to origin folder",
+ "Whether to save replies to folder of the message being replied to, instead of the Sent folder",
+ FALSE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS |
+ E_SOURCE_PARAM_SETTING));
}
static void
@@ -342,3 +370,46 @@ e_source_mail_submission_set_transport_uid (ESourceMailSubmission *extension,
g_object_notify (G_OBJECT (extension), "transport-uid");
}
+
+/**
+ * e_source_mail_submission_get_replies_to_origin_folder:
+ * @extension: an #ESourceMailSubmission
+ *
+ * Returns whether save replies in the folder of the message
+ * being replied to, instead of the Sent folder.
+ *
+ * Returns: whether save replies in the folder of the message being replied to
+ *
+ * Since: 3.8
+ **/
+gboolean
+e_source_mail_submission_get_replies_to_origin_folder (ESourceMailSubmission *extension)
+{
+ g_return_val_if_fail (E_IS_SOURCE_MAIL_SUBMISSION (extension), FALSE);
+
+ return extension->priv->replies_to_origin_folder;
+}
+
+/**
+ * e_source_mail_submission_set_replies_to_origin_folder:
+ * @extension: an #ESourceMailSubmission
+ * @replies_to_origin_folder: new value
+ *
+ * Sets whether save replies in the folder of the message
+ * being replied to, instead of the Sent folder.
+ *
+ * Since: 3.8
+ **/
+void
+e_source_mail_submission_set_replies_to_origin_folder (ESourceMailSubmission *extension,
+ gboolean replies_to_origin_folder)
+{
+ g_return_if_fail (E_IS_SOURCE_MAIL_SUBMISSION (extension));
+
+ if ((extension->priv->replies_to_origin_folder ? 1 : 0) == (replies_to_origin_folder ? 1 : 0))
+ return;
+
+ extension->priv->replies_to_origin_folder = replies_to_origin_folder;
+
+ g_object_notify (G_OBJECT (extension), "replies-to-origin-folder");
+}
diff --git a/libedataserver/e-source-mail-submission.h b/libedataserver/e-source-mail-submission.h
index d23e541..4383f52 100644
--- a/libedataserver/e-source-mail-submission.h
+++ b/libedataserver/e-source-mail-submission.h
@@ -93,6 +93,11 @@ gchar * e_source_mail_submission_dup_transport_uid
void e_source_mail_submission_set_transport_uid
(ESourceMailSubmission *extension,
const gchar *transport_uid);
+gboolean e_source_mail_submission_get_replies_to_origin_folder
+ (ESourceMailSubmission *extension);
+void e_source_mail_submission_set_replies_to_origin_folder
+ (ESourceMailSubmission *extension,
+ gboolean replies_to_origin_folder);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]