Nuked the MailConfig interface stuff.
2003-10-29 Jeffrey Stedfast <fejj@ximian.com> * GNOME_Evolution_Mail.server.in.in: Nuked the MailConfig interface stuff. * Mailer.idl: Removed. None of the interfaces are needed/used anymore. * folder-info.[c,h]: Removed. The summary was the only thing that needed/used this code and it has been nuked into oblivion, so these interfaces are no longer needed. * mail-config.c: Removed old crufty CORBA interface snot that is no longer needed or used. svn path=/trunk/; revision=23118
This commit is contained in:

committed by
Jeffrey Stedfast

parent
26f77b16e1
commit
5843bd83e7
@ -1,3 +1,18 @@
|
|||||||
|
2003-10-29 Jeffrey Stedfast <fejj@ximian.com>
|
||||||
|
|
||||||
|
* GNOME_Evolution_Mail.server.in.in: Nuked the MailConfig
|
||||||
|
interface stuff.
|
||||||
|
|
||||||
|
* Mailer.idl: Removed. None of the interfaces are needed/used
|
||||||
|
anymore.
|
||||||
|
|
||||||
|
* folder-info.[c,h]: Removed. The summary was the only thing that
|
||||||
|
needed/used this code and it has been nuked into oblivion, so
|
||||||
|
these interfaces are no longer needed.
|
||||||
|
|
||||||
|
* mail-config.c: Removed old crufty CORBA interface snot that is
|
||||||
|
no longer needed or used.
|
||||||
|
|
||||||
2003-10-27 Jeffrey Stedfast <fejj@ximian.com>
|
2003-10-27 Jeffrey Stedfast <fejj@ximian.com>
|
||||||
|
|
||||||
* Fixes bug #49816
|
* Fixes bug #49816
|
||||||
|
@ -84,30 +84,6 @@
|
|||||||
_value="Evolution Mail composer"/>
|
_value="Evolution Mail composer"/>
|
||||||
</oaf_server>
|
</oaf_server>
|
||||||
|
|
||||||
<!-- MailConfig interface -->
|
|
||||||
<oaf_server iid="OAFIID:GNOME_Evolution_MailConfig"
|
|
||||||
type="factory"
|
|
||||||
location="OAFIID:GNOME_Evolution_Mail_ControlFactory">
|
|
||||||
|
|
||||||
<oaf_attribute name="repo_ids" type="stringv">
|
|
||||||
<item value="IDL:GNOME/Evolution/MailConfig:1.0"/>
|
|
||||||
</oaf_attribute>
|
|
||||||
|
|
||||||
<oaf_attribute name="name" type="string"
|
|
||||||
_value="Evolution Mail configuration interface"/>
|
|
||||||
</oaf_server>
|
|
||||||
|
|
||||||
<!-- FolderInfo interface -->
|
|
||||||
|
|
||||||
<oaf_server iid="OAFIID:GNOME_Evolution_FolderInfo"
|
|
||||||
type="factory"
|
|
||||||
location="OAFIID:GNOME_Evolution_Mail_ControlFactory">
|
|
||||||
|
|
||||||
<oaf_attribute name="repo_ids" type="stringv">
|
|
||||||
<item value="IDL:GNOME/Evolution/FolderInfo:1.0"/>
|
|
||||||
</oaf_attribute>
|
|
||||||
</oaf_server>
|
|
||||||
|
|
||||||
<!-- Startup Wizard -->
|
<!-- Startup Wizard -->
|
||||||
|
|
||||||
<!-- (wizard) -->
|
<!-- (wizard) -->
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
/*
|
|
||||||
* mail.idl: Mail interfaces for Evolution
|
|
||||||
*
|
|
||||||
* Author:
|
|
||||||
* Miguel de Icaza (miguel@ximian.com)
|
|
||||||
*
|
|
||||||
* (C) 2000 Ximian, Inc.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <Bonobo.idl>
|
|
||||||
|
|
||||||
module GNOME {
|
|
||||||
module Evolution {
|
|
||||||
|
|
||||||
interface FolderInfo : Bonobo::Unknown {
|
|
||||||
struct MessageCount {
|
|
||||||
string path;
|
|
||||||
long count;
|
|
||||||
long unread;
|
|
||||||
};
|
|
||||||
|
|
||||||
void getInfo (in string foldername,
|
|
||||||
in Bonobo::Listener listener);
|
|
||||||
};
|
|
||||||
|
|
||||||
interface MailConfig : Bonobo::Unknown {
|
|
||||||
|
|
||||||
struct Identity {
|
|
||||||
string name;
|
|
||||||
string address;
|
|
||||||
string reply_to;
|
|
||||||
string organization;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Service {
|
|
||||||
string url;
|
|
||||||
boolean keep_on_server;
|
|
||||||
boolean auto_check;
|
|
||||||
long auto_check_time;
|
|
||||||
boolean save_passwd;
|
|
||||||
boolean enabled;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Account {
|
|
||||||
string name;
|
|
||||||
|
|
||||||
Identity id;
|
|
||||||
Service source;
|
|
||||||
Service transport;
|
|
||||||
|
|
||||||
string drafts_folder_uri;
|
|
||||||
string sent_folder_uri;
|
|
||||||
};
|
|
||||||
|
|
||||||
void addAccount (in Account acc);
|
|
||||||
void removeAccount (in string name);
|
|
||||||
};
|
|
||||||
|
|
||||||
interface MailFilter : Bonobo::Unknown {
|
|
||||||
|
|
||||||
void addFilter (in string rule);
|
|
||||||
|
|
||||||
void removeFilter (in string rule);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
@ -39,24 +39,6 @@ INCLUDES = \
|
|||||||
|
|
||||||
component_LTLIBRARIES = libevolution-mail.la
|
component_LTLIBRARIES = libevolution-mail.la
|
||||||
|
|
||||||
|
|
||||||
# Code generation for Mailer.idl
|
|
||||||
|
|
||||||
MAILER_IDL = Mailer.idl
|
|
||||||
|
|
||||||
MAILER_IDL_GENERATED_H = \
|
|
||||||
Mailer.h
|
|
||||||
MAILER_IDL_GENERATED_C = \
|
|
||||||
Mailer-common.c \
|
|
||||||
Mailer-skels.c \
|
|
||||||
Mailer-stubs.c
|
|
||||||
MAILER_IDL_GENERATED = $(MAILER_IDL_GENERATED_C) $(MAILER_IDL_GENERATED_H)
|
|
||||||
|
|
||||||
$(MAILER_IDL_GENERATED_H): Mailer.idl
|
|
||||||
$(ORBIT_IDL) -I $(srcdir) -I $(datadir)/idl $(IDL_INCLUDES) $(srcdir)/Mailer.idl
|
|
||||||
$(MAILER_IDL_GENERATED_C): $(MAILER_IDL_GENERATED_H)
|
|
||||||
|
|
||||||
|
|
||||||
# Code generation for Spell.idl
|
# Code generation for Spell.idl
|
||||||
|
|
||||||
SPELL_IDL = Spell.idl
|
SPELL_IDL = Spell.idl
|
||||||
@ -80,7 +62,6 @@ Spell-impl.o: Spell.h
|
|||||||
|
|
||||||
libevolution_mail_la_SOURCES = \
|
libevolution_mail_la_SOURCES = \
|
||||||
$(SPELL_IDL_GENERATED) \
|
$(SPELL_IDL_GENERATED) \
|
||||||
$(MAILER_IDL_GENERATED) \
|
|
||||||
e-searching-tokenizer.c \
|
e-searching-tokenizer.c \
|
||||||
e-searching-tokenizer.h \
|
e-searching-tokenizer.h \
|
||||||
em-account-prefs.c \
|
em-account-prefs.c \
|
||||||
@ -133,8 +114,6 @@ libevolution_mail_la_SOURCES = \
|
|||||||
em-html-stream.h \
|
em-html-stream.h \
|
||||||
folder-browser-factory.c \
|
folder-browser-factory.c \
|
||||||
folder-browser-factory.h \
|
folder-browser-factory.h \
|
||||||
folder-info.c \
|
|
||||||
folder-info.h \
|
|
||||||
mail-account-editor.c \
|
mail-account-editor.c \
|
||||||
mail-account-editor.h \
|
mail-account-editor.h \
|
||||||
mail-account-gui.c \
|
mail-account-gui.c \
|
||||||
@ -227,12 +206,9 @@ MARSHAL_GENERATED = em-marshal.c em-marshal.h
|
|||||||
|
|
||||||
etspec_DATA = message-list.etspec
|
etspec_DATA = message-list.etspec
|
||||||
|
|
||||||
idl_DATA = $(MAILER_IDL)
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
ChangeLog.pre-1-4 \
|
ChangeLog.pre-1-4 \
|
||||||
em-marshal.list \
|
em-marshal.list \
|
||||||
Mailer.idl \
|
|
||||||
$(SPELL_IDL) \
|
$(SPELL_IDL) \
|
||||||
$(glade_DATA) \
|
$(glade_DATA) \
|
||||||
$(schema_DATA) \
|
$(schema_DATA) \
|
||||||
@ -273,5 +249,5 @@ install-data-local:
|
|||||||
dist-hook:
|
dist-hook:
|
||||||
cd $(distdir); rm -f $(BUILT_SOURCES)
|
cd $(distdir); rm -f $(BUILT_SOURCES)
|
||||||
|
|
||||||
BUILT_SOURCES = $(MAILER_IDL_GENERATED) $(SPELL_IDL_GENERATED) $(MARSHAL_GENERATED) $(server_DATA)
|
BUILT_SOURCES = $(SPELL_IDL_GENERATED) $(MARSHAL_GENERATED) $(server_DATA)
|
||||||
CLEANFILES = $(BUILT_SOURCES)
|
CLEANFILES = $(BUILT_SOURCES)
|
||||||
|
@ -1,266 +0,0 @@
|
|||||||
/*
|
|
||||||
* folder-info.c: Implementation of GNOME_Evolution_FolderInfo
|
|
||||||
*
|
|
||||||
* Copyright (C) 2001 Ximian, Inc.
|
|
||||||
*
|
|
||||||
* Authors: Iain Holmes <iain@ximian.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "Mailer.h"
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
|
|
||||||
#include <bonobo/bonobo-object.h>
|
|
||||||
#include <bonobo/bonobo-generic-factory.h>
|
|
||||||
#include <bonobo/bonobo-property-bag.h>
|
|
||||||
#include <bonobo/bonobo-context.h>
|
|
||||||
#include <bonobo/bonobo-exception.h>
|
|
||||||
|
|
||||||
#include "folder-info.h"
|
|
||||||
|
|
||||||
#include "mail.h"
|
|
||||||
#include "mail-mt.h"
|
|
||||||
#include "mail-tools.h"
|
|
||||||
|
|
||||||
#include <camel/camel-folder.h>
|
|
||||||
#include <camel/camel-exception.h>
|
|
||||||
|
|
||||||
#define FOLDER_INFO_IID "OAFIID:GNOME_Evolution_FolderInfo_Factory"
|
|
||||||
|
|
||||||
#define PARENT_TYPE BONOBO_OBJECT_TYPE
|
|
||||||
static BonoboObjectClass *parent_class = NULL;
|
|
||||||
|
|
||||||
static GSList *folder_infos;
|
|
||||||
|
|
||||||
typedef struct _EvolutionFolderInfo EvolutionFolderInfo;
|
|
||||||
typedef struct _EvolutionFolderInfoClass EvolutionFolderInfoClass;
|
|
||||||
|
|
||||||
struct _EvolutionFolderInfo {
|
|
||||||
BonoboObject parent;
|
|
||||||
|
|
||||||
BonoboPropertyBag *pb;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _EvolutionFolderInfoClass {
|
|
||||||
BonoboObjectClass parent_class;
|
|
||||||
|
|
||||||
POA_GNOME_Evolution_FolderInfo__epv epv;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* MT stuff */
|
|
||||||
struct _folder_info_msg {
|
|
||||||
struct _mail_msg msg;
|
|
||||||
|
|
||||||
Bonobo_Listener listener;
|
|
||||||
char *foldername;
|
|
||||||
|
|
||||||
int read;
|
|
||||||
int unread;
|
|
||||||
};
|
|
||||||
|
|
||||||
gboolean ready;
|
|
||||||
|
|
||||||
static char *
|
|
||||||
do_describe_info (struct _mail_msg *mm, gint complete)
|
|
||||||
{
|
|
||||||
return g_strdup (_("Getting Folder Information"));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
do_get_info (struct _mail_msg *mm)
|
|
||||||
{
|
|
||||||
struct _folder_info_msg *m = (struct _folder_info_msg *) mm;
|
|
||||||
CamelFolder *folder;
|
|
||||||
|
|
||||||
folder = mail_tool_uri_to_folder (m->foldername, 0, NULL);
|
|
||||||
if (folder) {
|
|
||||||
m->read = camel_folder_get_message_count (folder);
|
|
||||||
m->unread = camel_folder_get_unread_message_count (folder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
do_got_info (struct _mail_msg *mm)
|
|
||||||
{
|
|
||||||
struct _folder_info_msg *m = (struct _folder_info_msg *) mm;
|
|
||||||
CORBA_Environment ev;
|
|
||||||
CORBA_any a;
|
|
||||||
GNOME_Evolution_FolderInfo_MessageCount count;
|
|
||||||
|
|
||||||
/* g_print ("You've got mail: %d, %d\n", m->read, m->unread); */
|
|
||||||
|
|
||||||
count.path = m->foldername;
|
|
||||||
count.count = m->read;
|
|
||||||
count.unread = m->unread;
|
|
||||||
|
|
||||||
a._type = (CORBA_TypeCode) TC_GNOME_Evolution_FolderInfo_MessageCount;
|
|
||||||
a._value = &count;
|
|
||||||
|
|
||||||
CORBA_exception_init (&ev);
|
|
||||||
Bonobo_Listener_event (m->listener, "youve-got-mail", &a, &ev);
|
|
||||||
if (BONOBO_EX (&ev)) {
|
|
||||||
g_warning ("Got exception on listener: %s", CORBA_exception_id (&ev));
|
|
||||||
}
|
|
||||||
CORBA_exception_free (&ev);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
do_free_info (struct _mail_msg *mm)
|
|
||||||
{
|
|
||||||
struct _folder_info_msg *m = (struct _folder_info_msg *) mm;
|
|
||||||
|
|
||||||
bonobo_object_release_unref (m->listener, NULL);
|
|
||||||
g_free (m->foldername);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct _mail_msg_op get_info_op = {
|
|
||||||
do_describe_info,
|
|
||||||
do_get_info,
|
|
||||||
do_got_info,
|
|
||||||
do_free_info,
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
int read;
|
|
||||||
int unread;
|
|
||||||
} MailFolderInfo;
|
|
||||||
|
|
||||||
/* Returns a MailFolderInfo struct or NULL on error */
|
|
||||||
static void
|
|
||||||
mail_get_info (const char *foldername,
|
|
||||||
Bonobo_Listener listener)
|
|
||||||
{
|
|
||||||
CORBA_Environment ev;
|
|
||||||
struct _folder_info_msg *m;
|
|
||||||
|
|
||||||
m = mail_msg_new (&get_info_op, NULL, sizeof (*m));
|
|
||||||
|
|
||||||
/*g_print ("Folder: %s", foldername);*/
|
|
||||||
m->foldername = g_strdup (foldername);
|
|
||||||
|
|
||||||
CORBA_exception_init (&ev);
|
|
||||||
m->listener = bonobo_object_dup_ref (listener, &ev);
|
|
||||||
CORBA_exception_free (&ev);
|
|
||||||
|
|
||||||
e_thread_put (mail_thread_new, (EMsg *) m);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
impl_GNOME_Evolution_FolderInfo_getInfo (PortableServer_Servant servant,
|
|
||||||
const CORBA_char *foldername,
|
|
||||||
const Bonobo_Listener listener,
|
|
||||||
CORBA_Environment *ev)
|
|
||||||
{
|
|
||||||
mail_get_info (foldername, listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
static void
|
|
||||||
destroy (GtkObject *object)
|
|
||||||
{
|
|
||||||
EvolutionFolderInfo *info = (EvolutionFolderInfo *) object;
|
|
||||||
|
|
||||||
bonobo_object_unref (BONOBO_OBJECT (info->pb));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
|
||||||
evolution_folder_info_class_init (EvolutionFolderInfoClass *klass)
|
|
||||||
{
|
|
||||||
POA_GNOME_Evolution_FolderInfo__epv *epv = &klass->epv;
|
|
||||||
|
|
||||||
parent_class = g_type_class_ref(PARENT_TYPE);
|
|
||||||
epv->getInfo = impl_GNOME_Evolution_FolderInfo_getInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
evolution_folder_info_init (EvolutionFolderInfo *info)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
BONOBO_TYPE_FUNC_FULL (EvolutionFolderInfo,
|
|
||||||
GNOME_Evolution_FolderInfo,
|
|
||||||
PARENT_TYPE,
|
|
||||||
evolution_folder_info);
|
|
||||||
|
|
||||||
enum {
|
|
||||||
PROP_FOLDER_INFO_READY
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
|
||||||
set_prop (BonoboPropertyBag *bag,
|
|
||||||
const BonoboArg *arg,
|
|
||||||
guint arg_id,
|
|
||||||
CORBA_Environment *ev,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
switch (arg_id) {
|
|
||||||
case PROP_FOLDER_INFO_READY:
|
|
||||||
ready = BONOBO_ARG_GET_BOOLEAN (arg);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
bonobo_exception_set (ev, ex_Bonobo_PropertyBag_NotFound);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
get_prop (BonoboPropertyBag *bag,
|
|
||||||
BonoboArg *arg,
|
|
||||||
guint arg_id,
|
|
||||||
CORBA_Environment *ev,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
switch (arg_id) {
|
|
||||||
case PROP_FOLDER_INFO_READY:
|
|
||||||
BONOBO_ARG_SET_BOOLEAN (arg, ready);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
bonobo_exception_set (ev, ex_Bonobo_PropertyBag_NotFound);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BonoboObject *
|
|
||||||
evolution_folder_info_new (void)
|
|
||||||
{
|
|
||||||
EvolutionFolderInfo *info;
|
|
||||||
BonoboPropertyBag *pb;
|
|
||||||
|
|
||||||
info = g_object_new (evolution_folder_info_get_type (), NULL);
|
|
||||||
pb = bonobo_property_bag_new (get_prop, set_prop, info);
|
|
||||||
info->pb = pb;
|
|
||||||
/* Add properties */
|
|
||||||
bonobo_property_bag_add (pb, "folder-info-ready",
|
|
||||||
PROP_FOLDER_INFO_READY,
|
|
||||||
BONOBO_ARG_BOOLEAN, NULL, FALSE,
|
|
||||||
BONOBO_PROPERTY_READABLE |
|
|
||||||
BONOBO_PROPERTY_WRITEABLE);
|
|
||||||
|
|
||||||
bonobo_object_add_interface (BONOBO_OBJECT (info), BONOBO_OBJECT (pb));
|
|
||||||
|
|
||||||
/* Add to the folder info list so we can get at them all afterwards */
|
|
||||||
folder_infos = g_slist_append (folder_infos, info);
|
|
||||||
|
|
||||||
return BONOBO_OBJECT (info);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
evolution_folder_info_notify_ready (void)
|
|
||||||
{
|
|
||||||
GSList *p;
|
|
||||||
|
|
||||||
ready = TRUE;
|
|
||||||
|
|
||||||
for (p = folder_infos; p; p = p->next) {
|
|
||||||
EvolutionFolderInfo *info = p->data;
|
|
||||||
Bonobo_PropertyBag bag;
|
|
||||||
|
|
||||||
bag = (Bonobo_PropertyBag)bonobo_object_corba_objref(BONOBO_OBJECT(info->pb));
|
|
||||||
bonobo_pbclient_set_boolean(bag, "folder-info-ready", ready, NULL);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,45 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
||||||
/*
|
|
||||||
* Authors: Jeffrey Stedfast <fejj@ximian.com>
|
|
||||||
*
|
|
||||||
* Copyright 2002 Ximian, Inc. (www.ximian.com)
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef __FOLDER_INFO_H__
|
|
||||||
#define __FOLDER_INFO_H__
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#pragma }
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <gtk/gtktypeutils.h>
|
|
||||||
|
|
||||||
GtkType evolution_folder_info_get_type (void);
|
|
||||||
gboolean evolution_folder_info_factory_init (void);
|
|
||||||
BonoboObject *evolution_folder_info_new (void);
|
|
||||||
|
|
||||||
void evolution_folder_info_notify_ready (void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif /* __FOLDER_INFO_H__ */
|
|
@ -60,8 +60,6 @@
|
|||||||
#include "mail-mt.h"
|
#include "mail-mt.h"
|
||||||
#include "mail-tools.h"
|
#include "mail-tools.h"
|
||||||
|
|
||||||
#include "Mailer.h"
|
|
||||||
|
|
||||||
/* Note, the first element of each MailConfigLabel must NOT be translated */
|
/* Note, the first element of each MailConfigLabel must NOT be translated */
|
||||||
MailConfigLabel label_defaults[5] = {
|
MailConfigLabel label_defaults[5] = {
|
||||||
{ "important", N_("Important"), "#ff0000" }, /* red */
|
{ "important", N_("Important"), "#ff0000" }, /* red */
|
||||||
@ -95,7 +93,6 @@ typedef struct {
|
|||||||
static MailConfig *config = NULL;
|
static MailConfig *config = NULL;
|
||||||
static guint config_write_timeout = 0;
|
static guint config_write_timeout = 0;
|
||||||
|
|
||||||
#define MAIL_CONFIG_IID "OAFIID:GNOME_Evolution_MailConfig_Factory"
|
|
||||||
#define MAIL_CONFIG_RC "/gtkrc-mail-fonts"
|
#define MAIL_CONFIG_RC "/gtkrc-mail-fonts"
|
||||||
|
|
||||||
/* signatures */
|
/* signatures */
|
||||||
@ -1182,24 +1179,6 @@ mail_config_check_service (const char *url, CamelProviderType type, GList **auth
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* MailConfig Bonobo object */
|
|
||||||
#define PARENT_TYPE BONOBO_OBJECT_TYPE
|
|
||||||
static BonoboObjectClass *parent_class = NULL;
|
|
||||||
|
|
||||||
/* For the bonobo object */
|
|
||||||
typedef struct _EvolutionMailConfig EvolutionMailConfig;
|
|
||||||
typedef struct _EvolutionMailConfigClass EvolutionMailConfigClass;
|
|
||||||
|
|
||||||
struct _EvolutionMailConfig {
|
|
||||||
BonoboObject parent;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _EvolutionMailConfigClass {
|
|
||||||
BonoboObjectClass parent_class;
|
|
||||||
|
|
||||||
POA_GNOME_Evolution_MailConfig__epv epv;
|
|
||||||
};
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
do_config_write (gpointer data)
|
do_config_write (gpointer data)
|
||||||
{
|
{
|
||||||
@ -1208,126 +1187,6 @@ do_config_write (gpointer data)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
impl_GNOME_Evolution_MailConfig_addAccount (PortableServer_Servant servant,
|
|
||||||
const GNOME_Evolution_MailConfig_Account *account,
|
|
||||||
CORBA_Environment *ev)
|
|
||||||
{
|
|
||||||
GNOME_Evolution_MailConfig_Service source, transport;
|
|
||||||
GNOME_Evolution_MailConfig_Identity id;
|
|
||||||
EAccount *new;
|
|
||||||
|
|
||||||
if (mail_config_get_account_by_name (account->name)) {
|
|
||||||
/* FIXME: we need an exception. */
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
new = e_account_new ();
|
|
||||||
new->name = g_strdup (account->name);
|
|
||||||
new->enabled = source.enabled;
|
|
||||||
|
|
||||||
/* Copy ID */
|
|
||||||
id = account->id;
|
|
||||||
new->id->name = g_strdup (id.name);
|
|
||||||
new->id->address = g_strdup (id.address);
|
|
||||||
new->id->reply_to = g_strdup (id.reply_to);
|
|
||||||
new->id->organization = g_strdup (id.organization);
|
|
||||||
|
|
||||||
/* Copy source */
|
|
||||||
source = account->source;
|
|
||||||
if (!(source.url == NULL || strcmp (source.url, "none://") == 0))
|
|
||||||
new->source->url = g_strdup (source.url);
|
|
||||||
|
|
||||||
new->source->keep_on_server = source.keep_on_server;
|
|
||||||
new->source->auto_check = source.auto_check;
|
|
||||||
new->source->auto_check_time = source.auto_check_time;
|
|
||||||
new->source->save_passwd = source.save_passwd;
|
|
||||||
|
|
||||||
/* Copy transport */
|
|
||||||
transport = account->transport;
|
|
||||||
if (transport.url != NULL)
|
|
||||||
new->transport->url = g_strdup (transport.url);
|
|
||||||
|
|
||||||
new->transport->url = g_strdup (transport.url);
|
|
||||||
new->transport->save_passwd = transport.save_passwd;
|
|
||||||
|
|
||||||
/* Add new account */
|
|
||||||
mail_config_add_account (new);
|
|
||||||
|
|
||||||
/* Don't write out the config right away in case the remote
|
|
||||||
* component is creating or removing multiple accounts.
|
|
||||||
*/
|
|
||||||
if (!config_write_timeout)
|
|
||||||
config_write_timeout = g_timeout_add (2000, do_config_write, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
impl_GNOME_Evolution_MailConfig_removeAccount (PortableServer_Servant servant,
|
|
||||||
const CORBA_char *name,
|
|
||||||
CORBA_Environment *ev)
|
|
||||||
{
|
|
||||||
EAccount *account;
|
|
||||||
|
|
||||||
if ((account = mail_config_get_account_by_name (name)))
|
|
||||||
mail_config_remove_account (account);
|
|
||||||
|
|
||||||
/* Don't write out the config right away in case the remote
|
|
||||||
* component is creating or removing multiple accounts.
|
|
||||||
*/
|
|
||||||
if (!config_write_timeout)
|
|
||||||
config_write_timeout = g_timeout_add (2000, do_config_write, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
evolution_mail_config_class_init (EvolutionMailConfigClass *klass)
|
|
||||||
{
|
|
||||||
POA_GNOME_Evolution_MailConfig__epv *epv = &klass->epv;
|
|
||||||
|
|
||||||
parent_class = g_type_class_ref(PARENT_TYPE);
|
|
||||||
epv->addAccount = impl_GNOME_Evolution_MailConfig_addAccount;
|
|
||||||
epv->removeAccount = impl_GNOME_Evolution_MailConfig_removeAccount;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
evolution_mail_config_init (EvolutionMailConfig *config)
|
|
||||||
{
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
BONOBO_TYPE_FUNC_FULL (EvolutionMailConfig,
|
|
||||||
GNOME_Evolution_MailConfig,
|
|
||||||
PARENT_TYPE,
|
|
||||||
evolution_mail_config);
|
|
||||||
|
|
||||||
static BonoboObject *
|
|
||||||
evolution_mail_config_factory_fn (BonoboGenericFactory *factory,
|
|
||||||
const char *id,
|
|
||||||
void *closure)
|
|
||||||
{
|
|
||||||
EvolutionMailConfig *config;
|
|
||||||
|
|
||||||
config = g_object_new (evolution_mail_config_get_type (), NULL);
|
|
||||||
|
|
||||||
return BONOBO_OBJECT (config);
|
|
||||||
}
|
|
||||||
|
|
||||||
gboolean
|
|
||||||
evolution_mail_config_factory_init (void)
|
|
||||||
{
|
|
||||||
BonoboGenericFactory *factory;
|
|
||||||
|
|
||||||
factory = bonobo_generic_factory_new (MAIL_CONFIG_IID,
|
|
||||||
evolution_mail_config_factory_fn,
|
|
||||||
NULL);
|
|
||||||
if (factory == NULL) {
|
|
||||||
g_warning ("Error starting MailConfig");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bonobo_running_context_auto_exit_unref (BONOBO_OBJECT (factory));
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
GSList *
|
GSList *
|
||||||
mail_config_get_signature_list (void)
|
mail_config_get_signature_list (void)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user