-/**
- * Callback function when list item is selected.
- * \param clist List widget.
- * \param row Row.
- * \param col Column.
- * \param event Event object.
- * \param data User data.
- */
-static void imp_ldif_field_list_selected(
- GtkCMCList *clist, gint row, gint column, GdkEvent *event,
- gpointer data )
-{
- Ldif_FieldRec *rec = gtk_cmclist_get_row_data( clist, row );
-
- impldif_dlg.rowIndSelect = row;
- gtk_entry_set_text( GTK_ENTRY(impldif_dlg.entryAttrib), "" );
- if( rec ) {
- /* Update widget contents */
- gtk_label_set_text(
- GTK_LABEL(impldif_dlg.entryField), rec->tagName );
- if( rec->userName )
- gtk_entry_set_text(
- GTK_ENTRY(impldif_dlg.entryAttrib), rec->userName );
- gtk_toggle_button_set_active(
- GTK_TOGGLE_BUTTON( impldif_dlg.checkSelect),
- rec->selected );
-
- /* Disable widgets for reserved fields */
- gtk_widget_set_sensitive(
- impldif_dlg.entryAttrib, ! rec->reserved );
- gtk_widget_set_sensitive(
- impldif_dlg.checkSelect, ! rec->reserved );
- gtk_widget_set_sensitive(
- impldif_dlg.btnModify, ! rec->reserved );
- }
- gtk_widget_grab_focus(impldif_dlg.entryAttrib);
-}
-
-/**
- * Callback function to toggle selected LDIF field.
- * \param clist List to update.
- * \param event Event object.
- * \param data Data.
- */
-static gboolean imp_ldif_field_list_toggle(
- GtkCMCList *clist, GdkEventButton *event, gpointer data )
-{
- Ldif_FieldRec *rec;
- gboolean toggle = FALSE;
-
- if( ! event ) return FALSE;
- if( impldif_dlg.rowIndSelect < 0 ) return FALSE;
- if( event->button == 1 ) {
- /* If single click in select column */
- if( event->type == GDK_BUTTON_PRESS ) {
- gint x = event->x;
- gint y = event->y;
- gint row, col;
-
- if (!gtk_cmclist_get_selection_info( clist, x, y, &row, &col ))
- return FALSE;
- if( col != FIELD_COL_SELECT ) return FALSE;
- if( row > impldif_dlg.rowCount ) return FALSE;
-
- /* Set row */
- impldif_dlg.rowIndSelect = row;
- toggle = TRUE;
- }
-
- /* If double click anywhere in row */
- else if( event->type == GDK_2BUTTON_PRESS ) {
- toggle = TRUE;
- }
- }
- /* Toggle field selection */
- if( toggle ) {
- rec = gtk_cmclist_get_row_data(
- clist, impldif_dlg.rowIndSelect );
- if( rec ) {
- ldif_field_toggle( rec );
- imp_ldif_update_row( clist );
- }
- }
- return FALSE;
-}
-
-/**
- * Callback function to update LDIF field data from input fields.
- * \param widget Widget (button).
- * \param data User data.
- */
-static void imp_ldif_modify_pressed( GtkWidget *widget, gpointer data ) {
- GtkCMCList *clist = GTK_CMCLIST(impldif_dlg.clist_field);
- Ldif_FieldRec *rec;
- gint row;
-
- if( impldif_dlg.rowIndSelect < 0 ) return;
- row = impldif_dlg.rowIndSelect;
- rec = gtk_cmclist_get_row_data( clist, impldif_dlg.rowIndSelect );
-
- ldif_field_set_name( rec, gtk_editable_get_chars(
- GTK_EDITABLE(impldif_dlg.entryAttrib), 0, -1 ) );
- ldif_field_set_selected( rec, gtk_toggle_button_get_active(
- GTK_TOGGLE_BUTTON( impldif_dlg.checkSelect) ) );
- imp_ldif_update_row( clist );
- gtk_cmclist_select_row( clist, row, 0 );
- gtk_label_set_text( GTK_LABEL(impldif_dlg.entryField), "" );
- gtk_entry_set_text( GTK_ENTRY(impldif_dlg.entryAttrib), "" );
- gtk_toggle_button_set_active(
- GTK_TOGGLE_BUTTON( impldif_dlg.checkSelect), FALSE );
-}
-