call e_ldap_storage_add_server call.

2000-07-05  Chris Toshok  <toshok@helixcode.com>

	* gui/component/addressbook.c (new_server_cb): call
	e_ldap_storage_add_server call.

	* gui/component/ldap-server-dialog.glade: add name row.

	* gui/component/e-ldap-server-dialog.h: remove the ELDAPServer type.

	* gui/component/e-ldap-server-dialog.c (extract_server_info): add
	support for the name-entry.

	* gui/component/e-ldap-server-dialog.c (fill_in_server_info): same.

	* gui/component/e-ldap-storage.h: add ELDAPServer type, and add
	prototypes for e_ldap_storage_add_server and
	e_ldap_storage_remove_server.

	* gui/component/e-ldap-storage.c (e_ldap_storage_add_server): new
	function, add it to our hash table, add a shell folder, and save
	out the metadata.
	(ldap_server_foreach): add the ldap server info under a
	"contactserver" node.
	(setup_ldap_storage): create our hashtable.

svn path=/trunk/; revision=3895
This commit is contained in:
Chris Toshok
2000-07-05 20:07:46 +00:00
committed by Chris Toshok
parent bc4c507c9e
commit 2ca2244e6b
8 changed files with 431 additions and 309 deletions

View File

@ -1,3 +1,28 @@
2000-07-05 Chris Toshok <toshok@helixcode.com>
* gui/component/addressbook.c (new_server_cb): call
e_ldap_storage_add_server call.
* gui/component/ldap-server-dialog.glade: add name row.
* gui/component/e-ldap-server-dialog.h: remove the ELDAPServer type.
* gui/component/e-ldap-server-dialog.c (extract_server_info): add
support for the name-entry.
* gui/component/e-ldap-server-dialog.c (fill_in_server_info): same.
* gui/component/e-ldap-storage.h: add ELDAPServer type, and add
prototypes for e_ldap_storage_add_server and
e_ldap_storage_remove_server.
* gui/component/e-ldap-storage.c (e_ldap_storage_add_server): new
function, add it to our hash table, add a shell folder, and save
out the metadata.
(ldap_server_foreach): add the ldap server info under a
"contactserver" node.
(setup_ldap_storage): create our hashtable.
2000-07-05 Chris Toshok <toshok@helixcode.com>
* gui/component/addressbook.c (set_prop): remove hack to read

View File

@ -186,19 +186,19 @@ null_cb (EBook *book, EBookStatus status, gpointer closure)
static void
new_server_cb (BonoboUIHandler *uih, void *user_data, const char *path)
{
ELDAPServer server;
char *uri;
ELDAPServer *server = g_new (ELDAPServer, 1);
EBook *book;
AddressbookView *view = (AddressbookView *) user_data;
GtkObject *object;
/* fill in the defaults */
server.host = g_strdup("");
server.port = 389;
server.description = g_strdup("");
server.rootdn = g_strdup("");
e_ldap_server_editor_show (&server);
server->name = g_strdup("");
server->host = g_strdup("");
server->port = 389;
server->description = g_strdup("");
server->rootdn = g_strdup("");
server->uri = g_strdup_printf ("ldap://%s:%d/%s", server->host, server->port, server->rootdn);
e_ldap_server_editor_show (server);
if (view->view)
object = GTK_OBJECT(view->view);
@ -207,14 +207,12 @@ new_server_cb (BonoboUIHandler *uih, void *user_data, const char *path)
gtk_object_get(object, "book", &book, NULL);
g_assert (E_IS_BOOK (book));
/* XXX write out the new server info */
/* write out the new server info */
e_ldap_storage_add_server (server);
/* now update the view */
uri = g_strdup_printf ("ldap://%s:%d/%s", server.host, server.port, server.rootdn);
e_book_unload_uri (book);
if (! e_book_load_uri (book, uri, null_cb, NULL)) {
if (! e_book_load_uri (book, server->uri, null_cb, NULL)) {
g_warning ("error calling load_uri!\n");
}
}

View File

@ -39,6 +39,12 @@ fill_in_server_info (ELDAPServerDialog *dialog)
int position;
char buf[128];
/* the name */
position = 0;
editable = GTK_EDITABLE(glade_xml_get_widget(dialog->gui, "name-entry"));
gtk_editable_delete_text (editable, 0, -1);
gtk_editable_insert_text (editable, ldap_server->name, strlen (ldap_server->name), &position);
/* the server description */
position = 0;
editable = GTK_EDITABLE(glade_xml_get_widget(dialog->gui, "description-entry"));
@ -70,7 +76,16 @@ extract_server_info (ELDAPServerDialog *dialog)
{
ELDAPServer *ldap_server = dialog->server;
GtkEditable *editable;
char *description, *server, *port, *rootdn;
char *description, *server, *port, *rootdn, *name;
/* the server name */
editable = GTK_EDITABLE(glade_xml_get_widget(dialog->gui, "name-entry"));
name = gtk_editable_get_chars(editable, 0, -1);
if (name && *name) {
if (ldap_server->name)
g_free(ldap_server->name);
ldap_server->name = name;
}
/* the server description */
editable = GTK_EDITABLE(glade_xml_get_widget(dialog->gui, "description-entry"));
@ -111,7 +126,7 @@ extract_server_info (ELDAPServerDialog *dialog)
void
e_ldap_server_editor_show(ELDAPServer *server)
{
ELDAPServerDialog *dialog = g_new0(ELDAPServerDialog, 1);
ELDAPServerDialog *dialog = g_new0 (ELDAPServerDialog, 1);
dialog->server = server;
dialog->gui = glade_xml_new (EVOLUTION_GLADEDIR "/ldap-server-dialog.glade", NULL);

View File

@ -2,12 +2,7 @@
#ifndef __E_LDAP_SERVER_DIALOG_H__
#define __E_LDAP_SERVER_DIALOG_H__
typedef struct {
char *description;
char *host;
int port;
char *rootdn;
} ELDAPServer;
#include "e-ldap-storage.h"
void e_ldap_server_editor_show(ELDAPServer *server);

View File

@ -60,13 +60,13 @@ static gboolean load_ldap_data (EvolutionStorage *storage, const char *file_path
static gboolean save_ldap_data (const char *file_path);
GHashTable *servers;
EvolutionStorage *storage;
void
setup_ldap_storage (EvolutionShellComponent *shell_component)
{
EvolutionShellClient *shell_client;
Evolution_Shell corba_shell;
EvolutionStorage *storage;
char *path;
shell_client = evolution_shell_component_get_owner (shell_component);
@ -84,6 +84,8 @@ setup_ldap_storage (EvolutionShellComponent *shell_component)
}
/* save the storage for later */
servers = g_hash_table_new (g_str_hash, g_str_equal);
gtk_object_set_data (GTK_OBJECT (shell_component), "e-storage", storage);
path = g_strdup_printf ("%s/evolution/" LDAPSERVER_XML, g_get_home_dir());
@ -135,26 +137,25 @@ load_ldap_data (EvolutionStorage *storage,
for (child = root->childs; child; child = child->next) {
char *path;
char *name;
char *uri;
char *description;
ELDAPServer *server;
if (strcmp (child->name, "contactserver")) {
g_warning ("unknown node '%s' in %s", child->name, file_path);
continue;
}
name = get_string_value (child, "name");
uri = get_string_value (child, "uri");
description = get_string_value (child, "description");
server = g_new (ELDAPServer, 1);
path = g_strdup_printf ("/%s", name);
evolution_storage_new_folder (storage, path, "contacts", uri, description);
server->name = get_string_value (child, "name");
server->uri = get_string_value (child, "uri");
server->description = get_string_value (child, "description");
path = g_strdup_printf ("/%s", server->name);
evolution_storage_new_folder (storage, path, "contacts", server->uri, server->description);
g_hash_table_insert (servers, server->name, server);
g_free (path);
g_free (name);
g_free (uri);
g_free (description);
}
xmlFreeDoc (doc);
@ -167,15 +168,19 @@ ldap_server_foreach(gpointer key, gpointer value, gpointer user_data)
{
ELDAPServer *server = (ELDAPServer*)value;
xmlNode *root = (xmlNode*)user_data;
xmlNode *server_root = xmlNewDocNode (root, NULL,
(xmlChar *) "contactserver", NULL);
xmlNewChild (root, NULL, (xmlChar *) "name",
xmlAddChild (root, server_root);
xmlNewChild (server_root, NULL, (xmlChar *) "name",
(xmlChar *) server->name);
xmlNewChild (root, NULL, (xmlChar *) "uri",
xmlNewChild (server_root, NULL, (xmlChar *) "uri",
(xmlChar *) server->uri);
if (server->description)
xmlNewChild (root, NULL, (xmlChar *) "description",
xmlNewChild (server_root, NULL, (xmlChar *) "description",
(xmlChar *) server->description);
}
@ -200,3 +205,26 @@ save_ldap_data (const char *file_path)
xmlFreeDoc (doc);
return TRUE;
}
void
e_ldap_storage_add_server (ELDAPServer *server)
{
char *path;
/* add it to our hashtable */
g_hash_table_insert (servers, server->name, server);
/* and then to the ui */
path = g_strdup_printf ("/%s", server->name);
evolution_storage_new_folder (storage, path, "contacts", server->uri, server->description);
g_free (path);
path = g_strdup_printf ("%s/evolution/" LDAPSERVER_XML, g_get_home_dir());
save_ldap_data (path);
g_free (path);
}
void
e_ldap_storage_remove_server (char *name)
{
}

View File

@ -26,6 +26,17 @@
#include "evolution-shell-component.h"
typedef struct {
char *name;
char *description;
char *host;
int port;
char *rootdn;
char *uri;
} ELDAPServer;
void setup_ldap_storage (EvolutionShellComponent *shell_component);
void e_ldap_storage_add_server (ELDAPServer *server);
void e_ldap_storage_remove_server (char *name);
#endif /* __E_LDAP_STORAGE_H__ */

View File

@ -10,17 +10,7 @@
<language>C</language>
<gnome_support>True</gnome_support>
<gettext_support>True</gettext_support>
<use_widget_names>False</use_widget_names>
<output_main_file>False</output_main_file>
<output_support_files>True</output_support_files>
<output_build_files>True</output_build_files>
<backup_source_files>True</backup_source_files>
<main_source_file>interface.c</main_source_file>
<main_header_file>interface.h</main_header_file>
<handler_source_file>callbacks.c</handler_source_file>
<handler_header_file>callbacks.h</handler_header_file>
<support_source_file>support.c</support_source_file>
<support_header_file>support.h</support_header_file>
<output_translatable_strings>True</output_translatable_strings>
<translatable_strings_file>ldap-server-dialog.glade.h</translatable_strings_file>
</project>
@ -49,269 +39,6 @@
<fill>True</fill>
</child>
<widget>
<class>GtkVBox</class>
<name>vbox1</name>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkTable</class>
<name>table2</name>
<rows>4</rows>
<columns>2</columns>
<homogeneous>False</homogeneous>
<row_spacing>0</row_spacing>
<column_spacing>0</column_spacing>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkEntry</class>
<name>description-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>0</top_attach>
<bottom_attach>1</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkEntry</class>
<name>server-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>1</top_attach>
<bottom_attach>2</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkEntry</class>
<name>port-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>2</top_attach>
<bottom_attach>3</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkEntry</class>
<name>root-dn-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>3</top_attach>
<bottom_attach>4</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment1</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>0</top_attach>
<bottom_attach>1</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label1</name>
<label>Description:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment2</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>1</top_attach>
<bottom_attach>2</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label2</name>
<label>LDAP Server:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment3</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>2</top_attach>
<bottom_attach>3</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label3</name>
<label>Port Number:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment4</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>3</top_attach>
<bottom_attach>4</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label4</name>
<label>Root DN:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
</widget>
</widget>
<widget>
<class>GtkHButtonBox</class>
<child_name>GnomeDialog:action_area</child_name>
@ -345,6 +72,328 @@
<stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
</widget>
</widget>
<widget>
<class>GtkVBox</class>
<name>vbox1</name>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkTable</class>
<name>table2</name>
<rows>5</rows>
<columns>2</columns>
<homogeneous>False</homogeneous>
<row_spacing>0</row_spacing>
<column_spacing>0</column_spacing>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkEntry</class>
<name>description-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>1</top_attach>
<bottom_attach>2</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkEntry</class>
<name>server-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>2</top_attach>
<bottom_attach>3</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkEntry</class>
<name>port-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>3</top_attach>
<bottom_attach>4</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkEntry</class>
<name>root-dn-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>4</top_attach>
<bottom_attach>5</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment1</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>1</top_attach>
<bottom_attach>2</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label1</name>
<label>Description:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment2</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>2</top_attach>
<bottom_attach>3</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label2</name>
<label>LDAP Server:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment3</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>3</top_attach>
<bottom_attach>4</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label3</name>
<label>Port Number:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment4</name>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>4</top_attach>
<bottom_attach>5</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label4</name>
<label>Root DN:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
<widget>
<class>GtkEntry</class>
<name>name-entry</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>0</top_attach>
<bottom_attach>1</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkAlignment</class>
<name>alignment5</name>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xscale>1</xscale>
<yscale>1</yscale>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>0</top_attach>
<bottom_attach>1</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>True</yfill>
</child>
<widget>
<class>GtkLabel</class>
<name>label5</name>
<label>Name:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
</widget>
</widget>
</widget>
</widget>

View File

@ -8,3 +8,4 @@ gchar *s = N_("Description:");
gchar *s = N_("LDAP Server:");
gchar *s = N_("Port Number:");
gchar *s = N_("Root DN:");
gchar *s = N_("Name:");