aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook')
-rw-r--r--addressbook/ChangeLog8
-rw-r--r--addressbook/gui/component/addressbook-config.c23
2 files changed, 25 insertions, 6 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 52e2e3f2f2..cf0cda11dd 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,11 @@
+2002-06-21 Sean Atkinson <sean@cantab.net>
+
+ * gui/component/addressbook-config.c (addressbook_edit_server_dialog):
+ remove source argument (get it from the dialog).
+ (edit_source_clicked): same.
+ (sources_table_double_click): added to edit server by double-clicking.
+ (ldap_dialog_new): use sources_table_double_click.
+
2002-06-17 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-addressbook-view.c (e_addressbook_view_save_as):
diff --git a/addressbook/gui/component/addressbook-config.c b/addressbook/gui/component/addressbook-config.c
index ea59748b8e..e40dd0806d 100644
--- a/addressbook/gui/component/addressbook-config.c
+++ b/addressbook/gui/component/addressbook-config.c
@@ -1300,8 +1300,9 @@ edit_dialog_ok_clicked (GtkWidget *item, AddressbookSourceDialog *sdialog)
}
static AddressbookSourceDialog*
-addressbook_edit_server_dialog (AddressbookDialog *dialog, AddressbookSource *source, int model_row)
+addressbook_edit_server_dialog (AddressbookDialog *dialog, int model_row)
{
+ AddressbookSource *source = e_table_memory_get_data (E_TABLE_MEMORY(dialog->sourcesModel), model_row);
AddressbookSourceDialog *sdialog = g_new0 (AddressbookSourceDialog, 1);
GtkWidget *general_tab_help;
GtkWidget *fewer_options_button, *more_options_button;
@@ -1425,9 +1426,7 @@ edit_source_clicked (GtkWidget *widget, AddressbookDialog *dialog)
for (i = 0; i < row_count; i ++) {
if (e_selection_model_is_row_selected (selection_model, i)) {
- AddressbookSource *source = e_table_memory_get_data (E_TABLE_MEMORY(dialog->sourcesModel), i);
- AddressbookSourceDialog *sdialog;
- sdialog = addressbook_edit_server_dialog (dialog, source, i);
+ addressbook_edit_server_dialog (dialog, i);
break; /* single select so we're done now */
}
}
@@ -1523,12 +1522,20 @@ sources_selection_changed (ESelectionModel *esm, AddressbookDialog *dialog)
gtk_widget_set_sensitive (dialog->deleteSource, sensitive);
}
+static void
+sources_table_double_click (ETable *et, int row, int col, GdkEvent *event, AddressbookDialog *dialog)
+{
+ addressbook_edit_server_dialog (dialog, row);
+}
+
+
static AddressbookDialog *
ldap_dialog_new (GNOME_Evolution_Shell shell)
{
AddressbookDialog *dialog;
GList *l;
ESelectionModel *esm;
+ ETable *et;
dialog = g_new0 (AddressbookDialog, 1);
@@ -1536,6 +1543,10 @@ ldap_dialog_new (GNOME_Evolution_Shell shell)
dialog->shell = shell;
dialog->sourcesTable = glade_xml_get_widget (dialog->gui, "sourcesTable");
+ et = e_table_scrolled_get_table (E_TABLE_SCROLLED(dialog->sourcesTable));
+ gtk_signal_connect (GTK_OBJECT (et), "double_click",
+ GTK_SIGNAL_FUNC (sources_table_double_click), dialog);
+
dialog->sourcesModel = gtk_object_get_data (GTK_OBJECT (dialog->sourcesTable), "model");
dialog->addSource = glade_xml_get_widget (dialog->gui, "addSource");
@@ -1563,7 +1574,7 @@ ldap_dialog_new (GNOME_Evolution_Shell shell)
-1, source, source->name, source->host);
}
- esm = e_table_get_selection_model (e_table_scrolled_get_table (E_TABLE_SCROLLED(dialog->sourcesTable)));
+ esm = e_table_get_selection_model (et);
gtk_signal_connect (GTK_OBJECT (esm), "selection_changed",
GTK_SIGNAL_FUNC (sources_selection_changed), dialog);
@@ -1596,7 +1607,7 @@ addressbook_dialog_create_sources_table (char *name, char *string1, char *string
{
GtkWidget *table;
ETableModel *model;
-
+
model = e_table_memory_store_new (sources_table_columns);
table = e_table_scrolled_new (model, NULL, SOURCES_TABLE_SPEC, NULL);