From f0d3f3afdfa314e1e8cd7d8da790878008a46aad Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 24 Jun 2009 12:59:33 -0400 Subject: Radically reorganize source code. - Collect all shell modules into a new top-level 'modules' directory: $(top_srcdir)/modules/addressbook $(top_srcdir)/modules/calendar $(top_srcdir)/modules/mail Nothing is allowed to link to these, not plugins nor other modules. THIS SOLVES BUG #571275 AND OPENS THE DOOR TO PORTING TO MAC OS X. - Mimic the libevolution-mail-shared library from master (except drop the "shared" suffix) and have libevolution-mail-importers and all mail-related plugins link to it. - Discard the a11y subdirectories and have the files live alongside their counterpart widgets. --- modules/mail/em-account-editor.h | 86 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 modules/mail/em-account-editor.h (limited to 'modules/mail/em-account-editor.h') diff --git a/modules/mail/em-account-editor.h b/modules/mail/em-account-editor.h new file mode 100644 index 0000000000..d8d96f58f0 --- /dev/null +++ b/modules/mail/em-account-editor.h @@ -0,0 +1,86 @@ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) version 3. + * + * 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the program; if not, see + * + * + * Authors: + * Jeffrey Stedfast + * Dan Winship + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + */ + +#ifndef EM_ACCOUNT_EDITOR_H +#define EM_ACCOUNT_EDITOR_H + +#include + +#include + +G_BEGIN_DECLS + +typedef struct _EMAccountEditor EMAccountEditor; +typedef struct _EMAccountEditorClass EMAccountEditorClass; +typedef struct _EMAccountEditorPrivate EMAccountEditorPrivate; + +typedef enum { + EMAE_NOTEBOOK, + EMAE_DRUID, + EMAE_PAGES +} em_account_editor_t; + +struct _EMAccountEditor { + GObject gobject; + + EMAccountEditorPrivate *priv; + + em_account_editor_t type; + GtkWidget *editor; /* gtknotebook or druid, depending on type */ + + EMConfig *config; /* driver object */ + + EAccount *account; /* working account, must instant apply to this */ + EAccount *original; /* original account, not changed unless commit is invoked */ + + GtkWidget **pages; /* Pages for Anjal's page type editor */ + + guint do_signature:1; /* allow editing signature */ +}; + +struct _EMAccountEditorClass { + GObjectClass gobject_class; +}; + +GType em_account_editor_get_type(void); + +EMAccountEditor *em_account_editor_new(EAccount *account, em_account_editor_t type, const gchar *id); +EMAccountEditor *em_account_editor_new_for_pages(EAccount *account, em_account_editor_t type, gchar *id, GtkWidget **pages); +void em_account_editor_commit (EMAccountEditor *emae); +void em_account_editor_check (EMAccountEditor *emae, const gchar *page); + +gboolean em_account_editor_save (EMAccountEditor *gui); +void em_account_editor_destroy (EMAccountEditor *gui); + +gboolean em_account_editor_identity_complete (EMAccountEditor *gui, GtkWidget **incomplete); +gboolean em_account_editor_source_complete (EMAccountEditor *gui, GtkWidget **incomplete); +gboolean em_account_editor_transport_complete (EMAccountEditor *gui, GtkWidget **incomplete); +gboolean em_account_editor_management_complete (EMAccountEditor *gui, GtkWidget **incomplete); + +void em_account_editor_build_extra_conf (EMAccountEditor *gui, const gchar *url); + +void em_account_editor_auto_detect_extra_conf (EMAccountEditor *gui); + +G_END_DECLS + +#endif /* EM_ACCOUNT_EDITOR_H */ -- cgit v1.2.3