------------------------------
Refactoring options
------------------------------
* Change ComplexColumn from interface to AbstractClass and add common code.
* Make private Controls in the dialogs to use Local variables if they are not needed outside init
* Make file IO pluggable (new IO sub system)
* Toolbar FOnt settings.
* Subclass platform (not until after io refactoring.)




------------------------------
Before release
------------------------------
* correct xml start tag (charset and more)
* FIX CACHE files.



------------------------------
* known bugs / limitations
------------------------------
* A update must be performed after installing any new version
* Binary files is allways added to the changelist, since i have no<li> detection if they are really changed
* Binary files does only have 1 translation.



--------------------------------------------------------------------------
Version 5.03 (Getting back on track, awaiting long term info rgrd. new moz roadmap)
--------------------------------------------------------------------------
<ul>
  <li>FEATURE: added basic cvs input/output</li>
  <li>FEATURE: added basic sorting of strings in during file save, does not work for properties</li>
  <li>FEATURE: Added Undo/Redo functionality into Edit Phrase dialog translation text area.</li>
  <li>FEATURE: Automatic sorting product tree view.</li>
  <li>FEATURE: Added Binary filter to Edit menu</li>
  <li>FEATURE: Easy product manipulation in export XPI product table: click on product will select product checkboxes</li>
  <li>FEATURE: Tables sorting by [Shift + ] left click on column header</li>
  <li>FEATURE: Automatical Mozilla version detecting</li>
  <li>FEATURE: Advanced search functionality, same as in 4.36 version</li>
  <li>FEATURE: Added Fuzzy bit to phrases, so they can be spotted as changed after restart</li>
  <li>FEATURE: Phrases are automatically saved in Edit Phrase dialog</li>
  <li>FEATURE: Soft wrapping text in Edit Phrase dialog</li>
  <li>FEATURE: Dialogs now have default button - "Ok", which can be accessed by pressing Enter</li>
  <li>FEATURE: Button Cancel in dialogs now can be pressed by ESC key</li>
  <li>FEATURE: "Cancel" button in dialogs can be accessed by pressing Esc</li>
  <li>FEATURE: File open dialogs now remember last selected directory.</li>
  <li>FEATURE: ShowWhat dialog "don't show again". Visibility is managed by Setup dialog.</li>
  <li>BUGFIX: Cache filenames are now based on timestamps instead of product names
  <li>BUGFIX: Remove old debug code from saving binary files</li>
  <li>REFACTOR: Took alot of the same code in DTDAccess,PropertiesAccess and TextAccess and put it in a base class
  <li>REFACTOR: Simplyfied the the of get/setMark()</li>
  <li>REFACTOR: Merge the logs into one, and start streamlining</li>
  <li>REFACTOR: Start decoupling the gui from the tasks to make it possible to a have a batch mode
     <ul>
        <li>Make a feedback provider to handle feedback in gui and batch mode</li>
        <li>Make a MozTask that does basic feedback reporting and exception catching<li>
        <li>Make Load Glossary use the new stuff to test the framework</li>
        <li>Created TaskAction to automate showing a input dialog and running a task.
            Sorta like DialogAction version 2</li>
        <li>Remove the deprecated status code</li>
        <li>Converted task to use MozTask instead of MozRunner</li>
        <li>Converted all DialogActions classes to use TaskAction</li>
        <li>Retrofit DialogAction to handle simple searches</li>
        <li>Refactor View<XX>Actions to use the new DialogAction</li>       
    </ul>
  <li>REFACTOR: use refactorIT (www.refactorit.com) to run an audit on the code, and clean it up.
  <li>REFACTOR: Using  checkstyle to find problems in the code and fix them (manually).
  <li>REFACTOR: Settings now have getter moethod that does not take fallback values</li>
 </li>
</ul>




--------------------------------------------------------------------------
Version 5.02 (yes another bugfix- refactoring release)
--------------------------------------------------------------------------
<ul>
  <li> created rudimentary batch control methods and suntax.</li>
  <li> REFACTOR: create a dummy mainwindow, but don't show it, when it batch mode. preparation for batch mode</li>
  <li> REFACTOR: io package reorganization</li>
    <ul>
        <li>REFACTOR: Move FileUtils into the io.common</li>
        <li>REFACTOR: Merge FileInputOutputDataObject and SubcomponentInputOutputDataObjects
            into ImportExportDataObject</li>
        <li>REFACTOR: Move XmlEksporter to io.common </li>
        <li>REFACTOR: Move BinaryAccess to io.file</li>
        <li>REFACTOR: Move DTDAccess to io.file</li>
        <li>REFACTOR: Move FileAccess to io.file</li>
        <li>REFACTOR: Move FileToXmlAccess to io.file</li>
        <li>REFACTOR: Move PropertiesAccess to io.file</li>
        <li>REFACTOR: Move TextAccess to io.file</li>
        <li>REFACTOR: Move GlossaryAccess to io.glossary</li>
        <li>REFACTOR: Move PropertiesPersistance to io.glossary</li>
        <li>REFACTOR: Move SerializedPersistance to io.glossary</li>
        <li>REFACTOR: Move writeImagesTraverse to io.glossary</li>
        <li>REFACTOR: Move SubcomponentToXml to io.subcomponent</li>
    </ul>
    <li>REFACTOR: rename extractFile to loadFile in FileUtils</li>
    <li>REFACTOR: rename compactFile to saveFile  and saveFileWithLicense in FileUtils</li>
    <li>BUGFIX:more fixing of XPI export</li>
    <li>REFACTOR: redid XML export to use a DOM and XSLT</li>
    <li>CONTRIBUTION:Andrea (ciopz@bigfoot.com) added lots of info in the UserManual</li>
</ul>

--------------------------------------------------------------------------
Version 5.01 (quick fixes)
--------------------------------------------------------------------------
<ul>
  <li>partly fixed XML export.bug #161298</li>
  <li>Fixed edit Selected phrase / edit binary mixup bug #161211</li>
  <li>Fixed XPI export,bug #161199
</ul>


--------------------------------------------------------------------------
Version 5.0 Final (new features, and massive refactoring and bugfixing)
--------------------------------------------------------------------------
<ul>
  <li>REFACTOR: remove accept() method in TreeNode and MozTreeNode</li>
  <li>REFACTOR: added treelevel parameter to MozTreeNode</li>
  <li>REFACTOR: refactor TreeNode.buildTree() so we dont need a method in each level</li>
  <li>REFACTOR: changed MozTreeNode.hasChildren() to use terny operator</li>
  <li>REFACTOR: refactor TreeNode.traverse() so we dont need a method in each level</li>
  <li>REFACTOR: refactor TreeNode.fillParentArray() so we dont need a method in each level</li>
  <li>REFACTOR: remove getChild(int) since it is never used</li>
  <li>REFACTOR: remove useless check if icon is found</li>
  <li>REFACTOR: remove my own logging class and replace with the JDK 1.4 one,as a first step to refactor error handling.</li>
  <li>REFACTOR: remove the StructureAccessVisitor class since it is never used</li>
  <li>REFACTOR: remove FilterRunner.FilterProduct() as it is not used</li>
  <li>REFACTOR: Refactor the traverse functionality to use a sorta command pattern</li>
  <li>REFACTOR: Refactor DataUtils.fillWithPors() to use the traverse method</li>
  <li>REFACOTR: filter runner refactored to take advantage of the new traverse method</li>
  <li>REFACTOR: redundant view refactored to take advantage of the new traverse method</li>
  <li>REFACTOR: let veiwRedundant live in its own thread, since it takes a long time.</li>
  <li>REFACTOR: make MigrateProductRunner use the new traverse stuff</li>
  <li>REFACTOR: make extract and compact file use byteArrays instead of tempfiles</li>
  <li>REFACTOR: change DTDAccess to use the new byteArray method</li>
  <li>REFACTOR: change PropertiesAccess to use the new ByteArray method</li>
  <li>REFACTOR: change TextAccess to use the new ByteArray method</li>
  <li>REFACTOR: change BinaryAccess to use the new ByteArray method</li>
  <li>REFACTOR: change XPI writer to use the new ByteArray method</li>
  <li>REFACTOR: change clearMark call into using the new traverse</li>
  <li>REFACTOR: remove clearmark from the Datamodel class</li>
  <li>REFACTOR: removeing Visitor class as it is never used</li>
  <li>REFACTOR: removing Utils class since it has been superceeded by the GUiTools class</li>
  <li>REFACTOR: refactoring error handling (maybe it need more work)</li>

  <li>BUGFIX: if a text with a labelConnection is found last, it is no longer just assigned to a access key</li>
  <li>BUGFIX: views other than Chromeview now work again</li>
  <li>BUGFIX: fix a bug that made emtpy files trow an excpetion during import translation</li>
  <li>BUGFIX: edit phrase no longer throws exception if no phrase is selected</li>
  <li>BUGFIX: chnages to one row now coorectly updates the display of the others</li>
  <li>BUGFIX: it is no longer required to do a update before an export</li>
  <li>FEATURE: next and previous buttons added to edit phrase dialog</li>
  <li>FEATURE: Toolbars in views</li>
  <li>FEATURE: Copy to all in redundant view</li>
  <li>FEATURE: images are now saved inside the glossary.zip</li>
  <li>FEATURE: binary Edit dialog for loading and saving of images</li>
  <li>FEATURE: Exports should now export translated images if present, otherwise it will,save the original.</li>
  <li>FEATURE: Export file as XML.</li>
  <li>FEATURE: export subcomponent as XML.</li>
  <li>FEATURE: export glossary as XML.</li>
</ul>



-------------------
Version 5.0 beta 9
-------------------
<ul>
  <li>Added disc chache for the glossary.</li>
  <li>fixed use of keepOriginal when saving files</li>
  <li>keepOriginal is now migrated also (#149358)</li>
  <li>removed a speed performance tricks that was costing too much in footprint performance, and not really doing giving any speedups</li>
  <li>we are now recycling the EditPhrase window instead of creating a new one each time</li>
  <li>fixed it so that we do not keep a list of children lying around for translations since they never have children.</li>
  <li>you will now get a progress indicator when saving (bug #150249)</li>
  <li>the program should now remove old entries (bug #151639)</li>
  <li>The program now uses hyphen insteda of underscore in </li>
  <li>Hack to preserve GIF images</li>
</ul>
-------------------

Version 5.0 beta 8b
-------------------
<ul>
  <li>small error in install.js fixed</li>
</ul>


-------------------
Version 5.0 beta 8
-------------------
<ul>
  <li>Added shortcut to chrome view: ALT + C</li>
  <li>Added shortcut to Search: ALT + S</li>
  <li>Fixed search so that search on translated text and comments now work</li>
  <li>Window of changed strings should now appear after update.</li>
  <li>Now escape the % sign in DTD files (both in save original and save translated)</li>
  <li>Content.rdf is now UTF-8 encoded</li>
  <li>Install.js now saved as iso8859-1</li>
  <li>Several chnages to the user guide (which is inside the zip file)</li>
  <li>Changed ant script to produce zip files and put the doc in there - Now users must unzip the zip file,<li> in order to find the jar execuatble</li>
  <li>Changed install.js to increase needed filespace to 600kb, thanx to kairo</li>
  <li>Changed install.js by addning several logcomments, thanx to kairo</li>
  <li>Changed install.js by handling Reboot_needed (999) better, thanx to kairo</li>
  <li>Changed install.js by inserting licence block</li>
  <li>BUGFIX: strings showing up in accessKey columns that were actually labels.</li>
  <li>BUGFIX: change save glossary to not save corrected accesskey and commandkey connections, but only the valid ones.</li>
  <li>Added comments column</li>
</ul>
-------------------
Version 5.0 beta 7
-------------------
<ul>
  <li>Started working on a user manual.currently it is in both zip files as a OpenOffice document</li>
  <li>FEATURE: MT will now delete Strings that at no longer used in the chrome when updateing</li>
  <li>FEATURE: MT can now migrate translation from one product e.g. mozilla to another e.g. Netscape</li>
  <li>BUGFIX: updated the install.js and contents.rdf generated by the export <li> rutines, thanx to Taco and Kairo for helpfull information and contributions.</li>
  <li>BUGFIX: initial window size has been increased</li>
  <li>BUGFIX:  When importing from a single file, dont save original text as translation of no translation</li>
</ul>
-------------------
Version 5.0 beta 6
-------------------
<ul>
  <li>refactor: now settings allways require an default value.</li>
  <li>refactor: add DataObject Interface</li>
  <li>Changed to JDK 1.4</li>
  <li>Refactor status feedback</li>
  <li>refactor the running of long tasks</li>
  <ul>
    <li>refactor Export/Import of single files</li>
    <li>refactor export/import of subcomponents (Partial glossary)</li>
    <li>refactor import of 4.x style glossary</li>
    <li>refactor export JAR</li>
    <li>refactor export xpi</li>
  </ul>
  <li>refactor of single file load/save</li>
  <ul>
    <li>refactor calls to Generic file to use a DataObject</li>
    <li>clean up DTDaccess to support the new DataObject</li>
    <li>clean up PropertiesAccess to support the new DataObject</li>
    <li>clean  up TextAccess (unsupported files) to support the new DataObject</li>
    <li>clean up StructureAccess to support the new DataObject</li>
    <li>clean up ImportFileRunner to support the new DataObject</li>
    <li>clean up CustomContainerAccesss to support the new DataObject</li>
    <li>clean up ExportFileRunner to support the new DataObject</li>
  </ul>
  <li>refactor of platform/region/custom files load/save</li>
  <ul>
    <li>make new DataObject to handle information needed to load and save</li>
    <li>move load method of platform/region to shared superclass</li>
    <li>move save method of platform/region to shared superclass</li>
    <li>refactor WriteJarRunner to take advantage of new DataObject</li>
    <li>remove the WriteJarDataObject as it is no longer needed</li>
    <li>refactor WriteXpiRunner to take advantage of the new approach</li>
    <li>refactor WriteXPIDialog to take advantage of the new approach</li>
    <li>refactor WriteJarDialog to take advantage of the new approach</li>
    <li>refactor writing of the install script</li>
  </ul>
  <li>refactor import/export of subcomponents (Partial glossary)</li>
  <li>bugfix: File not closed after reading DTD file.</li>
  <li>added Ant build file, to allow for easy building of exe and source+doc jars</li>
  <li>marked exception handling for later refactoring</li>
  <li>added better status feedback during load of glossary at startup</li>
  <li>bugfix: upateing glossary made an endless loop silently in background</li>
  <li>Added: Keep original view</li>
  <li>Added: Original == Translated view</li>
  <li>Added: Check keybinding</li>
  <li>Added: Simple Search</li>
  <li>Fixed / Added: support for accesskey and commandKey</li>
</ul>

-------------------
Version 5.0 beta 5
-------------------
<ul>
  <li>Refactor the file part of the datamodel.</li>
  <li>Refactor the overall MozFile, into a interface and a abstract class</li>
  <li>refactor export xpi/jar code (needed for export jar file)</li>
  <li>Make datamodel traverse functionality in the TreeNode interface. This should make<li> a bunch of things go much easier.</li>
  <li>Removed references for CustomFile since it is no longer relevant</li>
  <li>Fixed editPhrase dialog to better handle normal and custom files thanx to fillParentList().</li>
  <li>New Column: File</li>
  <li>New Column: Subcomponent</li>
  <li>New column: Component</li>
  <li>New Column: Platform, Region or Custom file</li>
  <li>New Column: Product</li>
  <li>More JavaDoc</li>
  <li>fix "save Custom" bug</li>
  <li>fix centering of setup dialog box</li>
  <li>fix license addition to files.</li>
  <li>fix bug that gave FileNotFound exception if you don't have all the files registered</li>
  <li>Found reason for bug that give StringIndexOutOfBounds. It turned out to be a mozilla bug</li>
  <li>fixed longstanding bug that threw exception if collapsing the part of the tree in chromeview that had a selected file</li>
  <li>added the current file to the title of the chromeview window</li>
  <li>added import and export of single files</li>
  <li>added export jar file</li>
  <li>refactored the building of the JTree that appear in the gui</li>
  <li>fixed remembering of columns</li>
  <li>write xpi dialog now remembers values entered</li>
  <li>write jar dialog now remembers values entered</li>
</ul>


-------------------
Version 5.0 beta 4
-------------------
<ul>
  <li>Converted KeyValuePair to use Objects instead of int's</li>
  <li>changed MigrateGlossary not to use the chromeview</li>
  <li>changed ImportTranslations not to use chromeview</li>
  <li>added About dialog</li>
  <li>added Edit Phrase Dialog</li>
  <li>added keyboard shortcuts</li>
  <li>access key and command key now supported, but only after restart of mt5.<li> (this is because the information is built during the read of the glossary)</li>
  <li>new Column : Original accesskey</li>
  <li>new Column : Original commandkey</li>
  <li>new Column : Translated accesskey</li>
  <li>new Column : Translated commandkey</li>
  <li>new Column : current Text</li>
  <li>new Column : Current Acesskey</li>
  <li>new Column : current Commandkey</li>
  <li>Changed Text columns to not whos content of unsupported files.</li>
  <li>License files inserted when writing dtd and properties files.</li>
  <li>Changed Platform to have type (Neutral,Windows,Unix,Mac,Other)</li>
  <li>added View Redudant string</li>
  <li>prepare for l10n of the actual program (mozillatranslator)</li>
</ul>



-------------------
Version 5.0 beta 3
-------------------
<ul>
  <li>Migrate the keep attribute of phrases</li>
  <li>Implement cachable timestamp in Kernel class</li>
  <li>Implement altered date in the tree nodes</li>
  <li>BUGFIX: platform count didn't get reset on more than 1 product</li>
  <li>PropertiesPersistance now persist alteredDate</li>
  <li>Added attributes to "Phrase" to accomendate for acceskeys, commandkays, and unsupported file formats</li>
  <li>Added Custom Files to the product</li>
  <li>added write XPI action, but with known bugs</li>
  <li>added custom files to the product</li>
</ul>

-------------------
Version 5.0 beta 2
-------------------
<ul>
  <li>More columns</li>
  <li>Migrate function</li>
  <li>Import translation</li>
  <li>minor adjusments</li>
</ul>



-------------------
Version 5.0 beta 1
-------------------
<ul>
  <li>initial 5.0 beta</li>
</ul>
