Update of /cvsroot/gqclient/gq/src
In directory sc8-pr-cvs1:/tmp/cvs-serv10408
Modified Files:
search.c
Log Message:
* Added a proper title to the search-result popup menu, disable menu
items if they cannot be used (Cannot locate a found object in a
browser if the object was found when following a referral).
Index: search.c
===================================================================
RCS file: /cvsroot/gqclient/gq/src/search.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -C2 -d -r1.56 -r1.57
*** search.c 20 Oct 2003 08:37:18 -0000 1.56
--- search.c 21 Oct 2003 04:59:18 -0000 1.57
***************
*** 1717,1721 ****
struct resultset *set)
{
! GtkWidget *root_menu, *menu, *menu_item;
/* this is a hack to pass the selected set under the menu to the callbacks.
--- 1717,1723 ----
struct resultset *set)
{
! GtkWidget *root_menu, *menu, *menu_item, *label;
! int transient = is_transient_server(set->server);
! char **exploded_dn = NULL, *name;
/* this is a hack to pass the selected set under the menu to the callbacks.
***************
*** 1728,1731 ****
--- 1730,1751 ----
menu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(root_menu), menu);
+
+ exploded_dn = gq_ldap_explode_dn(set->dn, FALSE);
+
+ if (exploded_dn) {
+ name = exploded_dn[0];
+ } else {
+ name = set->dn;
+ }
+
+ label = gtk_menu_item_new_with_label(name);
+ gtk_widget_set_sensitive(label, FALSE);
+ gtk_widget_show(label);
+
+ gtk_menu_append(GTK_MENU(menu), label);
+ gtk_menu_set_title(GTK_MENU(menu), name);
+
+ if (exploded_dn) gq_exploded_free(exploded_dn);
+
#if GTK_MAJOR >= 2
menu_item = gtk_separator_menu_item_new();
***************
*** 1760,1763 ****
--- 1780,1784 ----
(gpointer) tab);
gtk_widget_show(menu_item);
+ gtk_widget_set_sensitive(GTK_WIDGET(menu_item), !transient);
/* Add all to Browser */
***************
*** 1768,1771 ****
--- 1789,1793 ----
(gpointer) tab);
gtk_widget_show(menu_item);
+ gtk_widget_set_sensitive(GTK_WIDGET(menu_item), !transient);
/* separator */
|