[gq-commit] gq/src dt_entry.c,1.7,1.8 dt_password.c,1.9,1.10 dt_text.c,1.6,1.7 dt_time.c,1.2,1.3 dtu
Status: Beta
Brought to you by:
sur5r
From: <sta...@us...> - 2002-07-13 07:01:12
|
Update of /cvsroot/gqclient/gq/src In directory usw-pr-cvs1:/tmp/cvs-serv14892 Modified Files: dt_entry.c dt_password.c dt_text.c dt_time.c dtutil.c Log Message: * Fixed some nasty bugs that caused two consecutive "Apply" operations to delete all attributes of an object! * Fixed bugs denying the addition of new attributes Index: dt_entry.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/dt_entry.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** dt_entry.c 12 Jul 2002 20:21:14 -0000 1.7 --- dt_entry.c 13 Jul 2002 07:01:06 -0000 1.8 *************** *** 82,88 **** GTK_SIGNAL_FUNC(activatefunc), (gpointer) hash); ! if(data) { ! dt_entry_set_data(form, data, inputbox); ! } return inputbox; --- 82,86 ---- GTK_SIGNAL_FUNC(activatefunc), (gpointer) hash); ! dt_entry_set_data(form, data, inputbox); return inputbox; *************** *** 97,111 **** GtkWidget *widget) { ! if(data) { ! editable_set_text(GTK_EDITABLE(widget), data, ! DT_ENTRY(form->dt_handler)->encode, ! DT_ENTRY(form->dt_handler)->decode); ! } else { ! GByteArray *c = g_byte_array_new(); ! editable_set_text(GTK_EDITABLE(widget), c, ! DT_ENTRY(form->dt_handler)->encode, ! DT_ENTRY(form->dt_handler)->decode); ! g_byte_array_free(c, TRUE); ! } } --- 95,101 ---- GtkWidget *widget) { ! editable_set_text(GTK_EDITABLE(widget), data, ! DT_ENTRY(form->dt_handler)->encode, ! DT_ENTRY(form->dt_handler)->decode); } Index: dt_password.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/dt_password.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** dt_password.c 12 Jul 2002 20:21:14 -0000 1.9 --- dt_password.c 13 Jul 2002 07:01:06 -0000 1.10 *************** *** 321,338 **** combo = ((struct _GtkBoxChild *) boxchildren->next->data)->widget; ! if(data) { ! editable_set_text(GTK_EDITABLE(entry), data, ! DT_PASSWORD(form->dt_handler)->encode, ! DT_PASSWORD(form->dt_handler)->decode); ! ! if(data->data[0] == '{') { ! char crypt_prefix[12]; ! for(i = 1; data->data[i] && data->data[i] != '}' && i < 10; i++) ! crypt_prefix[i - 1] = data->data[i]; ! crypt_prefix[i - 1] = '\0'; ! crypt_type = detokenize(cryptmap, ! tokenize(cryptmap, crypt_prefix)); ! } } /* set the combo to the encoding type */ gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(combo)->entry), crypt_type); --- 321,337 ---- combo = ((struct _GtkBoxChild *) boxchildren->next->data)->widget; ! editable_set_text(GTK_EDITABLE(entry), data, ! DT_PASSWORD(form->dt_handler)->encode, ! DT_PASSWORD(form->dt_handler)->decode); ! ! if(data && data->data[0] == '{') { ! char crypt_prefix[12]; ! for(i = 1; data->data[i] && data->data[i] != '}' && i < 10; i++) ! crypt_prefix[i - 1] = data->data[i]; ! crypt_prefix[i - 1] = '\0'; ! crypt_type = detokenize(cryptmap, ! tokenize(cryptmap, crypt_prefix)); } + /* set the combo to the encoding type */ gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(combo)->entry), crypt_type); *************** *** 348,352 **** boxchildren = GTK_BOX(hbox)->children; ! data = editable_get_text(GTK_ENTRY(((struct _GtkBoxChild *) boxchildren->data)->widget)); if(boxchildren->next) { --- 347,351 ---- boxchildren = GTK_BOX(hbox)->children; ! data = editable_get_text(GTK_EDITABLE(((struct _GtkBoxChild *) boxchildren->data)->widget)); if(boxchildren->next) { Index: dt_text.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/dt_text.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** dt_text.c 12 Jul 2002 20:21:14 -0000 1.6 --- dt_text.c 13 Jul 2002 07:01:06 -0000 1.7 *************** *** 75,81 **** inputbox = gtk_text_new(NULL, NULL); gtk_text_set_editable(GTK_TEXT(inputbox), TRUE); ! if(data) { ! dt_entry_set_data(form, data, inputbox); ! } return inputbox; --- 75,79 ---- inputbox = gtk_text_new(NULL, NULL); gtk_text_set_editable(GTK_TEXT(inputbox), TRUE); ! dt_entry_set_data(form, data, inputbox); return inputbox; Index: dt_time.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/dt_time.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** dt_time.c 12 Jul 2002 20:21:14 -0000 1.2 --- dt_time.c 13 Jul 2002 07:01:06 -0000 1.3 *************** *** 446,453 **** GtkWidget *widget) { ! if (data) ! editable_set_text(GTK_EDITABLE(dt_time_retrieve_inputbox(widget)), ! data, ! NULL, NULL); } --- 446,452 ---- GtkWidget *widget) { ! editable_set_text(GTK_EDITABLE(dt_time_retrieve_inputbox(widget)), ! data, ! NULL, NULL); } Index: dtutil.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/dtutil.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dtutil.c 12 Jul 2002 20:18:59 -0000 1.1 --- dtutil.c 13 Jul 2002 07:01:06 -0000 1.2 *************** *** 38,42 **** { gtk_object_set_data(GTK_OBJECT(editable), ! "entry_changed_flag", GINT_TO_POINTER(1)); } --- 38,42 ---- { gtk_object_set_data(GTK_OBJECT(editable), ! "editable_changed_flag", GINT_TO_POINTER(1)); } *************** *** 45,53 **** GByteArray* (*decode)(const char *val, int len)) { ! int len = data->len; char nul[] = { 0 }; int pos = 0; GByteArray *copy, *encoded; ! gboolean del = FALSE; /* encode data */ --- 45,60 ---- GByteArray* (*decode)(const char *val, int len)) { ! int len; char nul[] = { 0 }; int pos = 0; GByteArray *copy, *encoded; ! gboolean del = FALSE, deldata = FALSE; ! ! if (data == NULL) { ! data = g_byte_array_new(); ! deldata = TRUE; ! } ! ! len = data->len; /* encode data */ *************** *** 69,72 **** --- 76,81 ---- gtk_editable_insert_text(entry, encoded->data, strlen(encoded->data), &pos); + + gtk_editable_set_position(entry, 0); /* strip the extra NUL byte again... */ *************** *** 87,94 **** gtk_object_set_data(GTK_OBJECT(entry), ! "entry_changed_flag", GINT_TO_POINTER(0)); gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(editable_changed_cb), (gpointer) NULL); } --- 96,105 ---- gtk_object_set_data(GTK_OBJECT(entry), ! "editable_changed_flag", GINT_TO_POINTER(0)); gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(editable_changed_cb), (gpointer) NULL); + + if (deldata) g_byte_array_free(data, TRUE); } *************** *** 96,100 **** { int changed = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(entry), ! "entry_changed_flag")); GByteArray *data; char *c; --- 107,111 ---- { int changed = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(entry), ! "editable_changed_flag")); GByteArray *data; char *c; *************** *** 113,118 **** g_free(c); } else { ! data = gtk_object_get_data(GTK_OBJECT(entry), "original_data"); ! gtk_object_remove_no_notify(GTK_OBJECT(entry), "original_data"); } return data; --- 124,135 ---- g_free(c); } else { ! GByteArray *original = gtk_object_get_data(GTK_OBJECT(entry), ! "original_data"); ! data = g_byte_array_new(); ! ! /* copy data */ ! if (original) { ! g_byte_array_append(data, original->data, original->len); ! } } return data; |