Bug 115295

Summary: Gettext save: be less aggressive with the author lines in the header comment
Product: [Unmaintained] kbabel Reporter: Nicolas Goutte <nicolasg>
Component: KBabel editorAssignee: Stanislav Visnovsky <visnovsky>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nicolas Goutte 2005-10-29 00:55:29 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

KBabel should be less aggressive with the author lines in the header comment when saving a PO file.

If the author line already exist, it should stay where it is, not break comments on authors (e.g. Gettext's fr.po).

(Same with the FSF copyright line, which seems to be moved too, however I am not sure yet if it is by the author line code.)

This wish brings the question where should be placed a new author.

At the end of the header comment might be below a comment about the file (e.g. Gettext's de.po). Adding the author directly below the last author might be in front of comments about the previous author. (Perhaps the solution is at the first empty line after the last author.)

Have a nice day!
Comment 1 Nicolas Goutte 2005-10-29 21:58:08 UTC
SVN commit 475581 by goutte:

Be careful that a copyright line is not an author line
CCBUG:115295
(That is more a temporary solution of not moving the copyright line.)


 M  +7 -1      catalog.cpp  


--- branches/KDE/3.5/kdesdk/kbabel/common/catalog.cpp #475580:475581
@@ -645,6 +645,8 @@
         if(!found) commentList.prepend(temp);
     }
 
+    // kdDebug() << "HEADER COMMENT: " << commentList << endl;
+
     if ( (!usePrefs || saveOptions.updateTranslatorCopyright) 
         && ( ! identityOptions.authorName.isEmpty() ) 
         && ( ! identityOptions.authorEmail.isEmpty() ) ) // An email address can be used as ersatz of a name
@@ -666,8 +668,12 @@
         while ( it != commentList.end() )
         {
             bool deleteItem = false;
-            if ( (*it).find ( regexpYearAlone ) != -1 )
+            if ( (*it).find ( "copyright", 0, false ) != -1 )
             {
+                // We have a line with a copyright. It should not be moved.
+            }
+            else if ( (*it).find ( regexpYearAlone ) != -1 )
+            {
                 // We have found a year number that is preceeded by a comma.
                 // That is typical of KBabel 1.10 (and earlier?) when there is neither an author name nor an email
                 // Remove the entry
Comment 2 Nick Shaforostoff 2007-12-02 19:26:24 UTC
i think this should be closed