diff options
author | Parthasarathi@novell.com <sparthasarathi@novell.com> | 2005-01-10 23:23:03 +0800 |
---|---|---|
committer | Parthasarathi Susarla <saps@src.gnome.org> | 2005-01-10 23:23:03 +0800 |
commit | a943c41ddea6d2dd8163e0de5d0d1475c141b163 (patch) | |
tree | 6ae39903ddd42c4ecf962da2e61cedfbdebe99a6 /plugins | |
parent | a73c3fbef6c5089593c63b557498e780b5693a98 (diff) | |
download | gsoc2013-evolution-a943c41ddea6d2dd8163e0de5d0d1475c141b163.tar gsoc2013-evolution-a943c41ddea6d2dd8163e0de5d0d1475c141b163.tar.gz gsoc2013-evolution-a943c41ddea6d2dd8163e0de5d0d1475c141b163.tar.bz2 gsoc2013-evolution-a943c41ddea6d2dd8163e0de5d0d1475c141b163.tar.lz gsoc2013-evolution-a943c41ddea6d2dd8163e0de5d0d1475c141b163.tar.xz gsoc2013-evolution-a943c41ddea6d2dd8163e0de5d0d1475c141b163.tar.zst gsoc2013-evolution-a943c41ddea6d2dd8163e0de5d0d1475c141b163.zip |
initial check in for groupwise send options
2005-01-10 Parthasarathi@novell.com <sparthasarathi@novell.com>
* initial check in for groupwise send options
svn path=/trunk/; revision=28325
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/groupwise-send-options/Changelog | 3 | ||||
-rw-r--r-- | plugins/groupwise-send-options/Makefile.am | 15 | ||||
-rw-r--r-- | plugins/groupwise-send-options/org-gnome-compose-send-options.eplug.in | 25 | ||||
-rw-r--r-- | plugins/groupwise-send-options/org-gnome-compose-send-options.xml | 17 | ||||
-rw-r--r-- | plugins/groupwise-send-options/send-options.c | 119 | ||||
-rw-r--r-- | plugins/groupwise-send-options/send-options.h | 40 |
6 files changed, 219 insertions, 0 deletions
diff --git a/plugins/groupwise-send-options/Changelog b/plugins/groupwise-send-options/Changelog new file mode 100644 index 0000000000..adaa7597c0 --- /dev/null +++ b/plugins/groupwise-send-options/Changelog @@ -0,0 +1,3 @@ +2005-01-10 Parthasarathi@novell.com <sparthasarathi@novell.com> + + * initial check in for groupwise send options diff --git a/plugins/groupwise-send-options/Makefile.am b/plugins/groupwise-send-options/Makefile.am new file mode 100644 index 0000000000..b30ce1f03e --- /dev/null +++ b/plugins/groupwise-send-options/Makefile.am @@ -0,0 +1,15 @@ +INCLUDES = \ + -I$(top_srcdir) \ + $(EVOLUTION_MAIL_CFLAGS) + +@EVO_PLUGIN_RULE@ + +plugin_DATA = org-gnome-compose-send-options.eplug org-gnome-compose-send-options.xml +plugin_LTLIBRARIES = liborg-gnome-compose-send-options.la + +liborg_gnome_compose_send_options_la_SOURCES = send-options.c send-options.h +liborg_gnome_compose_send_options_la_LDFLAGS = -module -avoid-version + +EXTRA_DIST = \ + org-gnome-compose-send-options.eplug.in \ + org-gnome-compose-send-options.xml diff --git a/plugins/groupwise-send-options/org-gnome-compose-send-options.eplug.in b/plugins/groupwise-send-options/org-gnome-compose-send-options.eplug.in new file mode 100644 index 0000000000..2fc06d389e --- /dev/null +++ b/plugins/groupwise-send-options/org-gnome-compose-send-options.eplug.in @@ -0,0 +1,25 @@ +<?xml version="1.0"?> +<e-plugin-list> + <e-plugin + type="shlib" + id="org.gnome.evolution.plugin.compose.sendoptions" + location="@PLUGINDIR@/liborg-gnome-compose-send-options.so" + name="Send options in compose for GW"> + <description>Lets you have the send options menu item in the composer window for groupwise mails</description> + <author name="Parthasarathi Susarla" email="sparthasarathi@novell.com"/> + + <!-- hook into the popup menu --> + <hook class="org.gnome.evolution.mail.bonobomenu:1.0"> + <menu id="org.gnome.evolution.mail.composer" target="select"> + <ui file="@PLUGINDIR@/org-gnome-compose-send-options.xml"/> + <item + type="item" + verb="EPSOSendOptions" + path="/commands/EPSOSendOptions" + enable="one" + activate="org_gnome_compose_send_options"/> + </menu> + </hook> + + </e-plugin> +</e-plugin-list> diff --git a/plugins/groupwise-send-options/org-gnome-compose-send-options.xml b/plugins/groupwise-send-options/org-gnome-compose-send-options.xml new file mode 100644 index 0000000000..c5947c6a33 --- /dev/null +++ b/plugins/groupwise-send-options/org-gnome-compose-send-options.xml @@ -0,0 +1,17 @@ +<Root> + <commands> + <cmd name="EPSOSendOptions" _label="Send Options" + _tip="Add Send Options to groupwise messages"/> + </commands> + + <menu> + <submenu name="Insert"> + <placeholder name="Component"> + <separator f="" name="sendoptions1"/> + <menuitem name="EPSOSendOptions" verb=""/> + <separator f="" name="sendoptions2"/> + </placeholder> + </submenu> + + </menu> +</Root> diff --git a/plugins/groupwise-send-options/send-options.c b/plugins/groupwise-send-options/send-options.c new file mode 100644 index 0000000000..4311efd817 --- /dev/null +++ b/plugins/groupwise-send-options/send-options.c @@ -0,0 +1,119 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Authors: Parthasarathi Susarla <sparthasarathi@novell.com> + * + * Copyright 2004 Novell, Inc. (www.novell.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. + * + */ + + +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <string.h> +#include <stdio.h> + +#include <glib.h> +#include <glib/gi18n.h> + +#include "send-options.h" + +#include "mail/em-menu.h" +#include "mail/em-utils.h" + +#include "composer/e-msg-composer.h" +#include "e-util/e-account.h" + +#include "widgets/misc/e-send-options.h" + +static ESendOptionsDialog * dialog ; + +void org_gnome_compose_send_options (EPlugin *ep, EMMenuTargetWidget *t); + +void +org_gnome_compose_send_options (EPlugin *ep, EMMenuTargetWidget *t) +{ + struct _EMenuTarget menu = t->target ; + EMsgComposer *comp = (struct _EMsgComposer *)menu.widget ; + EAccount *account = NULL ; + char *url, *temp = NULL ; + + account = e_msg_composer_get_preferred_account (comp) ; + url = g_strdup (account->transport->url) ; + temp = strstr (url, "groupwise") ; + if (!temp) { + g_print ("Sorry send options only available for a groupwise account\n") ; + goto done ; + } + g_free (temp) ; + /*disply the send options dialog*/ + if (!dialog) { + g_print ("New dialog\n\n") ; + dialog = e_sendoptions_dialog_new () ; + } + + e_sendoptions_dialog_run (dialog, menu.widget, E_ITEM_MAIL) ; + + return ; + /*General Options*/ + + if (dialog->data->gopts->reply_enabled) { + if (dialog->data->gopts->reply_convenient) + e_msg_composer_add_header (comp, X_REPLY_CONVENIENT ,"1" ) ; + else if (dialog->data->gopts->reply_within) { + temp = g_strdup_printf ("%d", dialog->data->gopts->reply_within) ; + e_msg_composer_add_header (comp, X_REPLY_WITHIN , temp) ; + g_free (temp) ; + } + } + + if (dialog->data->gopts->expiration_enabled) { + if (dialog->data->gopts->expire_after != 0) { + temp = g_strdup_printf ("%d", dialog->data->gopts->expire_after) ; + e_msg_composer_add_header (comp, X_EXPIRE_AFTER, temp) ; + g_free (temp) ; + } + } + if (dialog->data->gopts->delay_enabled) { + + e_msg_composer_add_header (comp, X_DELAY_UNTIL, temp) ; + g_free (temp) ; + } + + /*Status Tracking Options*/ + if (dialog->data->sopts->tracking_enabled) { + temp = g_strdup_printf ("%d",dialog->data->sopts->track_when) ; + e_msg_composer_add_header (comp, X_TRACK_WHEN, temp) ; + g_free (temp) ; + } + + if (dialog->data->sopts->autodelete) { + e_msg_composer_add_header (comp, X_AUTODELETE, "1") ; + } + if (dialog->data->sopts->opened) { + temp = g_strdup_printf ("%d",dialog->data->sopts->opened) ; + e_msg_composer_add_header (comp, X_RETURN_NOTIFY_OPEN, temp) ; + g_free (temp) ; + } + if (dialog->data->sopts->declined) { + temp = g_strdup_printf ("%d",dialog->data->sopts->declined) ; + e_msg_composer_add_header (comp, X_RETURN_NOTIFY_DECLINE, temp) ; + g_free (temp) ; + } +done: + g_free (url) ; +} + diff --git a/plugins/groupwise-send-options/send-options.h b/plugins/groupwise-send-options/send-options.h new file mode 100644 index 0000000000..76c79a2a00 --- /dev/null +++ b/plugins/groupwise-send-options/send-options.h @@ -0,0 +1,40 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Authors: Parthasarathi Susarla <sparthasarathi@novell.com> + * + * Copyright 2004 Novell, Inc. (www.novell.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef __GW_SEND_OPTIONS__ +#define __GW_SEND_OPTIONS__ + +/*Headers for send options*/ +#define X_SEND_OPTIONS "X-gw-send-options" +/*General Options*/ +#define X_SEND_OPT_PRIORITY "X-gw-send-opt-priority" +#define X_REPLY_CONVENIENT "X-reply-convenient" +#define X_REPLY_WITHIN "X-reply-within" +#define X_EXPIRE_AFTER "X-expire-after" +#define X_DELAY_UNTIL "X-delay-until" + +/*Status Tracking Options*/ +#define X_TRACK_WHEN "X-track-when" +#define X_AUTODELETE "X-auto-delete" +#define X_RETURN_NOTIFY_OPEN "X-return-notify-open" +#define X_RETURN_NOTIFY_DECLINE "X-return-notify-decline" + +#endif /*__GW_SEND_OPTIONS__*/ |