[gq-commit] gq/src dt_oc.c,1.12,1.13 formfill.c,1.29,1.30 formfill.h,1.19,1.20 input.c,1.41,1.42 tin
Status: Beta
Brought to you by:
sur5r
From: <sta...@us...> - 2002-07-13 16:47:42
|
Update of /cvsroot/gqclient/gq/src In directory usw-pr-cvs1:/tmp/cvs-serv8759 Modified Files: dt_oc.c formfill.c formfill.h input.c tinput.c Log Message: * Made the popup menu for the attribute labels to change display type a submenu of a general purpose popup menu. This menu now contains a button to view schema information for the attribute. Index: dt_oc.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/dt_oc.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** dt_oc.c 9 Jul 2002 10:31:11 -0000 1.12 --- dt_oc.c 13 Jul 2002 16:47:38 -0000 1.13 *************** *** 364,367 **** --- 364,368 ---- return TRUE; /* ?? */ } + form->server = server; strncpy(form->attrname, oc->oc_at_oids_must[i], MAX_ATTR_LEN); *************** *** 387,390 **** --- 388,392 ---- return TRUE; /* ?? */ } + form->server = server; strncpy(form->attrname, oc->oc_at_oids_may[i], MAX_ATTR_LEN); Index: formfill.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/formfill.c,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** formfill.c 13 Jul 2002 07:04:20 -0000 1.29 --- formfill.c 13 Jul 2002 16:47:38 -0000 1.30 *************** *** 230,233 **** --- 230,234 ---- } + form->server = server; strncpy(form->attrname, c, MAX_ATTR_LEN); if (c) g_free(c); *************** *** 286,289 **** --- 287,291 ---- /* no problem with NUL bytes here - new_formfill returns a completly NUL inited object */ + newform->server = oldform->server; strncpy(newform->attrname, oldform->attrname, sizeof(newform->attrname)); Index: formfill.h =================================================================== RCS file: /cvsroot/gqclient/gq/src/formfill.h,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** formfill.h 13 Jul 2002 07:04:20 -0000 1.19 --- formfill.h 13 Jul 2002 16:47:38 -0000 1.20 *************** *** 82,85 **** --- 82,86 ---- struct formfill { char attrname[MAX_ATTR_LEN]; + struct ldapserver *server; int num_inputfields; int displaytype; Index: input.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/input.c,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** input.c 13 Jul 2002 07:07:37 -0000 1.41 --- input.c 13 Jul 2002 16:47:38 -0000 1.42 *************** *** 46,49 **** --- 46,51 ---- #include "syntax.h" #include "i18n.h" + #include "schema.h" + #include "schemabrowse.h" #include "../icons/line.xpm" *************** *** 282,285 **** --- 284,298 ---- } + void schema_show_attr(GtkMenuItem *menuitem, struct formfill *form) + { + struct server_schema *ss = NULL; + + if (form->server == NULL) return; + ss = get_schema(form->server); + + popup_detail(SCHEMA_TYPE_AT, form->server, + find_canonical_at_by_at(ss, form->attrname)); + } + static gboolean widget_button_press(GtkWidget *widget, GdkEventButton *event, *************** *** 287,293 **** { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { ! GtkWidget *menu_item, *menu, *label; GtkWidget *root_menu; GList *dt_list; root_menu = gtk_menu_item_new_with_label("Root"); --- 300,307 ---- { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { ! GtkWidget *menu_item, *menu, *label, *submenu; GtkWidget *root_menu; GList *dt_list; + char buf[40]; root_menu = gtk_menu_item_new_with_label("Root"); *************** *** 296,305 **** gtk_menu_item_set_submenu(GTK_MENU_ITEM(root_menu), menu); ! label = gtk_menu_item_new_with_label(_("Select display type")); gtk_widget_set_sensitive(label, FALSE); gtk_widget_show(label); gtk_menu_append(GTK_MENU(menu), label); ! gtk_menu_set_title(GTK_MENU(menu), _("Select display type")); menu_item = gtk_tearoff_menu_item_new(); --- 310,321 ---- gtk_menu_item_set_submenu(GTK_MENU_ITEM(root_menu), menu); ! snprintf(buf, sizeof(buf), _("Attribute %s"), form->attrname); ! ! label = gtk_menu_item_new_with_label(buf); gtk_widget_set_sensitive(label, FALSE); gtk_widget_show(label); gtk_menu_append(GTK_MENU(menu), label); ! gtk_menu_set_title(GTK_MENU(menu), buf); menu_item = gtk_tearoff_menu_item_new(); *************** *** 308,311 **** --- 324,352 ---- gtk_widget_show(menu_item); + menu_item = gtk_menu_item_new_with_label(_("Schema information")); + /* gtk_object_set_data(GTK_OBJECT(menu_item), "formfill", form); */ + gtk_menu_append(GTK_MENU(menu), menu_item); + gtk_signal_connect(GTK_OBJECT(menu_item), "activate", + GTK_SIGNAL_FUNC(schema_show_attr), + (gpointer) form); + gtk_widget_show(menu_item); + + /* Change display type submenu */ + menu_item = gtk_menu_item_new_with_label(_("Change display type")); + gtk_menu_append(GTK_MENU(menu), menu_item); + submenu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu); + gtk_widget_show(menu_item); + + label = gtk_menu_item_new_with_label(_("Select display type")); + gtk_widget_set_sensitive(label, FALSE); + gtk_widget_show(label); + gtk_menu_append(GTK_MENU(submenu), label); + + menu_item = gtk_tearoff_menu_item_new(); + gtk_menu_append(GTK_MENU(submenu), menu_item); + gtk_widget_set_sensitive(menu_item, FALSE); + gtk_widget_show(menu_item); + dt_list = get_selectable_displaytypes(); while(dt_list) { *************** *** 316,320 **** gtk_object_set_data(GTK_OBJECT(menu_item), "formfill", form); /* gtk_object_set_data(GTK_OBJECT(menu_item), "entry", entry); */ ! gtk_menu_append(GTK_MENU(menu), menu_item); gtk_signal_connect(GTK_OBJECT(menu_item), "activate", GTK_SIGNAL_FUNC(change_dt), --- 357,361 ---- gtk_object_set_data(GTK_OBJECT(menu_item), "formfill", form); /* gtk_object_set_data(GTK_OBJECT(menu_item), "entry", entry); */ ! gtk_menu_append(GTK_MENU(submenu), menu_item); gtk_signal_connect(GTK_OBJECT(menu_item), "activate", GTK_SIGNAL_FUNC(change_dt), *************** *** 1003,1007 **** /* return; */ /* } */ ! res = ldap_modify_s(ld, dn, mods); if (res == LDAP_SERVER_DOWN) { --- 1044,1048 ---- /* return; */ /* } */ ! /* dump_mods(mods); */ res = ldap_modify_s(ld, dn, mods); if (res == LDAP_SERVER_DOWN) { Index: tinput.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/tinput.c,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** tinput.c 12 Jul 2002 20:27:52 -0000 1.38 --- tinput.c 13 Jul 2002 16:47:39 -0000 1.39 *************** *** 219,222 **** --- 219,223 ---- return(NULL); } + form->server = server; strcpy(form->attrname, "objectClass"); /* Flawfinder: ignore */ form->flags |= FLAG_MUST_IN_SCHEMA; *************** *** 251,254 **** --- 252,256 ---- return(NULL); } + form->server = server; strncpy(form->attrname, oc->oc_at_oids_must[i], MAX_ATTR_LEN); form->flags |= FLAG_MUST_IN_SCHEMA; *************** *** 276,279 **** --- 278,282 ---- return(NULL); } + form->server = server; strncpy(form->attrname, oc->oc_at_oids_may[i], MAX_ATTR_LEN); set_displaytype(server, form); *************** *** 365,368 **** --- 368,372 ---- /* attribute type not in schema */ newform = new_formfill(); + newform->server = server; strncpy(newform->attrname, form->attrname, sizeof(newform->attrname)); |