diff options
-rw-r--r-- | widgets/misc/ChangeLog | 5 | ||||
-rw-r--r-- | widgets/misc/e-send-options.c | 636 | ||||
-rw-r--r-- | widgets/misc/e-send-options.glade | 1188 | ||||
-rw-r--r-- | widgets/misc/e-send-options.h | 110 |
4 files changed, 1939 insertions, 0 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog index 8185300b22..8d008daea6 100644 --- a/widgets/misc/ChangeLog +++ b/widgets/misc/ChangeLog @@ -1,5 +1,10 @@ 2005-01-06 Chenthill Palanisamy <pchenthill@novell.com> + Commiting the files mentioned below again to HEAD since it + was not added in head. + +2005-01-06 Chenthill Palanisamy <pchenthill@novell.com> + merging send options * Makefile.am: * e-send-options.[ch]: Widgets for the send options dialog diff --git a/widgets/misc/e-send-options.c b/widgets/misc/e-send-options.c new file mode 100644 index 0000000000..f8aad5c94b --- /dev/null +++ b/widgets/misc/e-send-options.c @@ -0,0 +1,636 @@ +/* Evolution calendar - Main page of the Groupwise send options Dialog + * + * Copyright (C) 2004 Novell, Inc. + * + * Authors: Chenthill Palanisamy <pchenthill@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 Place, Suite 330, Bangalore, MA 02111-1307, India. + */ + +#include <string.h> +#include <glib.h> +#include <gtk/gtksignal.h> +#include <gtk/gtktogglebutton.h> +#include <gtk/gtk.h> +#include <libgnome/gnome-i18n.h> +#include <glade/glade.h> +#include <time.h> +#include "e-dateedit.h" +#include "e-send-options.h" + + +struct _ESendOptionsDialogPrivate { + /* Glade XML data */ + GladeXML *xml; + + gboolean gopts_needed; + + /* Widgets */ + + GtkWidget *main; + + /* Noteboook to add options page and status tracking page*/ + GtkNotebook *notebook; + + /* priority */ + GtkWidget *priority; + + /* Classification */ + GtkWidget *classification; + + /* Widgets for Reply Requestion options */ + GtkWidget *reply_request; + GtkWidget *reply_convenient; + GtkWidget *reply_within; + GtkWidget *within_days; + + /* Widgets for delay delivery Option */ + GtkWidget *delay_delivery; + GtkWidget *delay_until; + + /* Widgets for Choosing expiration date */ + GtkWidget *expiration; + GtkWidget *expire_after; + + /* Widgets to for tracking information through sent Item */ + GtkWidget *create_sent; + GtkWidget *delivered; + GtkWidget *delivered_opened; + GtkWidget *all_info; + GtkWidget *autodelete; + + /* Widgets for setting the Return Notification */ + GtkWidget *when_opened; + GtkWidget *when_declined; + GtkWidget *when_accepted; + GtkWidget *when_completed; + + /* label widgets */ + GtkWidget *classification_label; + GtkWidget *priority_label; + GtkWidget *gopts_label; + GtkWidget *sopts_label; + GtkWidget *opened_label; + GtkWidget *declined_label; + GtkWidget *accepted_label; + GtkWidget *completed_label; + GtkWidget *until_label; +}; + +static void e_sendoptions_dialog_class_init (GObjectClass *object_class); +static void e_sendoptions_dialog_finalize (GObject *object); +static void e_sendoptions_dialog_init (GObject *object); +static void e_sendoptions_dialog_dispose (GObject *object); + + +static void +e_send_options_get_widgets_data (ESendOptionsDialog *sod) +{ + ESendOptionsDialogPrivate *priv; + ESendOptionsGeneral *gopts; + ESendOptionsStatusTracking *sopts; + + priv = sod->priv; + gopts = sod->data->gopts; + sopts = sod->data->sopts; + + gopts->priority = gtk_combo_box_get_active ((GtkComboBox *) priv->priority); + + gopts->reply_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->reply_request)); + gopts->reply_convenient = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->reply_convenient)); + gopts->reply_within = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (priv->within_days)); + + gopts->expiration_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->expiration)); + gopts->expire_after = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (priv->expire_after)); + gopts->delay_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->delay_delivery)); + + if (e_date_edit_date_is_valid (E_DATE_EDIT (priv->delay_until)) && + e_date_edit_time_is_valid (E_DATE_EDIT(priv->delay_until))) + gopts->delay_until = e_date_edit_get_time (E_DATE_EDIT (priv->delay_until)); + + sopts->tracking_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->create_sent)); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->delivered))) + sopts->track_when = E_DELIVERED; + else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->delivered_opened))) + sopts->track_when = E_DELIVERED_OPENED; + else + sopts->track_when = E_ALL; + + sopts->opened = gtk_combo_box_get_active ((GtkComboBox *) priv->when_opened); + sopts->accepted = gtk_combo_box_get_active ((GtkComboBox *) priv->when_accepted); + sopts->declined = gtk_combo_box_get_active ((GtkComboBox *) priv->when_declined); + sopts->completed = gtk_combo_box_get_active ((GtkComboBox *) priv->when_completed); +} + +static void +e_send_options_fill_widgets_with_data (ESendOptionsDialog *sod) +{ + ESendOptionsDialogPrivate *priv; + ESendOptionsGeneral *gopts; + ESendOptionsStatusTracking *sopts; + time_t tmp; + + priv = sod->priv; + gopts = sod->data->gopts; + sopts = sod->data->sopts; + tmp = time (NULL); + + gtk_combo_box_set_active ((GtkComboBox *) priv->priority, gopts->priority); + + if (gopts->reply_enabled) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->reply_request), TRUE); + else + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->reply_request), FALSE); + + if (gopts->reply_convenient) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->reply_convenient), TRUE); + else + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->reply_within), TRUE); + + gtk_spin_button_set_value (GTK_SPIN_BUTTON (priv->within_days), (gdouble) gopts->reply_within); + + if (gopts->expiration_enabled) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->expiration), TRUE); + else + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->expiration), FALSE); + + gtk_spin_button_set_value (GTK_SPIN_BUTTON (priv->expire_after), (gdouble) gopts->expire_after); + + if (gopts->delay_enabled) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->delay_delivery), TRUE); + else + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->delay_delivery), FALSE); + + if (!gopts->delay_until || (!difftime (gopts->delay_until, tmp) < 0)) + e_date_edit_set_time (E_DATE_EDIT (priv->delay_until), 0); + else + e_date_edit_set_time (E_DATE_EDIT (priv->delay_until), gopts->delay_until); + + if (sopts->tracking_enabled) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->create_sent), TRUE); + else + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->create_sent), FALSE); + + switch (sopts->track_when) { + case E_DELIVERED: + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->delivered), TRUE); + break; + case E_DELIVERED_OPENED: + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->delivered_opened), TRUE); + break; + case E_ALL: + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->all_info), TRUE); + } + + gtk_combo_box_set_active ((GtkComboBox *) priv->when_opened, sopts->opened); + gtk_combo_box_set_active ((GtkComboBox *) priv->when_declined, sopts->declined); + gtk_combo_box_set_active ((GtkComboBox *) priv->when_accepted, sopts->accepted); + gtk_combo_box_set_active ((GtkComboBox *) priv->when_completed, sopts->completed); + +} + +static void +sensitize_widgets (ESendOptionsDialog *sod) +{ + ESendOptionsDialogPrivate *priv; + ESendOptionsGeneral *gopts; + ESendOptionsStatusTracking *sopts; + + priv = sod->priv; + gopts = sod->data->gopts; + sopts = sod->data->sopts; + + if (!gopts->reply_enabled) { + gtk_widget_set_sensitive (priv->reply_convenient, FALSE); + gtk_widget_set_sensitive (priv->reply_within, FALSE); + gtk_widget_set_sensitive (priv->within_days, FALSE); + } + + if (!gopts->expiration_enabled) + gtk_widget_set_sensitive (priv->expire_after, FALSE); + + if (!gopts->delay_enabled){ + gtk_widget_set_sensitive (priv->delay_until, FALSE); + } + + if (!sopts->tracking_enabled) { + gtk_widget_set_sensitive (priv->delivered, FALSE); + gtk_widget_set_sensitive (priv->delivered_opened, FALSE); + gtk_widget_set_sensitive (priv->all_info, FALSE); + } +} + +static void +expiration_toggled_cb (GtkWidget *toggle, gpointer data) +{ + gboolean active; + ESendOptionsDialog *sod; + ESendOptionsDialogPrivate *priv; + + sod = data; + priv = sod->priv; + + active = GTK_TOGGLE_BUTTON (toggle)->active; + + gtk_widget_set_sensitive (priv->expire_after, active); +} + +static void +reply_request_toggled_cb (GtkWidget *toggle, gpointer data) +{ + gboolean active; + ESendOptionsDialog *sod; + ESendOptionsDialogPrivate *priv; + + sod = data; + priv = sod->priv; + active = GTK_TOGGLE_BUTTON (toggle)->active; + + gtk_widget_set_sensitive (priv->reply_convenient, active); + gtk_widget_set_sensitive (priv->reply_within, active); + gtk_widget_set_sensitive (priv->within_days, active); + +} + +static void +delay_delivery_toggled_cb (GtkWidget *toggle, gpointer data) +{ + gboolean active; + ESendOptionsDialog *sod; + ESendOptionsDialogPrivate *priv; + + sod = data; + priv = sod->priv; + active = GTK_TOGGLE_BUTTON (toggle)->active; + + gtk_widget_set_sensitive (priv->delay_until, active); +} + +static void +sent_item_toggled_cb (GtkWidget *toggle, gpointer data) +{ + gboolean active; + ESendOptionsDialog *sod; + ESendOptionsDialogPrivate *priv; + + sod = data; + priv = sod->priv; + active = GTK_TOGGLE_BUTTON (toggle)->active; + + gtk_widget_set_sensitive (priv->delivered, active); + gtk_widget_set_sensitive (priv->delivered_opened, active); + gtk_widget_set_sensitive (priv->all_info, active); + +} + +static void +delay_until_date_changed_cb (GtkWidget *dedit, gpointer data) +{ + ESendOptionsDialog *sod; + ESendOptionsDialogPrivate *priv; + ESendOptionsGeneral *gopts; + time_t tmp, current; + + sod = data; + priv = sod->priv; + gopts = sod->data->gopts; + + current = time (NULL); + tmp = e_date_edit_get_time (E_DATE_EDIT (priv->delay_until)); + + if ((difftime (tmp, current) < 0) || !e_date_edit_time_is_valid (E_DATE_EDIT (priv->delay_until)) + || !e_date_edit_date_is_valid (E_DATE_EDIT (priv->delay_until))) + e_date_edit_set_time (E_DATE_EDIT (priv->delay_until), 0); + +} + +static void +init_widgets (ESendOptionsDialog *sod) +{ + ESendOptionsDialogPrivate *priv; + + priv = sod->priv; + + g_signal_connect (priv->expiration, "toggled", G_CALLBACK (expiration_toggled_cb), sod); + g_signal_connect (priv->reply_request, "toggled", G_CALLBACK (reply_request_toggled_cb), sod); + g_signal_connect (priv->delay_delivery, "toggled", G_CALLBACK (delay_delivery_toggled_cb), sod); + g_signal_connect (priv->create_sent, "toggled", G_CALLBACK (sent_item_toggled_cb), sod); + + g_signal_connect (priv->delay_until, "changed", G_CALLBACK (delay_until_date_changed_cb), sod); + +} + +static gboolean +get_widgets (ESendOptionsDialog *sod) +{ + ESendOptionsDialogPrivate *priv; + + priv = sod->priv; + +#define GW(name) glade_xml_get_widget (priv->xml, name) + + priv->main = GW ("send-options-dialog"); + if (!priv->main) + return FALSE; + + priv->priority = GW ("combo-priority"); + priv->classification = GW ("classification-combo"); + priv->notebook = GW ("notebook"); + priv->reply_request = GW ("reply-request-button"); + priv->reply_convenient = GW ("reply-convinient"); + priv->reply_within = GW ("reply-within"); + priv->within_days = GW ("within-days"); + priv->delay_delivery = GW ("delay-delivery-button"); + priv->delay_until = GW ("until-date"); + gtk_widget_show (priv->delay_until); + priv->expiration = GW ("expiration-button"); + priv->expire_after = GW ("expire-after"); + priv->create_sent = GW ("create-sent-button"); + priv->delivered = GW ("delivered"); + priv->delivered_opened = GW ("delivered-opened"); + priv->all_info = GW ("all-info"); + priv->autodelete = GW ("autodelete"); + priv->when_opened = GW ("open-combo"); + priv->when_declined = GW ("delete-combo"); + priv->when_accepted = GW ("accept-combo"); + priv->when_completed = GW ("complete-combo"); + priv->classification_label = GW ("classification-label"); + priv->gopts_label = GW ("gopts-label"); + priv->sopts_label = GW ("sopts-label"); + priv->priority_label = GW ("priority-label"); + priv->until_label = GW ("until-label"); + priv->opened_label = GW ("opened-label"); + priv->declined_label = GW ("declined-label"); + priv->accepted_label = GW ("accepted-label"); + priv->completed_label = GW ("completed-label"); + +#undef GW + + return (priv->priority + && priv->classification + && priv->reply_request + && priv->reply_convenient + && priv->reply_within + && priv->within_days + && priv->delay_delivery + && priv->delay_until + && priv->expiration + && priv->expire_after + && priv->create_sent + && priv->delivered + && priv->delivered_opened + && priv->autodelete + && priv->all_info + && priv->when_opened + && priv->when_declined + && priv->when_accepted + && priv->when_completed + && priv->classification_label + && priv->priority_label + && priv->opened_label + && priv->gopts_label + && priv->sopts_label + && priv->declined_label + && priv->accepted_label + && priv->completed_label); + +} + +static void +setup_widgets (ESendOptionsDialog *sod, Item_type type) +{ + ESendOptionsDialogPrivate *priv; + + priv = sod->priv; + + if (!priv->gopts_needed) { + gtk_notebook_set_current_page (priv->notebook, 1); + gtk_widget_hide (priv->delay_until); + } else + gtk_notebook_set_show_tabs (priv->notebook, TRUE); + + gtk_label_set_mnemonic_widget (GTK_LABEL (priv->priority_label), priv->priority); + gtk_label_set_mnemonic_widget (GTK_LABEL (priv->classification_label), priv->classification); + gtk_label_set_mnemonic_widget (GTK_LABEL (priv->accepted_label), priv->when_accepted); + gtk_label_set_mnemonic_widget (GTK_LABEL (priv->declined_label), priv->when_declined); + gtk_label_set_mnemonic_widget (GTK_LABEL (priv->opened_label), priv->when_opened); + gtk_label_set_mnemonic_widget (GTK_LABEL (priv->completed_label), priv->when_completed); + gtk_label_set_mnemonic_widget (GTK_LABEL (priv->until_label), priv->delay_until); + + switch (type) { + case E_ITEM_MAIL: + gtk_widget_hide (priv->accepted_label); + gtk_widget_hide (priv->when_accepted); + gtk_widget_hide (priv->completed_label); + gtk_widget_hide (priv->when_completed); + gtk_label_set_text_with_mnemonic (GTK_LABEL (priv->declined_label), (_("When de_leted:"))); + break; + case E_ITEM_CALENDAR: + gtk_widget_hide (priv->completed_label); + gtk_widget_hide (priv->when_completed); + case E_ITEM_TASK: + gtk_widget_hide (priv->classification_label); + gtk_widget_hide (priv->classification); + gtk_widget_set_sensitive (priv->autodelete, FALSE); + break; + default: + break; + } +} + +ESendOptionsDialog * +e_sendoptions_dialog_new (void) { + ESendOptionsDialog *sod; + + sod = g_object_new (E_TYPE_SENDOPTIONS_DIALOG, NULL); + + return sod; +} + +void +e_sendoptions_set_need_general_options (ESendOptionsDialog *sod, gboolean needed) +{ + g_return_if_fail (E_IS_SENDOPTIONS_DIALOG (sod)); + + sod->priv->gopts_needed = needed; +} + +gboolean +e_sendoptions_get_need_general_options (ESendOptionsDialog *sod) +{ + g_return_val_if_fail (E_IS_SENDOPTIONS_DIALOG (sod), FALSE); + + return sod->priv->gopts_needed; +} + +GtkWidget * send_options_make_dateedit (void); + +GtkWidget * +send_options_make_dateedit (void) +{ + EDateEdit *dedit; + + dedit = E_DATE_EDIT (e_date_edit_new ()); + + e_date_edit_set_show_date (dedit, TRUE); + e_date_edit_set_show_time (dedit, TRUE); + + return GTK_WIDGET (dedit); +} + +gboolean +e_sendoptions_dialog_run (ESendOptionsDialog *sod, GtkWidget *parent, Item_type type) +{ + ESendOptionsDialogPrivate *priv; + GtkWidget *toplevel; + int result; + + priv = sod->priv; + priv->xml = glade_xml_new (EVOLUTION_GLADEDIR "/e-send-options.glade", NULL, NULL); + + if (!priv->xml) { + g_message ( G_STRLOC ": Could not load the Glade XML file "); + return FALSE; + } + + if (!get_widgets(sod)) { + g_object_unref (priv->xml); + g_message (G_STRLOC ": Could not get the Widgets \n"); + return FALSE; + } + + setup_widgets (sod, type); + + toplevel = gtk_widget_get_toplevel (priv->main); + gtk_window_set_transient_for (GTK_WINDOW (toplevel), + GTK_WINDOW (parent)); + + e_send_options_fill_widgets_with_data (sod); + sensitize_widgets (sod); + init_widgets (sod); + + result = gtk_dialog_run (GTK_DIALOG (priv->main)); + + if (result == GTK_RESPONSE_OK) + e_send_options_get_widgets_data (sod); + + gtk_widget_hide (priv->main); + gtk_widget_destroy (priv->main); + g_object_unref (priv->xml); + + return TRUE; +} + +static void +e_sendoptions_dialog_finalize (GObject *object) +{ +} + +static void +e_sendoptions_dialog_dispose (GObject *object) +{ +} + +/* Object initialization function for the task page */ +static void +e_sendoptions_dialog_init (GObject *object) +{ + ESendOptionsDialog *sod; + ESendOptionsDialogPrivate *priv; + ESendOptionsData *new; + + + sod = E_SENDOPTIONS_DIALOG (object); + new = g_new0 (ESendOptionsData, 1); + new->gopts = g_new0 (ESendOptionsGeneral, 1); + new->sopts = g_new0 (ESendOptionsStatusTracking, 1); + priv = g_new0 (ESendOptionsDialogPrivate, 1); + + sod->priv = priv; + sod->data = new; + sod->data->initialized = FALSE; + + priv->gopts_needed = TRUE; + priv->xml = NULL; + + priv->main = NULL; + priv->notebook = NULL; + priv->priority = NULL; + priv->classification = NULL; + priv->reply_request = NULL; + priv->reply_convenient = NULL; + priv->within_days = NULL; + priv->delay_delivery = NULL; + priv->delay_until = NULL; + priv->expiration = NULL; + priv->expire_after = NULL; + priv->create_sent = NULL; + priv->delivered =NULL; + priv->delivered_opened = NULL; + priv->all_info = NULL; + priv->when_opened = NULL; + priv->when_declined = NULL; + priv->when_accepted = NULL; + priv->when_completed = NULL; + priv->classification_label = NULL; + priv->priority_label = NULL; + priv->opened_label = NULL; + priv->gopts_label = NULL; + priv->sopts_label = NULL; + priv-> declined_label = NULL; + priv->accepted_label = NULL; + priv->completed_label = NULL; + +} + +/* Class initialization function for the Send Options */ +static void +e_sendoptions_dialog_class_init (GObjectClass *object) +{ + ESendOptionsDialogClass *klass; + GObjectClass *object_class; + GtkWidgetClass *widget_class; + + klass = E_SENDOPTIONS_DIALOG_CLASS (object); + object_class = G_OBJECT_CLASS (klass); + widget_class = GTK_WIDGET_CLASS (klass); + + object_class->finalize = e_sendoptions_dialog_finalize; + object_class->dispose = e_sendoptions_dialog_dispose; +} + +GType e_sendoptions_dialog_get_type (void) +{ + static GType type = 0; + if (type == 0) { + static const GTypeInfo info = { + sizeof (ESendOptionsDialogClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) e_sendoptions_dialog_class_init, /* class_init */ + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (ESendOptionsDialog), + 0, /* n_preallocs */ + (GInstanceInitFunc) e_sendoptions_dialog_init, + NULL /* instance_init */ + }; + type = g_type_register_static (G_TYPE_OBJECT, + "ESendOptionsDialogType", + &info, 0); + } + return type; +} + diff --git a/widgets/misc/e-send-options.glade b/widgets/misc/e-send-options.glade new file mode 100644 index 0000000000..6c973fbc0d --- /dev/null +++ b/widgets/misc/e-send-options.glade @@ -0,0 +1,1188 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> +<requires lib="gnome"/> + +<widget class="GtkDialog" id="send-options-dialog"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="title" translatable="yes">Send Options</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_MOUSE</property> + <property name="modal">True</property> + <property name="resizable">False</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="has_separator">True</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="vbox"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="helpbutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-help</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-11</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="cancelbutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="okbutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-ok</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkNotebook" id="notebook"> + <property name="visible">True</property> + <property name="show_tabs">False</property> + <property name="show_border">True</property> + <property name="tab_pos">GTK_POS_TOP</property> + <property name="scrollable">False</property> + <property name="enable_popup">False</property> + + <child> + <widget class="GtkTable" id="general-options"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="n_rows">4</property> + <property name="n_columns">4</property> + <property name="homogeneous">False</property> + <property name="row_spacing">12</property> + <property name="column_spacing">12</property> + + <child> + <widget class="GtkLabel" id="label92"> + <property name="visible">True</property> + <property name="label" translatable="yes"></property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">4</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame16"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + + <child> + <widget class="GtkTable" id="table32"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">3</property> + <property name="homogeneous">False</property> + <property name="row_spacing">12</property> + <property name="column_spacing">12</property> + + <child> + <widget class="GtkCheckButton" id="reply-request-button"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">R_eply requested</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">3</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkAlignment" id="alignment38"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkTable" id="table33"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">3</property> + <property name="homogeneous">False</property> + <property name="row_spacing">12</property> + <property name="column_spacing">12</property> + + <child> + <widget class="GtkRadioButton" id="reply-within"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">W_ithin</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="within-days"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">5 0 100 1 10 10</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label93"> + <property name="visible">True</property> + <property name="label" translatable="yes">days</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="reply-convinient"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_When convenient</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">reply-within</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">3</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label94"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Replies</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">4</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame17"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + + <child> + <widget class="GtkTable" id="table34"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="n_rows">4</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">0</property> + <property name="column_spacing">0</property> + + <child> + <widget class="GtkCheckButton" id="delay-delivery-button"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Delay message delivery</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label95"> + <property name="visible">True</property> + <property name="label" translatable="yes"></property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkAlignment" id="alignment39"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkHBox" id="hbox11"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label96"> + <property name="visible">True</property> + <property name="label" translatable="yes">_After:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">expire-after</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="expire-after"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">2 0 100 1 10 10</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label97"> + <property name="visible">True</property> + <property name="label" translatable="yes">days</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="expiration-button"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Set expiration date</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label98"> + <property name="visible">True</property> + <property name="label" translatable="yes"></property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkAlignment" id="alignment40"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkHBox" id="hbox13"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="until-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Until:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="Custom" id="until-date"> + <property name="visible">True</property> + <property name="creation_function">send_options_make_dateedit</property> + <property name="int1">0</property> + <property name="int2">0</property> + <property name="last_modification_time">Wed, 08 Dec 2004 16:19:08 GMT</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label103"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Delivery Options</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">4</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkComboBox" id="combo-priority"> + <property name="visible">True</property> + <property name="items" translatable="yes">Undefined +High +Standard +Low</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="priority-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Priority:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="classification-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">C_lassification</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkComboBox" id="classification-combo"> + <property name="visible">True</property> + <property name="items" translatable="yes">Public +Private +Confidential +</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options">fill</property> + </packing> + </child> + </widget> + <packing> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="gopts-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Gene_ral Options</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="type">tab</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="status-tracking"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkFrame" id="frame18"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + + <child> + <widget class="GtkAlignment" id="alignment42"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox10"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkCheckButton" id="create-sent-button"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Creat_e a sent item to track information</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkAlignment" id="alignment46"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">19</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkRadioButton" id="delivered"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Delivered</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkAlignment" id="alignment47"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">19</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkRadioButton" id="delivered-opened"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Deli_vered and opened</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">delivered</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkAlignment" id="alignment48"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">19</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkRadioButton" id="all-info"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_All information</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">delivered</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkAlignment" id="alignment56"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">19</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkCheckButton" id="autodelete"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">A_uto-delete sent item</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label106"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Status Tracking</b></property> + <property name="use_underline">True</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame19"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + + <child> + <widget class="GtkAlignment" id="alignment43"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkTable" id="table35"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="n_rows">4</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">12</property> + <property name="column_spacing">12</property> + + <child> + <widget class="GtkLabel" id="opened-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">_When opened: </property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="declined-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">When decli_ned: </property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="completed-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">When co_mpleted:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="accepted-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">When acce_pted: </property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkComboBox" id="open-combo"> + <property name="visible">True</property> + <property name="items" translatable="yes">None +Mail Receipt</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkComboBox" id="delete-combo"> + <property name="visible">True</property> + <property name="items" translatable="yes">None +Mail Receipt +</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkComboBox" id="accept-combo"> + <property name="visible">True</property> + <property name="items" translatable="yes">None +Mail Receipt</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkComboBox" id="complete-combo"> + <property name="visible">True</property> + <property name="items" translatable="yes">None +Mail Receipt</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label111"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Return Notification</b></property> + <property name="use_underline">True</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + <packing> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="sopts-label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Sta_tus Tracking</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="type">tab</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/widgets/misc/e-send-options.h b/widgets/misc/e-send-options.h new file mode 100644 index 0000000000..180325c034 --- /dev/null +++ b/widgets/misc/e-send-options.h @@ -0,0 +1,110 @@ + /* Evolution calendar - Timezone selector dialog + * + * Copyright (C) 2001 Ximian, Inc. + * + * Authors: Damon Chaplin <damon@ximian.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 Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __E_SENDOPTIONS_DIALOG_H__ +#define __E_SENDOPTIONS_DIALOG_H__ + +#include <gtk/gtkwidget.h> +#include <gtk/gtk.h> +#include <time.h> + +#define E_TYPE_SENDOPTIONS_DIALOG (e_sendoptions_dialog_get_type ()) +#define E_SENDOPTIONS_DIALOG(obj) (GTK_CHECK_CAST ((obj), E_TYPE_SENDOPTIONS_DIALOG, ESendOptionsDialog)) +#define E_SENDOPTIONS_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_SENDOPTIONS_DIALOG, ESendOptionsDialogClass)) +#define E_IS_SENDOPTIONS_DIALOG(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_SENDOPTIONS_DIALOG)) +#define E_IS_SENDOPTIONS_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), E_TYPE_SENDOPTIONS_DIALOG)) + +typedef struct _ESendOptionsDialog ESendOptionsDialog; +typedef struct _ESendOptionsDialogClass ESendOptionsDialogClass; +typedef struct _ESendOptionsDialogPrivate ESendOptionsDialogPrivate; + +typedef enum { + E_ITEM_MAIL, + E_ITEM_CALENDAR, + E_ITEM_TASK +} Item_type; + +typedef enum { + E_PRIORITY_UNDEFINED, + E_PRIORITY_HIGH, + E_PRIORITY_STANDARD, + E_PRIORITY_LOW +} ESendOptionsPriority; + +typedef enum { + E_RETURN_NOTIFY_NONE, + E_RETURN_NOTIFY_MAIL +} ESendOptionsReturnNotify; + +typedef enum { + E_DELIVERED = 1, + E_DELIVERED_OPENED = 2, + E_ALL = 3 +} TrackInfo; + +typedef struct { + ESendOptionsPriority priority; + gboolean reply_enabled; + gboolean reply_convenient; + gint reply_within; + gboolean expiration_enabled; + gint expire_after; + gboolean delay_enabled; + time_t delay_until; +} ESendOptionsGeneral; + +typedef struct { + gboolean tracking_enabled; + TrackInfo track_when; + gboolean autodelete; + ESendOptionsReturnNotify opened; + ESendOptionsReturnNotify accepted; + ESendOptionsReturnNotify declined; + ESendOptionsReturnNotify completed; +} ESendOptionsStatusTracking; + +typedef struct { + gboolean initialized; + + ESendOptionsGeneral *gopts; + ESendOptionsStatusTracking *sopts; + +} ESendOptionsData; + +struct _ESendOptionsDialog { + GObject object; + + ESendOptionsData *data; + /* Private data */ + ESendOptionsDialogPrivate *priv; +}; + +struct _ESendOptionsDialogClass { + GObjectClass parent_class; +}; + +GType e_sendoptions_dialog_get_type (void); +ESendOptionsDialog *e_sendoptions_dialog_new (void); +void e_sendoptions_set_need_general_options (ESendOptionsDialog *sod, gboolean needed); +gboolean e_sendoptions_get_need_general_options (ESendOptionsDialog *sod); +gboolean e_sendoptions_dialog_run (ESendOptionsDialog *sod, GtkWidget *parent, Item_type type); + +#endif |