Added accepted_dnd_mime_types' and exported_dnd_mime_types' members

to the `FolderType' struct and renamed `Evolution::Shell::FolderTypeList'
to `Evolution::Shell::FolderTypeNameList' to avoid confusion.

svn path=/trunk/; revision=8400
This commit is contained in:
Ettore Perazzoli
2001-02-27 03:58:25 +00:00
parent 6d37236475
commit a75e12466d
5 changed files with 26 additions and 14 deletions

View File

@ -1,3 +1,12 @@
2001-02-26 Ettore Perazzoli <ettore@ximian.com>
* Evolution-Shell.idl: Rename `FolderTypeList' to
`FolderTypeNameList' as it was confusing.
* Evolution-ShellComponent.idl: New members
`accepted_dnd_mime_types' and `exported_dnd_mime_types' in `struct
FolderType'.
2001-02-24 Jeffrey Stedfast <fejj@ximian.com>
* e-storage.c (folder_changed_cb): Don't free a const pointer.

View File

@ -32,7 +32,7 @@ module Evolution {
ShellComponent getComponentByType (in string type)
raises (NotFound);
typedef sequence<string> FolderTypeList;
typedef sequence<string> FolderTypeNameList;
/**
* createNewView:
@ -58,7 +58,7 @@ module Evolution {
void selectUserFolder (in FolderSelectionListener listener,
in string title,
in string default_folder,
in FolderTypeList possible_types)
in FolderTypeNameList possible_types)
raises (Busy);
/**

View File

@ -17,6 +17,9 @@ module Evolution {
struct FolderType {
string name;
string icon_name;
sequence<string> accepted_dnd_mime_types;
sequence<string> exported_dnd_mime_types;
};
typedef sequence<FolderType> FolderTypeList;

View File

@ -238,28 +238,28 @@ impl_Shell_selectUserFolder (PortableServer_Servant servant,
const GNOME_Evolution_FolderSelectionListener listener,
const CORBA_char *title,
const CORBA_char *default_folder,
const GNOME_Evolution_Shell_FolderTypeList *corba_allowed_types,
const GNOME_Evolution_Shell_FolderTypeNameList *corba_allowed_type_names,
CORBA_Environment *ev)
{
GtkWidget *folder_selection_dialog;
BonoboObject *bonobo_object;
GNOME_Evolution_FolderSelectionListener listener_duplicate;
EShell *shell;
const char **allowed_types;
const char **allowed_type_names;
int i;
bonobo_object = bonobo_object_from_servant (servant);
shell = E_SHELL (bonobo_object);
allowed_types = alloca (sizeof (allowed_types[0]) * (corba_allowed_types->_length + 1));
for (i = 0; i < corba_allowed_types->_length; i++)
allowed_types[i] = corba_allowed_types->_buffer[i];
allowed_types[corba_allowed_types->_length] = NULL;
allowed_type_names = alloca (sizeof (allowed_type_names[0]) * (corba_allowed_type_names->_length + 1));
for (i = 0; i < corba_allowed_type_names->_length; i++)
allowed_type_names[i] = corba_allowed_type_names->_buffer[i];
allowed_type_names[corba_allowed_type_names->_length] = NULL;
/* CORBA doesn't allow you to pass a NULL pointer. */
if (!*default_folder)
default_folder = NULL;
folder_selection_dialog = e_shell_folder_selection_dialog_new (shell, title, default_folder, allowed_types);
folder_selection_dialog = e_shell_folder_selection_dialog_new (shell, title, default_folder, allowed_type_names);
listener_duplicate = CORBA_Object_duplicate (listener, ev);
gtk_object_set_data_full (GTK_OBJECT (folder_selection_dialog), "corba_listener",

View File

@ -170,7 +170,7 @@ user_select_folder (EvolutionShellClient *shell_client,
GNOME_Evolution_FolderSelectionListener listener_interface;
GNOME_Evolution_Shell corba_shell;
CORBA_Environment ev;
GNOME_Evolution_Shell_FolderTypeList corba_type_list;
GNOME_Evolution_Shell_FolderTypeNameList corba_type_name_list;
int num_possible_types;
char *result;
@ -192,12 +192,12 @@ user_select_folder (EvolutionShellClient *shell_client,
num_possible_types = count_string_items (possible_types);
corba_type_list._length = num_possible_types;
corba_type_list._maximum = num_possible_types;
corba_type_list._buffer = (CORBA_char **) possible_types;
corba_type_name_list._length = num_possible_types;
corba_type_name_list._maximum = num_possible_types;
corba_type_name_list._buffer = (CORBA_char **) possible_types;
GNOME_Evolution_Shell_selectUserFolder (corba_shell, listener_interface,
title, default_folder, &corba_type_list,
title, default_folder, &corba_type_name_list,
&ev);
if (ev._major != CORBA_NO_EXCEPTION) {