Mercurial > pidgin
comparison src/gtkimhtml.c @ 8428:018406bb4ab6
[gaim-migrate @ 9158]
These fixes are going to come in rapid succession until I have to leave.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Thu, 11 Mar 2004 20:18:38 +0000 |
parents | 2e18099ded93 |
children | 1b6c43246cf6 |
comparison
equal
deleted
inserted
replaced
8427:2e18099ded93 | 8428:018406bb4ab6 |
---|---|
2525 span->buffer = imhtml->text_buffer; | 2525 span->buffer = imhtml->text_buffer; |
2526 span->tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(imhtml->text_buffer), "BOLD"); | 2526 span->tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(imhtml->text_buffer), "BOLD"); |
2527 imhtml->edit.bold = span; | 2527 imhtml->edit.bold = span; |
2528 imhtml->format_spans = g_list_append(imhtml->format_spans, span); | 2528 imhtml->format_spans = g_list_append(imhtml->format_spans, span); |
2529 } else { | 2529 } else { |
2530 GtkTextIter start; | |
2530 span = imhtml->edit.bold; | 2531 span = imhtml->edit.bold; |
2531 span->end = gtk_text_buffer_create_mark(imhtml->text_buffer, NULL, &iter, TRUE); | 2532 span->end = gtk_text_buffer_create_mark(imhtml->text_buffer, NULL, &iter, TRUE); |
2533 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &start, span->start); | |
2534 if (gtk_text_iter_equal(&start, &iter)) { /* Format turned off before any text was entered, so remove the tag */ | |
2535 imhtml->format_spans = g_list_remove(imhtml->format_spans, span); | |
2536 if (span->start_tag) | |
2537 g_free(span->start_tag); | |
2538 if (span->end_tag) | |
2539 g_free(span->end_tag); | |
2540 g_free(span); | |
2541 } | |
2532 imhtml->edit.bold = NULL; | 2542 imhtml->edit.bold = NULL; |
2533 } | 2543 } |
2534 return imhtml->edit.bold != NULL; | 2544 return imhtml->edit.bold != NULL; |
2535 } | 2545 } |
2536 | 2546 |
2549 span->buffer = imhtml->text_buffer; | 2559 span->buffer = imhtml->text_buffer; |
2550 span->tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(imhtml->text_buffer), "ITALIC"); | 2560 span->tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(imhtml->text_buffer), "ITALIC"); |
2551 imhtml->edit.italic = span; | 2561 imhtml->edit.italic = span; |
2552 imhtml->format_spans = g_list_append(imhtml->format_spans, span); | 2562 imhtml->format_spans = g_list_append(imhtml->format_spans, span); |
2553 } else { | 2563 } else { |
2564 GtkTextIter start; | |
2554 span = imhtml->edit.italic; | 2565 span = imhtml->edit.italic; |
2555 span->end = gtk_text_buffer_create_mark(imhtml->text_buffer, NULL, &iter, TRUE); | 2566 span->end = gtk_text_buffer_create_mark(imhtml->text_buffer, NULL, &iter, TRUE); |
2567 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &start, span->start); | |
2568 if (gtk_text_iter_equal(&start, &iter)) { /* Format turned off before any text was entered, so remove the tag */ | |
2569 imhtml->format_spans = g_list_remove(imhtml->format_spans, span); | |
2570 if (span->start_tag) | |
2571 g_free(span->start_tag); | |
2572 if (span->end_tag) | |
2573 g_free(span->end_tag); | |
2574 g_free(span); | |
2575 } | |
2556 imhtml->edit.italic = NULL; | 2576 imhtml->edit.italic = NULL; |
2557 } | 2577 } |
2558 return imhtml->edit.italic != NULL; | 2578 return imhtml->edit.italic != NULL; |
2559 } | 2579 } |
2560 | 2580 |
2573 span->buffer = imhtml->text_buffer; | 2593 span->buffer = imhtml->text_buffer; |
2574 span->tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(imhtml->text_buffer), "UNDERLINE"); | 2594 span->tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(imhtml->text_buffer), "UNDERLINE"); |
2575 imhtml->edit.underline = span; | 2595 imhtml->edit.underline = span; |
2576 imhtml->format_spans = g_list_append(imhtml->format_spans, span); | 2596 imhtml->format_spans = g_list_append(imhtml->format_spans, span); |
2577 } else { | 2597 } else { |
2598 GtkTextIter start; | |
2578 span = imhtml->edit.underline; | 2599 span = imhtml->edit.underline; |
2579 span->end = gtk_text_buffer_create_mark(imhtml->text_buffer, NULL, &iter, TRUE); | 2600 span->end = gtk_text_buffer_create_mark(imhtml->text_buffer, NULL, &iter, TRUE); |
2601 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &start, span->start); | |
2602 if (gtk_text_iter_equal(&start, &iter)) { /* Format turned off before any text was entered, so remove the tag */ | |
2603 imhtml->format_spans = g_list_remove(imhtml->format_spans, span); | |
2604 if (span->start_tag) | |
2605 g_free(span->start_tag); | |
2606 if (span->end_tag) | |
2607 g_free(span->end_tag); | |
2608 g_free(span); | |
2609 } | |
2580 imhtml->edit.underline = NULL; | 2610 imhtml->edit.underline = NULL; |
2581 } | 2611 } |
2582 return imhtml->edit.underline != NULL; | 2612 return imhtml->edit.underline != NULL; |
2583 } | 2613 } |
2584 | 2614 |
2936 GtkIMHtmlFormatSpan *span = (GtkIMHtmlFormatSpan*)closers->data; | 2966 GtkIMHtmlFormatSpan *span = (GtkIMHtmlFormatSpan*)closers->data; |
2937 str = g_string_append(str, span->end_tag); | 2967 str = g_string_append(str, span->end_tag); |
2938 closers = g_list_remove(closers, span); | 2968 closers = g_list_remove(closers, span); |
2939 | 2969 |
2940 } | 2970 } |
2971 printf("gotten: %s\n", str->str); | |
2941 return g_string_free(str, FALSE); | 2972 return g_string_free(str, FALSE); |
2942 } | 2973 } |
2943 | 2974 |
2944 void gtk_imhtml_close_tags(GtkIMHtml *imhtml) | 2975 void gtk_imhtml_close_tags(GtkIMHtml *imhtml) |
2945 { | 2976 { |