1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
4 * Jeffrey Stedfast <fejj@ximian.com>
5 * Dan Winship <danw@ximian.com>
7 * Copyright 2001-2003 Ximian, Inc. (www.ximian.com)
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of version 2 of the GNU General Public
11 * License as published by the Free Software Foundation.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
18 * You should have received a copy of the GNU General Public
19 * License along with this program; if not, write to the
20 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 * Boston, MA 02111-1307, USA.
25 #ifndef EM_ACCOUNT_EDITOR_H
26 #define EM_ACCOUNT_EDITOR_H
31 #endif /* __cplusplus */
33 #include <gtk/gtkvbox.h>
37 typedef struct _EMAccountEditor EMAccountEditor
;
38 typedef struct _EMAccountEditorClass EMAccountEditorClass
;
43 } em_account_editor_t
;
45 struct _EMAccountEditor
{
48 struct _EMAccountEditorPrivate
*priv
;
50 em_account_editor_t type
;
51 struct _GtkWidget
*editor
; /* gtknotebook or druid, depending on type */
53 struct _EMConfig
*config
; /* driver object */
55 struct _EAccount
*account
; /* working account, must instant apply to this */
56 struct _EAccount
*original
; /* original account, not changed unless commit is invoked */
58 int do_signature
:1; /* allow editing signature */
61 struct _EMAccountEditorClass
{
62 GObjectClass gobject_class
;
65 GType
em_account_editor_get_type(void);
67 EMAccountEditor
*em_account_editor_new(struct _EAccount
*account
, em_account_editor_t type
, char *id
);
69 gboolean
em_account_editor_save (EMAccountEditor
*gui
);
70 void em_account_editor_destroy (EMAccountEditor
*gui
);
72 gboolean
em_account_editor_identity_complete (EMAccountEditor
*gui
, struct _GtkWidget
**incomplete
);
73 gboolean
em_account_editor_source_complete (EMAccountEditor
*gui
, struct _GtkWidget
**incomplete
);
74 gboolean
em_account_editor_transport_complete (EMAccountEditor
*gui
, struct _GtkWidget
**incomplete
);
75 gboolean
em_account_editor_management_complete (EMAccountEditor
*gui
, struct _GtkWidget
**incomplete
);
77 void em_account_editor_build_extra_conf (EMAccountEditor
*gui
, const char *url
);
79 void em_account_editor_auto_detect_extra_conf (EMAccountEditor
*gui
);
83 #endif /* __cplusplus */
85 #endif /* EM_ACCOUNT_EDITOR_H */