Mercurial > pidgin
comparison src/gtkrequest.c @ 10774:d83f745c997b
[gaim-migrate @ 12383]
Some escaping stuff, all over the place.
Various escaping fixes in the IRC prpl.
The core and plugins only need to escape text if it's going to be shown in
a gtkimhtml or equivalent - such as writing to a conversation window, or
gaim_notify_{formatted,userinfo}
The primary and secondary text for all notify and request API functions
do NOT need to be escaped by the core or plugins, because whether html-like
markup is required for these is UI dependent. Now we always escape these
in the Gtk UI request & notify ops.
Should I backport any of the above to oldstatus?
I also removed gaim_chat_get_display_name() - it was almost a duplicate of
gaim_chat_get_name(), and it leaked.
committer: Tailor Script <tailor@pidgin.im>
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sat, 02 Apr 2005 17:18:43 +0000 |
parents | 179b0245a2f7 |
children | 2ab4b5acc8d1 |
comparison
equal
deleted
inserted
replaced
10773:888d4c328be5 | 10774:d83f745c997b |
---|---|
284 GtkWidget *label; | 284 GtkWidget *label; |
285 GtkWidget *entry; | 285 GtkWidget *entry; |
286 GtkWidget *img; | 286 GtkWidget *img; |
287 GtkWidget *toolbar; | 287 GtkWidget *toolbar; |
288 char *label_text; | 288 char *label_text; |
289 char *primary_esc, *secondary_esc; | |
289 | 290 |
290 data = g_new0(GaimGtkRequestData, 1); | 291 data = g_new0(GaimGtkRequestData, 1); |
291 data->type = GAIM_REQUEST_INPUT; | 292 data->type = GAIM_REQUEST_INPUT; |
292 data->user_data = user_data; | 293 data->user_data = user_data; |
293 | 294 |
330 vbox = gtk_vbox_new(FALSE, 12); | 331 vbox = gtk_vbox_new(FALSE, 12); |
331 | 332 |
332 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); | 333 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); |
333 | 334 |
334 /* Descriptive label */ | 335 /* Descriptive label */ |
336 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL; | |
337 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL; | |
335 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" | 338 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" |
336 "%s</span>%s%s" : "%s%s%s"), | 339 "%s</span>%s%s" : "%s%s%s"), |
337 (primary ? primary : ""), | 340 (primary ? primary_esc : ""), |
338 ((primary && secondary) ? "\n\n" : ""), | 341 ((primary && secondary) ? "\n\n" : ""), |
339 (secondary ? secondary : "")); | 342 (secondary ? secondary_esc : "")); |
343 g_free(primary_esc); | |
344 g_free(secondary_esc); | |
340 | 345 |
341 label = gtk_label_new(NULL); | 346 label = gtk_label_new(NULL); |
342 | 347 |
343 gtk_label_set_markup(GTK_LABEL(label), label_text); | 348 gtk_label_set_markup(GTK_LABEL(label), label_text); |
344 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 349 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
433 GtkWidget *label; | 438 GtkWidget *label; |
434 GtkWidget *img; | 439 GtkWidget *img; |
435 GtkWidget *radio = NULL; | 440 GtkWidget *radio = NULL; |
436 char *label_text; | 441 char *label_text; |
437 char *radio_text; | 442 char *radio_text; |
443 char *primary_esc, *secondary_esc; | |
438 | 444 |
439 data = g_new0(GaimGtkRequestData, 1); | 445 data = g_new0(GaimGtkRequestData, 1); |
440 data->type = GAIM_REQUEST_ACTION; | 446 data->type = GAIM_REQUEST_ACTION; |
441 data->user_data = user_data; | 447 data->user_data = user_data; |
442 | 448 |
481 /* Vertical box */ | 487 /* Vertical box */ |
482 vbox = gtk_vbox_new(FALSE, 12); | 488 vbox = gtk_vbox_new(FALSE, 12); |
483 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); | 489 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); |
484 | 490 |
485 /* Descriptive label */ | 491 /* Descriptive label */ |
492 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL; | |
493 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL; | |
486 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" | 494 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" |
487 "%s</span>%s%s" : "%s%s%s"), | 495 "%s</span>%s%s" : "%s%s%s"), |
488 (primary ? primary : ""), | 496 (primary ? primary_esc : ""), |
489 ((primary && secondary) ? "\n\n" : ""), | 497 ((primary && secondary) ? "\n\n" : ""), |
490 (secondary ? secondary : "")); | 498 (secondary ? secondary_esc : "")); |
499 g_free(primary_esc); | |
500 g_free(secondary_esc); | |
491 | 501 |
492 label = gtk_label_new(NULL); | 502 label = gtk_label_new(NULL); |
493 | 503 |
494 gtk_label_set_markup(GTK_LABEL(label), label_text); | 504 gtk_label_set_markup(GTK_LABEL(label), label_text); |
495 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 505 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
528 GtkWidget *hbox; | 538 GtkWidget *hbox; |
529 GtkWidget *label; | 539 GtkWidget *label; |
530 GtkWidget *img; | 540 GtkWidget *img; |
531 void **buttons; | 541 void **buttons; |
532 char *label_text; | 542 char *label_text; |
543 char *primary_esc, *secondary_esc; | |
533 int i; | 544 int i; |
534 | 545 |
535 data = g_new0(GaimGtkRequestData, 1); | 546 data = g_new0(GaimGtkRequestData, 1); |
536 data->type = GAIM_REQUEST_ACTION; | 547 data->type = GAIM_REQUEST_ACTION; |
537 data->user_data = user_data; | 548 data->user_data = user_data; |
585 /* Vertical box */ | 596 /* Vertical box */ |
586 vbox = gtk_vbox_new(FALSE, 12); | 597 vbox = gtk_vbox_new(FALSE, 12); |
587 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); | 598 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); |
588 | 599 |
589 /* Descriptive label */ | 600 /* Descriptive label */ |
601 primary_esc = (primary != NULL) ? g_markup_escape_text(primary, -1) : NULL; | |
602 secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL; | |
590 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" | 603 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" |
591 "%s</span>%s%s" : "%s%s%s"), | 604 "%s</span>%s%s" : "%s%s%s"), |
592 (primary ? primary : ""), | 605 (primary ? primary_esc : ""), |
593 ((primary && secondary) ? "\n\n" : ""), | 606 ((primary && secondary) ? "\n\n" : ""), |
594 (secondary ? secondary : "")); | 607 (secondary ? secondary_esc : "")); |
608 g_free(primary_esc); | |
609 g_free(secondary_esc); | |
595 | 610 |
596 label = gtk_label_new(NULL); | 611 label = gtk_label_new(NULL); |
597 | 612 |
598 gtk_label_set_markup(GTK_LABEL(label), label_text); | 613 gtk_label_set_markup(GTK_LABEL(label), label_text); |
599 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 614 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
1232 GtkSizeGroup *sg; | 1247 GtkSizeGroup *sg; |
1233 GList *gl, *fl; | 1248 GList *gl, *fl; |
1234 GaimRequestFieldGroup *group; | 1249 GaimRequestFieldGroup *group; |
1235 GaimRequestField *field; | 1250 GaimRequestField *field; |
1236 char *label_text; | 1251 char *label_text; |
1252 char *primary_esc, *secondary_esc; | |
1237 int total_fields = 0; | 1253 int total_fields = 0; |
1238 | 1254 |
1239 data = g_new0(GaimGtkRequestData, 1); | 1255 data = g_new0(GaimGtkRequestData, 1); |
1240 data->type = GAIM_REQUEST_FIELDS; | 1256 data->type = GAIM_REQUEST_FIELDS; |
1241 data->user_data = user_data; | 1257 data->user_data = user_data; |
1279 gtk_widget_show(vbox); | 1295 gtk_widget_show(vbox); |
1280 | 1296 |
1281 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | 1297 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
1282 | 1298 |
1283 if(primary) { | 1299 if(primary) { |
1300 primary_esc = g_markup_escape_text(primary, -1); | |
1284 label_text = g_strdup_printf( | 1301 label_text = g_strdup_printf( |
1285 "<span weight=\"bold\" size=\"larger\">%s</span>", primary); | 1302 "<span weight=\"bold\" size=\"larger\">%s</span>", primary_esc); |
1303 g_free(primary_esc); | |
1286 label = gtk_label_new(NULL); | 1304 label = gtk_label_new(NULL); |
1287 | 1305 |
1288 gtk_label_set_markup(GTK_LABEL(label), label_text); | 1306 gtk_label_set_markup(GTK_LABEL(label), label_text); |
1289 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 1307 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
1290 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | 1308 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
1313 } else { | 1331 } else { |
1314 vbox2 = vbox; | 1332 vbox2 = vbox; |
1315 } | 1333 } |
1316 | 1334 |
1317 if (secondary) { | 1335 if (secondary) { |
1336 secondary_esc = g_markup_escape_text(secondary, -1); | |
1318 label = gtk_label_new(NULL); | 1337 label = gtk_label_new(NULL); |
1319 | 1338 |
1320 gtk_label_set_markup(GTK_LABEL(label), secondary); | 1339 gtk_label_set_markup(GTK_LABEL(label), secondary_esc); |
1340 g_free(secondary_esc); | |
1321 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 1341 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
1322 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | 1342 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
1323 gtk_box_pack_start(GTK_BOX(vbox2), label, TRUE, TRUE, 0); | 1343 gtk_box_pack_start(GTK_BOX(vbox2), label, TRUE, TRUE, 0); |
1324 gtk_widget_show(label); | 1344 gtk_widget_show(label); |
1325 } | 1345 } |