diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/doxygen.cpp doxygen-1.4.0-patched/src/doxygen.cpp
--- doxygen-1.4.0/src/doxygen.cpp	Tue Dec 28 07:33:12 2004
+++ doxygen-1.4.0-patched/src/doxygen.cpp	Tue Jan  4 16:46:45 2005
@@ -8815,9 +8815,6 @@
   msg("Generating index page...\n"); 
   writeIndex(*outputList);
 
-  msg("Generating file index...\n");
-  writeFileIndex(*outputList);
-
   msg("Generating example documentation...\n");
   generateExampleDocs();
 
@@ -8828,26 +8825,44 @@
   msg("Generating file documentation...\n");
   generateFileDocs();
   
-  msg("Generating class documentation...\n");
-  generateClassDocs();
-  
   msg("Generating page documentation...\n");
   generatePageDocs();
   
   msg("Generating group documentation...\n");
   generateGroupDocs();
 
-  if (Config_getBool("SHOW_DIRECTORIES"))
+  msg("Generating group index...\n");
+  writeGroupIndex(*outputList);
+ 
+  msg("Generating class documentation...\n");
+  generateClassDocs();
+  
+  if (Config_getBool("HAVE_DOT") && Config_getBool("GRAPHICAL_HIERARCHY"))
   {
-    msg("Generating directory documentation...\n");
-    generateDirDocs(*outputList);
+    msg("Generating graphical class hierarchy...\n");
+    writeGraphicalClassHierarchy(*outputList);
   }
 
   msg("Generating namespace index...\n");
   generateNamespaceDocs();
   
-  msg("Generating group index...\n");
-  writeGroupIndex(*outputList);
+  msg("Generating namespace member index...\n");
+  writeNamespaceMemberIndex(*outputList);
+
+  if (Config_getBool("GENERATE_LEGEND"))
+  {
+    msg("Generating graph info page...\n");
+    writeGraphInfo(*outputList);
+  }
+
+  if (Config_getBool("SHOW_DIRECTORIES"))
+  {
+    msg("Generating directory documentation...\n");
+    generateDirDocs(*outputList);
+  }
+
+  msg("Generating file index...\n");
+  writeFileIndex(*outputList);
  
   if (Config_getBool("SHOW_DIRECTORIES"))
   {
@@ -8861,18 +8876,9 @@
   msg("Generating file member index...\n");
   writeFileMemberIndex(*outputList);
   
-  msg("Generating namespace member index...\n");
-  writeNamespaceMemberIndex(*outputList);
-
   msg("Generating page index...\n");
   writePageIndex(*outputList);
   
-  if (Config_getBool("GENERATE_LEGEND"))
-  {
-    msg("Generating graph info page...\n");
-    writeGraphInfo(*outputList);
-  }
-
   //writeDirDependencyGraph(Config_getString("HTML_OUTPUT"));
   
   if (Config_getBool("GENERATE_RTF"))
@@ -8884,12 +8890,6 @@
     }
   }
   
-  if (Config_getBool("HAVE_DOT") && Config_getBool("GRAPHICAL_HIERARCHY"))
-  {
-    msg("Generating graphical class hierarchy...\n");
-    writeGraphicalClassHierarchy(*outputList);
-  }
-
   if (Doxygen::formulaList.count()>0 && Config_getBool("GENERATE_HTML"))
   {
     msg("Generating bitmaps for formulas in HTML...\n");
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/htmlgen.cpp doxygen-1.4.0-patched/src/htmlgen.cpp
--- doxygen-1.4.0/src/htmlgen.cpp	Tue Dec 28 07:33:13 2004
+++ doxygen-1.4.0-patched/src/htmlgen.cpp	Tue Jan  4 17:07:24 2005
@@ -69,6 +69,9 @@
 "	padding: 2px;\n"
 "	line-height: 140%;\n"
 "}\n"
+"TABLE.qindex {"
+"	font-size: 100%;"
+"}"
 "DIV.nav {\n"
 "	width: 100%;\n"
 "	background-color: #eeeeff;\n"
@@ -1430,7 +1433,7 @@
                                 bool hl,bool compact,bool &first,
                                 const QCString &relPath)
 {
-  if (!first && compact) t << " | ";
+  if (!first && compact) t << ", ";
   first=FALSE;
   if (!compact) t << "<li>";
   if (hl && compact)
@@ -1459,29 +1462,56 @@
 {
   bool first=TRUE;
   if (compact) 
-  {
     t << "<div class=\"qindex\">"; 
-  }
-  else 
-  {
-    t << "<ul>";
-  }
-
   if (Config_getBool("SEARCHENGINE"))
-  {
     t << "  <form class=\"search\" action=\"" << relPath 
       << "search.php\" method=\"get\">\n";
-  }
+  if(!compact)
+    t << "<ul>";
 
+  int columns=1; //start at 1 for main page (and "modules") column
+  bool hasClasses=FALSE;
+  bool hasNamespaces=FALSE;
+  bool hasFiles=FALSE;
+  bool hasOther=FALSE;
+  
+  //Classes?
+  if(hierarchyClasses>0
+     || annotatedClasses>0
+     || documentedClassMembers[CMHL_All]>0)
+    hasClasses=columns++;
+    
+  //Namespaces?
+  if(documentedNamespaces>0
+     || documentedNamespaceMembers[NMHL_All])
+    hasNamespaces=columns++;
+    
+  //Files?
+  if(documentedHtmlFiles>0
+     || Config_getBool("SHOW_DIRECTORIES") && documentedDirs>0
+     || documentedFileMembers[FMHL_All]>0)
+    hasFiles=columns++;
+
+  //Other (inc. search)?
+  if(indexedPages>0
+     || Doxygen::exampleSDict->count()>0
+     || Config_getBool("SEARCHENGINE"))
+    hasOther=columns++;
+
+  if (compact) 
+    t << "<table border=0 class=\"qindex\"><tr><td width=\""
+      << 100.0/columns << "%\" align=\"center\">"; 
+
+  // Main and Modules
   if (Config_getBool("GENERATE_TREEVIEW"))
   {
     startQuickIndexItem(t,"main"+Doxygen::htmlFileExtension,
-                        hli==HLI_Main,compact,first,relPath);
+                        hli==HLI_Main,compact,first=TRUE,relPath);
   }
   else
   {
     startQuickIndexItem(t,"index"+Doxygen::htmlFileExtension,
-                        hli==HLI_Main,compact,first,relPath);
+                        hli==HLI_Main,compact,first=TRUE,relPath);
   }
   t << fixSpaces(theTranslator->trMainPage());
   endQuickIndexItem(t);
@@ -1485,84 +1515,135 @@
   }
   t << fixSpaces(theTranslator->trMainPage());
   endQuickIndexItem(t);
-
   if (documentedGroups>0)
   {
+    if(compact)
+      t << "<hr>";
     startQuickIndexItem(t,"modules"+Doxygen::htmlFileExtension,
-                        hli==HLI_Modules,compact,first,relPath);
+                        hli==HLI_Modules,compact,first=TRUE,relPath);
     t << fixSpaces(theTranslator->trModules());
     endQuickIndexItem(t);
   } 
-  if (documentedNamespaces>0)
-  {
-    startQuickIndexItem(t,"namespaces"+Doxygen::htmlFileExtension,
-                        hli==HLI_Namespaces,compact,first,relPath);
-    if (Config_getBool("OPTIMIZE_OUTPUT_JAVA"))
-    {
-      t << fixSpaces(theTranslator->trPackages());
-    }
+  if(compact)
+    t << "</td>\n";
+
+  // Classes
+  if(hasClasses) {
+    if(compact)
+      t << "<td width=\"0px\" bgcolor=\"000000\"></td>\n"
+        << "<td valign=\"top\" width=\"" << 100.0/columns <<"%\" align=\"left\">"
+        << "<b>" << fixSpaces(theTranslator->trCompounds()) << ": </b><center>";
     else
+      t << "<li>Classes:\n<ul>";
+    first=TRUE;
+    if (annotatedClasses>0)
     {
-      t << theTranslator->trNamespaceList();
-    }
+      startQuickIndexItem(t,"annotated"+Doxygen::htmlFileExtension,
+                          hli==HLI_Annotated,compact,first,relPath);
+      t << fixSpaces(theTranslator->trList(true,true));
     endQuickIndexItem(t);
+      if (Config_getBool("ALPHABETICAL_INDEX"))
+      {
+        startQuickIndexItem(t,"classes"+Doxygen::htmlFileExtension,
+                            hli==HLI_Classes,compact,first,relPath);
+        t << fixSpaces(theTranslator->trIndex(true,true));
+        endQuickIndexItem(t);
+      }
   }
   if (hierarchyClasses>0)
   {
     startQuickIndexItem(t,"hierarchy"+Doxygen::htmlFileExtension,
                            hli==HLI_Hierarchy,compact,first,relPath);
-    t << fixSpaces(theTranslator->trClassHierarchy());
+      t << fixSpaces(theTranslator->trHierarchy(true,true));
     endQuickIndexItem(t);
   } 
-  if (annotatedClasses>0)
-  {
-    if (Config_getBool("ALPHABETICAL_INDEX"))
+    if (documentedClassMembers[CMHL_All]>0)
     {
-      startQuickIndexItem(t,"classes"+Doxygen::htmlFileExtension,
-                          hli==HLI_Classes,compact,first,relPath);
-      t << fixSpaces(theTranslator->trAlphabeticalList());
+      startQuickIndexItem(t,"functions"+Doxygen::htmlFileExtension,
+                          hli==HLI_Functions,compact,first,relPath);
+      t << fixSpaces(theTranslator->trMember(true,false));
       endQuickIndexItem(t);
     }
-    startQuickIndexItem(t,"annotated"+Doxygen::htmlFileExtension,
-                        hli==HLI_Annotated,compact,first,relPath);
-    t << fixSpaces(theTranslator->trCompoundList());
+    if(compact)
+      t << "</center></td>\n";
+    else
+      t << "</ul>\n";
+  }
+
+  // Namespaces
+  if(hasNamespaces) {
+    if(compact) {
+      t << "<td width=\"0px\" bgcolor=\"000000\"></td>\n"
+        << "<td valign=\"top\" width=\"" << 100.0/columns <<"%\" align=\"left\">";
+      if (Config_getBool("OPTIMIZE_OUTPUT_JAVA"))
+        t << "<b>" << fixSpaces(theTranslator->trPackages()) << ": </b><center>";
+      else
+        t << "<b>" << fixSpaces(theTranslator->trNamespace(true,false)) << ": </b><center>";
+    } else
+      t << "<li>Namespaces:\n<ul>";
+    first=TRUE;
+    if (documentedNamespaces>0)
+    {
+      startQuickIndexItem(t,"namespaces"+Doxygen::htmlFileExtension,
+                          hli==HLI_Namespaces,compact,first,relPath);
+      t << fixSpaces(theTranslator->trList(true,true));
     endQuickIndexItem(t);
   } 
-  if (Config_getBool("SHOW_DIRECTORIES") && documentedDirs>0)
+    if (documentedNamespaceMembers[NMHL_All]>0)
   {
-    startQuickIndexItem(t,"dirs"+Doxygen::htmlFileExtension,
-                        hli==HLI_Directories,compact,first,relPath);
-    t << fixSpaces(theTranslator->trDirectories());
+      startQuickIndexItem(t,"namespacemembers"+Doxygen::htmlFileExtension,
+                          hli==HLI_NamespaceMembers,compact,first,relPath);
+      t << fixSpaces(theTranslator->trMember(true,false));
     endQuickIndexItem(t);
   } 
+    if(compact)
+      t << "</center></td>\n";
+    else
+      t << "</ul>\n";
+  }
+
+  // Files
+  if(hasFiles) {
+    if(compact)
+      t << "<td width=\"0px\" bgcolor=\"000000\"></td>\n"
+        << "<td valign=\"top\" width=\"" << 100.0/columns <<"%\" align=\"left\">"
+        << "<b>" << fixSpaces(theTranslator->trFile(true,false)) << ": </b><center>";
+    else
+      t << "<li>Files:\n<ul>";
+    first=TRUE;
   if (documentedHtmlFiles>0)
   {
     startQuickIndexItem(t,"files"+Doxygen::htmlFileExtension,
                         hli==HLI_Files,compact,first,relPath);
-    t << fixSpaces(theTranslator->trFileList());
-    endQuickIndexItem(t);
-  } 
-  if (documentedNamespaceMembers[NMHL_All]>0)
-  {
-    startQuickIndexItem(t,"namespacemembers"+Doxygen::htmlFileExtension,
-                        hli==HLI_NamespaceMembers,compact,first,relPath);
-    t << fixSpaces(theTranslator->trNamespaceMembers());
+      t << fixSpaces(theTranslator->trList(true,true));
     endQuickIndexItem(t);
   }
-  if (documentedClassMembers[CMHL_All]>0)
+    if (Config_getBool("SHOW_DIRECTORIES") && documentedDirs>0)
   {
-    startQuickIndexItem(t,"functions"+Doxygen::htmlFileExtension,
-                        hli==HLI_Functions,compact,first,relPath);
-    t << fixSpaces(theTranslator->trCompoundMembers());
+      startQuickIndexItem(t,"dirs"+Doxygen::htmlFileExtension,
+                          hli==HLI_Directories,compact,first,relPath);
+      t << fixSpaces(theTranslator->trDirectories());
     endQuickIndexItem(t);
   } 
   if (documentedFileMembers[FMHL_All]>0)
   {
     startQuickIndexItem(t,"globals"+Doxygen::htmlFileExtension,
                         hli==HLI_Globals,compact,first,relPath);
-    t << fixSpaces(theTranslator->trFileMembers());
+      t << fixSpaces(theTranslator->trMember(true,false));
     endQuickIndexItem(t);
   } 
+    if(compact)
+      t << "</center></td>\n";
+    else
+      t << "</ul>\n";
+  }
+  
+  // Other
+  if(hasOther) {
+    if(compact)
+      t << "<td width=\"0px\" bgcolor=\"000000\"></td>\n"
+        << "<td valign=\"top\" width=\"" << 100.0/columns <<"%\" align=\"center\">";
+    first=TRUE;
   if (indexedPages>0)
   {
     startQuickIndexItem(t,"pages"+Doxygen::htmlFileExtension,
@@ -1581,7 +1662,7 @@
   {
     if (compact)
     {
-      t << "  | ";
+        t << "<hr>";
     }
     else
     {
@@ -1594,19 +1675,19 @@
     t << "\">" << searchFor << "&nbsp;";
     if (hli!=HLI_Search)
     {
-      t << "<input class=\"search\" type=\"text\" name=\"query\" value=\"\" size=\"20\" accesskey=\"s\"/>"
-           "</span></form>";
+        t << "<input class=\"search\" type=\"text\" name=\"query\" value=\"\" size=\"10\" accesskey=\"s\"/>"
+          << "</span>";
     }
   } 
-  if (hli!=HLI_Search)
-  {
+    if(hli!=HLI_Search) {
     if (compact) 
-    {
-      t << "</div>\n";
-    }
+        t << "</td></tr></table>";
     else 
-    {
       t << "</ul>\n";
+      if (Config_getBool("SEARCHENGINE"))
+        t << "</form>\n";
+      if (compact) 
+        t << "</div>\n";
     }
   }
 }
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/scanner.cpp doxygen-1.4.0-patched/src/scanner.cpp
--- doxygen-1.4.0/src/scanner.cpp	Thu Dec 30 06:39:49 2004
+++ doxygen-1.4.0-patched/src/scanner.cpp	Tue Jan  4 16:46:46 2005
@@ -18,7 +18,7 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ * $Header: /cvs/root/flex/flex/skel.c,v 1.1.1.1 1999/04/23 00:46:30 wsanchez Exp $
  */
 
 #define FLEX_SCANNER
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/search.php doxygen-1.4.0-patched/src/search.php
--- doxygen-1.4.0/src/search.php	Tue Sep 14 14:52:55 2004
+++ doxygen-1.4.0-patched/src/search.php	Tue Jan  4 16:47:23 2005
@@ -277,8 +277,8 @@
   {
     $query=$_GET["query"];
   }
-  echo "<input class=\"search\" type=\"text\" name=\"query\" value=\"$query\" size=\"20\" accesskey=\"s\"/>\n";
-  echo "</span>\n";
+  echo "<input class=\"search\" type=\"text\" name=\"query\" value=\"$query\" size=\"10\" accesskey=\"s\"/>\n";
+  echo "</span></td></tr></table>\n";
   echo "</form>\n";
   echo "</div>\n";
   $results = array();
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/search_php.h doxygen-1.4.0-patched/src/search_php.h
--- doxygen-1.4.0/src/search_php.h	Tue Sep 14 15:03:19 2004
+++ doxygen-1.4.0-patched/src/search_php.h	Tue Jan  4 16:47:23 2005
@@ -277,8 +277,8 @@
 "  {\n"
 "    $query=$_GET[\"query\"];\n"
 "  }\n"
-"  echo \"<input class=\\\"search\\\" type=\\\"text\\\" name=\\\"query\\\" value=\\\"$query\\\" size=\\\"20\\\" accesskey=\\\"s\\\"/>\\n\";\n"
-"  echo \"</span>\\n\";\n"
+"  echo \"<input class=\\\"search\\\" type=\\\"text\\\" name=\\\"query\\\" value=\\\"$query\\\" size=\\\"10\\\" accesskey=\\\"s\\\"/>\\n\";\n"
+"  echo \"</span></td></tr></table>\\n\";\n"
 "  echo \"</form>\\n\";\n"
 "  echo \"</div>\\n\";\n"
 "  $results = array();\n"
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator.h doxygen-1.4.0-patched/src/translator.h
--- doxygen-1.4.0/src/translator.h	Sun Aug 29 14:18:27 2004
+++ doxygen-1.4.0-patched/src/translator.h	Tue Jan  4 16:46:46 2005
@@ -433,6 +433,15 @@
     virtual QCString trDirReference(const char *dirName) = 0;
     virtual QCString trDir(bool first_capital, bool singular) = 0;
 
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.0
+//////////////////////////////////////////////////////////////////////////
+
+    virtual QCString trList(bool first_capital, bool singular) = 0;
+    virtual QCString trIndex(bool first_capital, bool singular) = 0;
+    virtual QCString trHierarchy(bool first_capital, bool singular) = 0;
+
 };
 
 #endif
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_adapter.h doxygen-1.4.0-patched/src/translator_adapter.h
--- doxygen-1.4.0/src/translator_adapter.h	Sun Aug 29 14:18:27 2004
+++ doxygen-1.4.0-patched/src/translator_adapter.h	Tue Jan  4 16:46:46 2005
@@ -40,7 +40,19 @@
 
 };
 
-class TranslatorAdapter_1_3_9 : public TranslatorAdapterBase
+class TranslatorAdapter_1_4_0 : public TranslatorAdapterBase {
+    virtual QCString updateNeededMessage()
+    { return createUpdateNeededMessage(idLanguage(),"release 1.4.0"); }
+    
+	virtual QCString trList(bool first_capital, bool singular)
+	{ return english.trList(first_capital,singular); }
+	virtual QCString trIndex(bool first_capital, bool singular)
+	{ return english.trIndex(first_capital,singular); }
+	virtual QCString trHierarchy(bool first_capital, bool singular)
+	{ return english.trHierarchy(first_capital,singular); }
+};
+
+class TranslatorAdapter_1_3_9 : public TranslatorAdapter_1_4_0
 {
   public:
     virtual QCString updateNeededMessage()
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_br.h doxygen-1.4.0-patched/src/translator_br.h
--- doxygen-1.4.0/src/translator_br.h	Mon Oct  4 14:44:01 2004
+++ doxygen-1.4.0-patched/src/translator_br.h	Tue Jan  4 16:46:46 2005
@@ -34,7 +34,7 @@
 #ifndef TRANSLATOR_BR_H
 #define TRANSLATOR_BR_H
 
-class TranslatorBrazilian : public Translator
+class TranslatorBrazilian : public TranslatorAdapter_1_4_0
 {
   public:
 
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_cn.h doxygen-1.4.0-patched/src/translator_cn.h
--- doxygen-1.4.0/src/translator_cn.h	Mon Sep 20 17:01:46 2004
+++ doxygen-1.4.0-patched/src/translator_cn.h	Tue Jan  4 16:46:46 2005
@@ -24,7 +24,7 @@
 */
 #define CN_SPC
 
-class TranslatorChinese : public Translator
+class TranslatorChinese : public TranslatorAdapter_1_4_0
 {
   public:
 		/*! Used for identification of the language. The identification
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_cz.h doxygen-1.4.0-patched/src/translator_cz.h
--- doxygen-1.4.0/src/translator_cz.h	Wed Sep 15 14:12:13 2004
+++ doxygen-1.4.0-patched/src/translator_cz.h	Tue Jan  4 16:46:46 2005
@@ -150,7 +150,7 @@
 // Windows version. The version which does not call the function is
 // probably slightly faster.
 
-class TranslatorCzech : public Translator
+class TranslatorCzech : public TranslatorAdapter_1_4_0
 {
   private:
     /*! The decode() inline assumes the source written in the 
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_de.h doxygen-1.4.0-patched/src/translator_de.h
--- doxygen-1.4.0/src/translator_de.h	Sun Nov 28 05:46:59 2004
+++ doxygen-1.4.0-patched/src/translator_de.h	Tue Jan  4 16:46:46 2005
@@ -102,7 +102,7 @@
 #ifndef TRANSLATOR_DE_H
 #define TRANSLATOR_DE_H
 
-class TranslatorGerman : public Translator
+class TranslatorGerman : public TranslatorAdapter_1_4_0
 {
   public:
 
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_en.h doxygen-1.4.0-patched/src/translator_en.h
--- doxygen-1.4.0/src/translator_en.h	Tue Sep  7 14:05:20 2004
+++ doxygen-1.4.0-patched/src/translator_en.h	Tue Jan  4 16:46:46 2005
@@ -222,7 +222,7 @@
 
     /*! This is put above each page as a link to all related pages. */
     virtual QCString trRelatedPages()
-    { return "Related Pages"; }
+    { return "Other Pages"; }
 
     /*! This is put above each page as a link to all examples. */
     virtual QCString trExamples()
@@ -1504,7 +1504,7 @@
      */
     virtual QCString trSearchForIndex()
     {
-      return "Search for";
+      return "Search";
     }
     /*! This string is used as the title for the page listing the search
      *  results.
@@ -1600,6 +1600,29 @@
       QCString result((first_capital ? "Director" : "director"));
       if (singular) result+="y"; else result+="ies";
       return result; 
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.0
+//////////////////////////////////////////////////////////////////////////
+
+    virtual QCString trList(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"List":"list");
+      if (!singular) result+="s";
+      return result;
+    }
+    virtual QCString trIndex(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"Ind":"ind");
+      if (singular) result+="ex"; else result+="icies";
+      return result;
+    }
+    virtual QCString trHierarchy(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"Hierarch":"hierarch");
+      if (singular) result+="y"; else result+="ies";
+      return result;
     }
 
 };
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_fr.h doxygen-1.4.0-patched/src/translator_fr.h
--- doxygen-1.4.0/src/translator_fr.h	Mon Oct  4 13:56:01 2004
+++ doxygen-1.4.0-patched/src/translator_fr.h	Tue Jan  4 16:46:46 2005
@@ -85,7 +85,7 @@
 // Translator class (by the local maintainer) when the localized
 // translator is made up-to-date again.
 
-class TranslatorFrench : public Translator
+class TranslatorFrench : public TranslatorAdapter_1_4_0
 {
   public:
 
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_hr.h doxygen-1.4.0-patched/src/translator_hr.h
--- doxygen-1.4.0/src/translator_hr.h	Mon Sep 20 13:13:27 2004
+++ doxygen-1.4.0-patched/src/translator_hr.h	Tue Jan  4 16:46:46 2005
@@ -62,7 +62,7 @@
 #ifndef TRANSLATOR_HR_H
 #define TRANSLATOR_HR_H
 
-class TranslatorCroatian : public Translator
+class TranslatorCroatian : public TranslatorAdapter_1_4_0
 {
   private:
         /*! to avoid macro redefinition from translator_cz.h */
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_hu.h doxygen-1.4.0-patched/src/translator_hu.h
--- doxygen-1.4.0/src/translator_hu.h	Sun Sep 19 12:05:50 2004
+++ doxygen-1.4.0-patched/src/translator_hu.h	Tue Jan  4 16:46:46 2005
@@ -29,7 +29,7 @@
 #ifndef TRANSLATOR_HU_H
 #define TRANSLATOR_HU_H
 
-class TranslatorHungarian : public Translator
+class TranslatorHungarian : public TranslatorAdapter_1_4_0
 {
   private:
     const char * zed(char c)
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_it.h doxygen-1.4.0-patched/src/translator_it.h
--- doxygen-1.4.0/src/translator_it.h	Mon Sep 20 17:01:27 2004
+++ doxygen-1.4.0-patched/src/translator_it.h	Tue Jan  4 16:46:46 2005
@@ -72,7 +72,7 @@
 #ifndef TRANSLATOR_IT_H
 #define TRANSLATOR_IT_H
 
-class TranslatorItalian : public Translator
+class TranslatorItalian : public TranslatorAdapter_1_4_0
 {
   public:
 
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_nl.h doxygen-1.4.0-patched/src/translator_nl.h
--- doxygen-1.4.0/src/translator_nl.h	Tue Sep  7 14:08:29 2004
+++ doxygen-1.4.0-patched/src/translator_nl.h	Tue Jan  4 16:46:46 2005
@@ -18,7 +18,7 @@
 #ifndef TRANSLATOR_NL_H
 #define TRANSLATOR_NL_H
 
-class TranslatorDutch : public Translator
+class TranslatorDutch : public TranslatorAdapter_1_4_0
 {
   public:
     QCString idLanguage()
@@ -1198,6 +1198,29 @@
       QCString result((first_capital ? "Director" : "director"));
       if (singular) result+="y"; else result+="ies";
       return result; 
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.0
+//////////////////////////////////////////////////////////////////////////
+
+    virtual QCString trList(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"Lijst":"lijst");
+      if (!singular) result+="s";
+      return result;
+    }
+    virtual QCString trIndex(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"Ind":"ind");
+      if (singular) result+="ex"; else result+="icies";
+      return result;
+    }
+    virtual QCString trHierarchy(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"Hi&euml;rarchie":"Hi&euml;rarchie");
+      if (!singular) result+="s";
+      return result;
     }
 
     
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_pl.h doxygen-1.4.0-patched/src/translator_pl.h
--- doxygen-1.4.0/src/translator_pl.h	Wed Sep 15 17:20:48 2004
+++ doxygen-1.4.0-patched/src/translator_pl.h	Tue Jan  4 16:46:46 2005
@@ -20,7 +20,7 @@
 #ifndef TRANSLATOR_PL_H
 #define TRANSLATOR_PL_H
 
-class TranslatorPolish : public Translator
+class TranslatorPolish : public TranslatorAdapter_1_4_0
 {
   private:
     /*! to avoid macro redefinition from translator_pl.h */
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_ru.h doxygen-1.4.0-patched/src/translator_ru.h
--- doxygen-1.4.0/src/translator_ru.h	Sun Sep 26 12:13:17 2004
+++ doxygen-1.4.0-patched/src/translator_ru.h	Tue Jan  4 16:46:46 2005
@@ -49,7 +49,7 @@
 #ifndef TRANSLATOR_RU_H
 #define TRANSLATOR_RU_H
 
-class TranslatorRussian : public Translator
+class TranslatorRussian : public TranslatorAdapter_1_4_0
 {
   private:
     /*! The Decode() inline assumes the source written in the 
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_se.h doxygen-1.4.0-patched/src/translator_se.h
--- doxygen-1.4.0/src/translator_se.h	Sun Sep 26 12:13:17 2004
+++ doxygen-1.4.0-patched/src/translator_se.h	Tue Jan  4 16:46:46 2005
@@ -1459,6 +1459,29 @@
     }
 
 
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.0
+//////////////////////////////////////////////////////////////////////////
+
+    virtual QCString trList(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"Lista":"lista");
+      if (!singular) result+="er";
+      return result;
+    }
+    virtual QCString trIndex(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"Ind":"ind");
+      if (singular) result+="ex"; else result+="icies";
+      return result;
+    }
+    virtual QCString trHierarchy(bool first_capital, bool singular)
+    {
+      QCString result(first_capital?"hierarki":"hierarki");
+      if (!singular) result+="er";
+      return result;
+    }
+
 	
 };
 
diff -urbB --minimal --exclude=Makefile* --exclude=*.pro doxygen-1.4.0/src/translator_sr.h doxygen-1.4.0-patched/src/translator_sr.h
--- doxygen-1.4.0/src/translator_sr.h	Tue Oct 19 14:49:40 2004
+++ doxygen-1.4.0-patched/src/translator_sr.h	Tue Jan  4 16:46:46 2005
@@ -21,7 +21,7 @@
 // translation by Dejan D. M. Milosavljevic <dmilos@email.com>;<dmilosx@ptt.yu>;<office@ddmrm.com>
 // // 10x 2 Ivana Miletic for gramatical consutation.
 
-class TranslatorSerbian : public Translator
+class TranslatorSerbian : public TranslatorAdapter_1_4_0
 {                                
 private:
    QCString decode(const QCString& sInput)
