Changeset 63ca8047cee68d8fa40d41e4a02e1c38aad3726a

Show
Ignore:
Timestamp:
10/25/09 14:24:52 (4 years ago)
Author:
Benjamin Herr <ben@…>
git-author:
Benjamin Herr <ben@0x539.de> / 2009-01-16T21:52:36Z+0100
Parents:
7cfad2e713662f0eeea22b5c5d19c6a9596c4413
Children:
f4c6a3db38b252de69e1eb1b882d87de5d4c00be
git-committer:
Benjamin Herr <ben@0x539.de> / 2009-10-25T14:24:52Z+0100
Message:

htmlexport: color first chunk correctly, too

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • code/commands/file-commands.cpp

    r7cfad2e r63ca804  
    254254        GtkTextIter begin; 
    255255        gtk_text_buffer_get_start_iter(buffer, &begin); 
    256          
    257         if (gtk_text_iter_is_end(&begin)) 
    258                 return; 
    259  
    260         for (;;) { 
     256 
     257        while (!gtk_text_iter_is_end(&begin)) { 
     258                // check author, insert new <span/> if necessary 
     259                InfTextUser* new_user 
     260                        = inf_text_gtk_buffer_get_author(inf_buffer, &begin); 
     261 
     262                if (new_user) { 
     263                        guint new_id = inf_user_get_id(INF_USER(new_user)); 
     264                        if (!user || user != new_user) { 
     265                                if (user) 
     266                                        last_node = last_node->get_parent(); 
     267 
     268                                last_node = last_node->add_child("span"); 
     269                                last_node->set_attribute( 
     270                                        "class", 
     271                                        Glib::ustring::compose("user_%1", new_id)); 
     272                                last_node->set_attribute( 
     273                                  "title", 
     274                                  Glib::ustring::compose(_("written by: %1"), 
     275                                                         inf_user_get_name(INF_USER(new_user)))); 
     276                        } 
     277 
     278                        user = new_user; 
     279                        users.insert(user); 
     280                } else { 
     281                        if (user) 
     282                                last_node = last_node->get_parent(); 
     283                        user = 0; 
     284                } 
     285 
    261286                GtkTextIter next = begin; 
    262287                gtk_text_iter_forward_to_tag_toggle(&next, 0); 
     
    303328 
    304329                begin = next; 
    305  
    306                 if (gtk_text_iter_is_end(&begin)) 
    307                         break; 
    308  
    309                 // check author, insert new <span/> if necessary 
    310                 InfTextUser* new_user 
    311                         = inf_text_gtk_buffer_get_author(inf_buffer, &next); 
    312  
    313                 if (new_user) { 
    314                         guint new_id = inf_user_get_id(INF_USER(new_user)); 
    315                         if (!user || user != new_user) { 
    316                                 if (user) 
    317                                         last_node = last_node->get_parent(); 
    318  
    319                                 last_node = last_node->add_child("span"); 
    320                                 last_node->set_attribute( 
    321                                         "class", 
    322                                         Glib::ustring::compose("user_%1", new_id)); 
    323                                 last_node->set_attribute( 
    324                                   "title", 
    325                                   Glib::ustring::compose(_("written by: %1"), 
    326                                                          inf_user_get_name(INF_USER(new_user)))); 
    327                         } 
    328  
    329                         user = new_user; 
    330                         users.insert(user); 
    331                 } else { 
    332                         if (user) 
    333                                 last_node = last_node->get_parent(); 
    334                         user = 0; 
    335                 } 
    336330        } 
    337331}