aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2008-04-03 02:37:22 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-04-03 02:37:22 +0800
commit16068d9b4191ea142a9e75a50eb8d260ed2bb406 (patch)
tree835a7909cd8b352d8c414986f1f5e27697b4de98 /widgets/misc
parentee50e5d68e4f1a793541f1ee4979818ed4940173 (diff)
downloadgsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar
gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar.gz
gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar.bz2
gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar.lz
gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar.xz
gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.tar.zst
gsoc2013-evolution-16068d9b4191ea142a9e75a50eb8d260ed2bb406.zip
** Merge the mbarnes-composer branch
2008-04-02 Matthew Barnes <mbarnes@redhat.com> ** Merge the mbarnes-composer branch * configure.in: Bump libgtkhtml requirement to 3.19.1. Add gtkhtml-editor dependency for addressbook, calendar and mail. Remove print-message plugin; new composer implements this natively. * tools/Makefile.am: Remove CORBA rules for the old composer. * addressbook/gui/widgets/Makefile.am: Remove CORBA rules for the old composer. * addressbook/gui/widgets/eab-gui-util.c (eab_send_to_contact_and_email_num_list), (eab_send_contact_list_as_attachment): Adapt to new Bonobo-less composer widget. * calendar/gui/Makefile.am: Remove CORBA rules for the old composer. * calendar/gui/itip-utils.c (comp_from), (comp_to_list), (comp_subject), (comp_content_type), (comp_filename), (comp_description), (append_cal_attachments), (itip_send_comp), (reply_to_calendar_comp): Adapt to new Bonobo-less composer widget. * composer/Makefile.am: Remove CORBA rules for the old composer. * composer/e-msg-composer.c: * composer/e-msg-composer.h: EMsgComposer is now a subclass of GtkhtmlEditor. Extensive refactoring and cleanup, too much to list in detail. * composer/e-composer-header.c: * composer/e-composer-header.h: Add "sensitive" property along with get/set functions. * composer/e-composer-from-header.c: * composer/e-composer-from-header.h: Propagate "refreshed" signal from EAccountComboBox. Add function e_composer_from_header_get_account_list(). * composer/e-composer-private.c: * composer/e-composer-private.h: New files manage composer's private data. Allows other composer files to manipulate private data. * composer/e-msg-composer-hdrs.c: * composer/e-msg-composer-hdrs.h: Remove these files; replaced by EComposerHeaderTable widget. * composer/evolution-composer.c: * composer/evolution-composer.h: Remove these files; composer is now a subclass of GtkhtmlEditor. * composer/e-msg-composer-select-file.c: * composer/e-msg-composer-select-file.h: Remove these files; logic moved to e-msg-composer.c. * composer/listener.c: * composer/listener.h: Remove these files; event handlers moved to e-msg-composer.c. * composer/Composer.idl: * composer/Evolution-Composer.idl: Remove these files; composer is no longer a Bonobo object. * mail/em-composer-prefs (sig_edit_cb), (em_composer_prefs_new_signature): Adapt to new Bonobo-less signature editor. * mail/mail-signature-editor.c: * mail/mail-signature-editor.h: Rewrite the signature editor as a subclass of GtkhtmlEditor. Eliminates Bonobo from the equation. * mail/em-composer-utils.c (composer_get_message), (em_utils_composer_send_cb), (save_draft_done), (em_utils_composer_save_draft_cb), (create_new_composer), (em_utils_compose_new_message), (em_utils_compose_new_message_with_mailto), (em_utils_post_to_folder), (em_utils_post_to_url), (edit_message), (forward_attached), (forward_non_attached), (reply_get_composer), (composer_set_body), (em_utils_reply_to_message), (post_reply_to_message): Adapt to new Bonobo-less composer. * mail/mail-component-factory.c: Composer is no longer needs a Bonobo factory. * mail/mail-config.c: Fix style pattern for EMsgComposer widgets. * plugins/groupwise/mail-send-options.c (org_gnome_composer_send_options): Adapt to streamlined EMsgComposer API. * plugins/exchange-operations/Makefile.am: Add EVOLUTION_MAIL_CFLAGS and EVOLUTION_MAIL_LIBS. * plugins/exchange-operations/exchange-mail-send-options.c (append_to_header), (org_gnome_exchange_send_options): Adapt to streamlined EMsgComposer API. * plugins/mailing-list-actions/mailing-list-actions.c (emla_list_action_do): Adapt to streamlined EMsgComposer API. * po/POTFILES.in: Update file list for new composer. * ui/evolution-composer-entries.xml: Remove this file; obsoleted by new composer. * widgets/misc/Makefile.am: Add EVOLUTION_MAIL_LIBS. * widgets/misc/e-account-combo-box.c: * widgets/misc/e-account-combo-box.h: New function e_account_combo_box_get_account_list(). Emit a "refreshed" signal when the EAccountList changes. Add an internal reverse-lookup index. * widgets/misc/e-charset-picker.c (e_charser_add_radio_actions): New function adds radio actions to an action group. Will eventually replace e_charset_picker_bonobo_ui_populate(). * widgets/misc/e-signature-combo-box.c: * widgets/misc/e-signature-combo-box.h: New function e_signature_combo_box_get_signature_list(). ... separate issue ... * configure.in: Bump eds_minimum_version to 2.23.1 for CAMEL_FOLDER_JUNKED_NOT_DELETED symbol. svn path=/trunk/; revision=35313
Diffstat (limited to 'widgets/misc')
-rw-r--r--widgets/misc/ChangeLog19
-rw-r--r--widgets/misc/Makefile.am1
-rw-r--r--widgets/misc/e-account-combo-box.c86
-rw-r--r--widgets/misc/e-account-combo-box.h21
-rw-r--r--widgets/misc/e-charset-picker.c130
-rw-r--r--widgets/misc/e-charset-picker.h42
-rw-r--r--widgets/misc/e-signature-combo-box.c27
-rw-r--r--widgets/misc/e-signature-combo-box.h25
8 files changed, 306 insertions, 45 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog
index 13270f833d..e5e59a03e0 100644
--- a/widgets/misc/ChangeLog
+++ b/widgets/misc/ChangeLog
@@ -1,3 +1,22 @@
+2008-04-02 Matthew Barnes <mbarnes@redhat.com>
+
+ * Makefile.am:
+ Add EVOLUTION_MAIL_LIBS.
+
+ * e-account-combo-box.c:
+ * e-account-combo-box.h:
+ New function e_account_combo_box_get_account_list().
+ Emit a "refreshed" signal when the EAccountList changes.
+ Add an internal reverse-lookup index.
+
+ * e-charset-picker.c (e_charser_add_radio_actions):
+ New function adds radio actions to an action group.
+ Will eventually replace e_charset_picker_bonobo_ui_populate().
+
+ * e-signature-combo-box.c:
+ * e-signature-combo-box.h:
+ New function e_signature_combo_box_get_signature_list().
+
2008-03-27 Milan Crha <mcrha@redhat.com>
** Fix for bug #507526
diff --git a/widgets/misc/Makefile.am b/widgets/misc/Makefile.am
index ea02028595..bb3d131ffb 100644
--- a/widgets/misc/Makefile.am
+++ b/widgets/misc/Makefile.am
@@ -138,6 +138,7 @@ libemiscwidgets_la_LIBADD = $(top_builddir)/e-util/libeutil.la \
$(top_builddir)/a11y/libevolution-a11y.la \
$(EVOLUTION_MAIL_LIBS) \
$(GNOME_PLATFORM_LIBS) \
+ $(EVOLUTON_MAIL_LIBS) \
$(ICONV_LIBS)
libefilterbar_la_SOURCES = \
diff --git a/widgets/misc/e-account-combo-box.c b/widgets/misc/e-account-combo-box.c
index 6a96644bfd..37b13866f6 100644
--- a/widgets/misc/e-account-combo-box.c
+++ b/widgets/misc/e-account-combo-box.c
@@ -1,3 +1,22 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2008 Novell, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU Lesser 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 Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
#include "e-account-combo-box.h"
#include <string.h>
@@ -12,12 +31,19 @@ enum {
COLUMN_ACCOUNT
};
+enum {
+ REFRESHED,
+ LAST_SIGNAL
+};
+
struct _EAccountComboBoxPrivate {
EAccountList *account_list;
+ GHashTable *index;
};
static gpointer parent_class;
static CamelSession *camel_session;
+static guint signal_ids[LAST_SIGNAL];
static gboolean
account_combo_box_has_dupes (GList *list,
@@ -86,15 +112,9 @@ account_combo_box_refresh_cb (EAccountList *account_list,
store = gtk_list_store_new (2, G_TYPE_STRING, E_TYPE_ACCOUNT);
model = GTK_TREE_MODEL (store);
+ index = combo_box->priv->index;
- /* Embed a reverse-lookup index into the list store. */
- index = g_hash_table_new_full (
- g_direct_hash, g_direct_equal,
- (GDestroyNotify) g_object_unref,
- (GDestroyNotify) gtk_tree_row_reference_free);
- g_object_set_data_full (
- G_OBJECT (combo_box), "index", index,
- (GDestroyNotify) g_hash_table_destroy);
+ g_hash_table_remove_all (index);
if (account_list == NULL)
goto skip;
@@ -161,6 +181,8 @@ skip:
e_account_combo_box_set_active (combo_box, account);
if (account != NULL)
g_object_unref (account);
+
+ g_signal_emit (combo_box, signal_ids[REFRESHED], 0);
}
static GObject *
@@ -200,11 +222,26 @@ account_combo_box_dispose (GObject *object)
priv->account_list = NULL;
}
+ g_hash_table_remove_all (priv->index);
+
/* Chain up to parent's dispose() method. */
G_OBJECT_CLASS (parent_class)->dispose (object);
}
static void
+account_combo_box_finalize (GObject *object)
+{
+ EAccountComboBoxPrivate *priv;
+
+ priv = E_ACCOUNT_COMBO_BOX_GET_PRIVATE (object);
+
+ g_hash_table_destroy (priv->index);
+
+ /* Chain up to parent's finalize() method. */
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
account_combo_box_class_init (EAccountComboBoxClass *class)
{
GObjectClass *object_class;
@@ -215,12 +252,30 @@ account_combo_box_class_init (EAccountComboBoxClass *class)
object_class = G_OBJECT_CLASS (class);
object_class->constructor = account_combo_box_constructor;
object_class->dispose = account_combo_box_dispose;
+ object_class->finalize = account_combo_box_finalize;
+
+ signal_ids[REFRESHED] = g_signal_new (
+ "refreshed",
+ G_TYPE_FROM_CLASS (class),
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
static void
account_combo_box_init (EAccountComboBox *combo_box)
{
+ GHashTable *index;
+
+ /* Reverse-lookup index */
+ index = g_hash_table_new_full (
+ g_direct_hash, g_direct_equal,
+ (GDestroyNotify) g_object_unref,
+ (GDestroyNotify) gtk_tree_row_reference_free);
+
combo_box->priv = E_ACCOUNT_COMBO_BOX_GET_PRIVATE (combo_box);
+ combo_box->priv->index = index;
}
GType
@@ -273,6 +328,14 @@ e_account_combo_box_set_session (CamelSession *session)
camel_session = session;
}
+EAccountList *
+e_account_combo_box_get_account_list (EAccountComboBox *combo_box)
+{
+ g_return_val_if_fail (E_IS_ACCOUNT_COMBO_BOX (combo_box), NULL);
+
+ return combo_box->priv->account_list;
+}
+
void
e_account_combo_box_set_account_list (EAccountComboBox *combo_box,
EAccountList *account_list)
@@ -337,7 +400,6 @@ gboolean
e_account_combo_box_set_active (EAccountComboBox *combo_box,
EAccount *account)
{
- GHashTable *index;
EAccountList *account_list;
GtkTreeRowReference *reference;
GtkTreeModel *model;
@@ -353,10 +415,6 @@ e_account_combo_box_set_active (EAccountComboBox *combo_box,
account_list = combo_box->priv->account_list;
g_return_val_if_fail (account_list != NULL, FALSE);
- /* Failure here indicates a programming error. */
- index = g_object_get_data (G_OBJECT (combo_box), "index");
- g_assert (index != NULL);
-
/* NULL means select the default account. */
/* XXX EAccountList misuses const. */
if (account == NULL)
@@ -364,7 +422,7 @@ e_account_combo_box_set_active (EAccountComboBox *combo_box,
e_account_list_get_default (account_list);
/* Lookup the tree row reference for the account. */
- reference = g_hash_table_lookup (index, account);
+ reference = g_hash_table_lookup (combo_box->priv->index, account);
if (reference == NULL)
return FALSE;
diff --git a/widgets/misc/e-account-combo-box.h b/widgets/misc/e-account-combo-box.h
index a4363cf2e2..d5dd26780e 100644
--- a/widgets/misc/e-account-combo-box.h
+++ b/widgets/misc/e-account-combo-box.h
@@ -1,3 +1,22 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2008 Novell, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU Lesser 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 Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
#ifndef E_ACCOUNT_COMBO_BOX_H
#define E_ACCOUNT_COMBO_BOX_H
@@ -43,6 +62,8 @@ struct _EAccountComboBoxClass {
GType e_account_combo_box_get_type (void);
GtkWidget * e_account_combo_box_new (void);
void e_account_combo_box_set_session (CamelSession *session);
+EAccountList * e_account_combo_box_get_account_list
+ (EAccountComboBox *combo_box);
void e_account_combo_box_set_account_list
(EAccountComboBox *combo_box,
EAccountList *account_list);
diff --git a/widgets/misc/e-charset-picker.c b/widgets/misc/e-charset-picker.c
index 3254c9d42f..2efffdd8b8 100644
--- a/widgets/misc/e-charset-picker.c
+++ b/widgets/misc/e-charset-picker.c
@@ -28,15 +28,6 @@
#include <string.h>
#include <iconv.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkmenuitem.h>
-#include <gtk/gtkoptionmenu.h>
-#include <gtk/gtksignal.h>
-
#include <glib/gi18n.h>
#include <bonobo/bonobo-ui-node.h>
@@ -446,6 +437,127 @@ e_charset_picker_dialog (const char *title, const char *prompt,
}
/**
+ * e_charset_add_radio_actions:
+ * @action_group: a #GtkActionGroup
+ * @default_charset: the default character set, or %NULL to use the
+ * locale character set
+ * @callback: a callback function for actions in the group, or %NULL
+ * @user_data: user data to be passed to @callback, or %NULL
+ *
+ * Adds a set of #GtkRadioActions for available character sets to
+ * @action_group. The @default_charset (or locale character set if
+ * @default_charset is %NULL) will be added first, and selected by
+ * default (except that iso-8859-1 will always be used instead of
+ * US-ASCII). Any other character sets of the same language class as
+ * the default will be added next, followed by the remaining character
+ * sets.
+ **/
+void
+e_charset_add_radio_actions (GtkActionGroup *action_group,
+ const gchar *default_charset,
+ GCallback callback,
+ gpointer user_data)
+{
+ GtkRadioAction *action = NULL;
+ GSList *group = NULL;
+ const gchar *locale_charset;
+ gint def, ii;
+
+ g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
+
+ /* XXX I could try to factor out code common to this
+ * function and e_charset_picker_bonobo_ui_populate()
+ * instead of duplicating it, but I expect the latter
+ * function to be obsolete in the foreseeable future. */
+
+ g_get_charset (&locale_charset);
+ if (!g_ascii_strcasecmp (locale_charset, "US-ASCII"))
+ locale_charset = "iso-8859-1";
+
+ if (default_charset == NULL)
+ default_charset = locale_charset;
+ for (def = 0; def < G_N_ELEMENTS (charsets); def++)
+ if (!g_ascii_strcasecmp (charsets[def].name, default_charset))
+ break;
+
+ for (ii = 0; ii < G_N_ELEMENTS (charsets); ii++) {
+ gchar *escaped_name;
+ gchar *charset_label;
+ gchar **str_array;
+
+ /* Escape underlines in the character set name so
+ * they're not treated as GtkLabel mnemonics. */
+ str_array = g_strsplit (charsets[ii].name, "_", -1);
+ escaped_name = g_strjoinv ("__", str_array);
+ g_strfreev (str_array);
+
+ if (charsets[ii].subclass != NULL)
+ charset_label = g_strdup_printf (
+ "%s, %s (%s)",
+ gettext (classnames[charsets[ii].class]),
+ gettext (charsets[ii].subclass),
+ escaped_name);
+ else if (charsets[ii].class != E_CHARSET_UNKNOWN)
+ charset_label = g_strdup_printf (
+ "%s (%s)",
+ gettext (classnames[charsets[ii].class]),
+ escaped_name);
+ else
+ charset_label = g_strdup (escaped_name);
+
+ action = gtk_radio_action_new (
+ charsets[ii].name, charset_label, NULL, NULL, ii);
+
+ gtk_radio_action_set_group (action, group);
+ group = gtk_radio_action_get_group (action);
+
+ if (callback != NULL)
+ g_signal_connect (
+ action, "changed", callback, user_data);
+
+ gtk_action_group_add_action (
+ action_group, GTK_ACTION (action));
+
+ g_object_unref (action);
+
+ g_free (escaped_name);
+ g_free (charset_label);
+ }
+
+ if (def == G_N_ELEMENTS (charsets)) {
+ gchar *charset_label;
+ gchar **str_array;
+
+ /* Escape underlines in the character set name so
+ * they're not treated as GtkLabel mnemonics. */
+ str_array = g_strsplit (default_charset, "_", -1);
+ charset_label = g_strjoinv ("__", str_array);
+ g_strfreev (str_array);
+
+ action = gtk_radio_action_new (
+ default_charset, charset_label, NULL, NULL, def);
+
+ gtk_radio_action_set_group (action, group);
+ group = gtk_radio_action_get_group (action);
+
+ if (callback != NULL)
+ g_signal_connect (
+ action, "changed", callback, user_data);
+
+ gtk_action_group_add_action (
+ action_group, GTK_ACTION (action));
+
+ g_object_unref (action);
+
+ g_free (charset_label);
+ }
+
+ /* Any of the actions in the action group will do. */
+ if (action != NULL)
+ gtk_radio_action_set_current_value (action, def);
+}
+
+/**
* e_charset_picker_bonobo_ui_populate:
* @uic: Bonobo UI Component
* @path: menu path
diff --git a/widgets/misc/e-charset-picker.h b/widgets/misc/e-charset-picker.h
index 78de722483..35abff0241 100644
--- a/widgets/misc/e-charset-picker.h
+++ b/widgets/misc/e-charset-picker.h
@@ -18,31 +18,33 @@
*
*/
-#ifndef _E_CHARSETPICKER_H_
-#define _E_CHARSETPICKER_H_
+#ifndef E_CHARSETPICKER_H
+#define E_CHARSETPICKER_H
-#include <gtk/gtkwindow.h>
+#include <gtk/gtk.h>
#include <bonobo/bonobo-ui-component.h>
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
-GtkWidget *e_charset_picker_new (const char *default_charset);
-char *e_charset_picker_get_charset (GtkWidget *picker);
+GtkWidget * e_charset_picker_new (const char *default_charset);
+char * e_charset_picker_get_charset (GtkWidget *picker);
+char * e_charset_picker_dialog (const char *title,
+ const char *prompt,
+ const char *default_charset,
+ GtkWindow *parent);
-char *e_charset_picker_dialog (const char *title, const char *prompt,
- const char *default_charset,
- GtkWindow *parent);
+void e_charset_add_radio_actions (GtkActionGroup *action_group,
+ const gchar *default_charset,
+ GCallback callback,
+ gpointer user_data);
-/* bonobo equivalents */
-void e_charset_picker_bonobo_ui_populate (BonoboUIComponent *uic, const char *path,
- const char *default_charset,
- BonoboUIListenerFn cb, gpointer user_data);
+void e_charset_picker_bonobo_ui_populate
+ (BonoboUIComponent *uic,
+ const char *path,
+ const char *default_charset,
+ BonoboUIListenerFn cb,
+ gpointer user_data);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
-#endif /* _E_CHARSETPICKER_H_ */
+#endif /* E_CHARSETPICKER_H */
diff --git a/widgets/misc/e-signature-combo-box.c b/widgets/misc/e-signature-combo-box.c
index be19755ef6..3edcc2b364 100644
--- a/widgets/misc/e-signature-combo-box.c
+++ b/widgets/misc/e-signature-combo-box.c
@@ -1,3 +1,22 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2008 Novell, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU Lesser 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 Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
#include "e-signature-combo-box.h"
#include <glib/gi18n.h>
@@ -233,6 +252,14 @@ e_signature_combo_box_new (void)
return g_object_new (E_TYPE_SIGNATURE_COMBO_BOX, NULL);
}
+ESignatureList *
+e_signature_combo_box_get_signature_list (ESignatureComboBox *combo_box)
+{
+ g_return_val_if_fail (E_IS_SIGNATURE_COMBO_BOX (combo_box), NULL);
+
+ return combo_box->priv->signature_list;
+}
+
void
e_signature_combo_box_set_signature_list (ESignatureComboBox *combo_box,
ESignatureList *signature_list)
diff --git a/widgets/misc/e-signature-combo-box.h b/widgets/misc/e-signature-combo-box.h
index 31786978ef..4208265911 100644
--- a/widgets/misc/e-signature-combo-box.h
+++ b/widgets/misc/e-signature-combo-box.h
@@ -1,9 +1,28 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2008 Novell, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU Lesser 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 Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
#ifndef E_SIGNATURE_COMBO_BOX_H
#define E_SIGNATURE_COMBO_BOX_H
#include <gtk/gtk.h>
-#include "e-util/e-signature.h"
-#include "e-util/e-signature-list.h"
+#include <e-util/e-signature.h>
+#include <e-util/e-signature-list.h>
/* Standard GObject macros */
#define E_TYPE_SIGNATURE_COMBO_BOX \
@@ -41,6 +60,8 @@ struct _ESignatureComboBoxClass {
GType e_signature_combo_box_get_type (void);
GtkWidget * e_signature_combo_box_new (void);
+ESignatureList *e_signature_combo_box_get_signature_list
+ (ESignatureComboBox *combo_box);
void e_signature_combo_box_set_signature_list
(ESignatureComboBox *combo_box,
ESignatureList *signature_list);