
| Author | Changes | Lines of Code | Lines per Change | 
|---|---|---|---|
| Totals | 895 (100.0%) | 17130 (100.0%) | 19.1 | 
| damato | 591 (66.0%) | 12163 (71.0%) | 20.5 | 
| tboeckel | 293 (32.7%) | 4909 (28.7%) | 16.7 | 
| tactica | 2 (0.2%) | 29 (0.2%) | 14.5 | 
| gnikl | 9 (1.0%) | 29 (0.2%) | 3.2 | 
* classes, misc: renamed the "classes" subdirectory to "mui" to make it
  more clear that this subdirectory contains stuff related to the
  graphical user interface.
    
0 lines of code changed in 37 files:
* YAM_WR.c: changed the autosavefilename composing function to always
  generate ".autosaveXX.txt" files with two digits.
* YAM_WR.c, misc: changed the CreateWriteWindow() function to accept an
  additional paramater with the "mode" the write is being initialized for.
  In addition, changed the "enum NewMode" to be called "enum NewMailMode"
  and used respectively.
    
48 lines of code changed in 7 files:
* Mime.c, mime, misc: splitted the Mime.c file into smaller modules and
  put them into the "mime" subdirectory. Now, e.g., the base64 routines
  are in a separate file instead of having all those mime encoding/decoding
  routines in one file. In addition, renamed the old Mime.c to MimeTypes.c
  as only the mime types managing routines are left here.
    
4 lines of code changed in 3 files:
* tools/genclasses, misc: added a parameter type check to the GenClasses
  tool so that it checks for used BOOL parameters in the DECLARE()
  statements of our classes. BOOL parameters are known to cause trouble
  and therefore should be replaced by ULONG parameters instead.
    
1 lines of code changed in 1 file:
* YAM.c, YAM_WR.c, YAM_write.h, WriteWindow.c: reworked the .autosaveXX.txt
  file handling and implemented it for the new WriteWindow implementation.
  Now the autosave functionality should work again.
    
18 lines of code changed in 1 file:
* Aboutwindow.c: updated current author list for 2.6 version.
    
2 lines of code changed in 1 file:
* WriteWindow.c: fixed bug where upon closing a write window no check
  for an eventually existing data loss was performed and the user was never
  warned of the data loss.
    
6 lines of code changed in 1 file:
* WriteWindow.c, YAM_WR.c, YAM_MA.c, YAM_write.h: reimplanted the quietMode
  functionality used for the Arexx command handling of write windows. Now
  the Arexx commands dealing with the write windows should work as expected
  again and keep things "quiet" in case background processing is selected.
    
16 lines of code changed in 1 file:
* YAM_WR.c, WriteWindow.c, misc: largely rewrote the write window implementation
  to fully use the MUI classes system in the "classes" directory. Also changed
  the write window implementation to use a global exec list to manage the
  write windows rather than using a fixed amount (3) of global write window
  structures. This change therefore allows to open a theoretically unlimited
  amount of write windows now. In addition, due to the port of the write
  window code to the internal classes system the whole write window
  functionality should be way more flexible now for future adaptions. As this
  whole thing implies a rather large code change, please bear in mind that
  some functionality may be broken and needs to be fixed in some way. In
  addition, some minor things are still missing and need to be adapted.
  Therefore "#warning 'TODO'" statements were added to the code where
  some things still need to be moved to the new write window implementation
  and which are currently disabled. This includes:
    - YAM_MA.c: the bounce mail functionality which requires a new
      "BounceWindow" class and/or adaptions to the current WriteWindow class
      to open a bounce window (old WR_NewBounce) instead.
    - YAM.c: the check for eventually existing .autosaveX.txt files have
      to be adapted to search for such files and open a new write window
      regardless of the X number.
    - Arexx: the 'quietMode' functionality of the WriteWindow class still
      needs some adaptions so that the window can really be opened in
      quietMode (hided) and that the write Arexx commands still work as
      expected.
  So please keep the above write window rewrite in mind when running this
  version because some things might still not work as expected or even
  crash YAM.
    
3918 lines of code changed in 6 files:
* Aboutwindow.c: added Luca Longone and Samir Hawamdeh to the list of
  translation contributors.
    
2 lines of code changed in 1 file:
* MUIObjects.c, Requesters.c: separated lots of functions into distinct
  modules. All requester functions are now located in Requesters.c and all
  simplified MUI object creation functions are located in MUIObjects.c. This
  should help to shrink that monster YAM_UT.c.
    
57 lines of code changed in 23 files:
* misc: split the complete YAM_rexx_rxif.c file into separate files which
  are now located in the subdirectory "rexx". YAM_rexx.c has been renamed
  to Rexx.c.
    
13 lines of code changed in 1 file:
* ReadMailGroup.c, ReadWindow.c: added the missing DELF_UPDATE_APPICON flag
  to the MA_DeleteSingle() calls. Otherwise the AppIcon won't be updated.
    
3 lines of code changed in 2 files:
* ReadMailGroup.c, ReadWindow.c: fixed some unconverted MA_DeleteSingle()
  usages which where forgotten to be switched to the new flags based
  API and prevented YAM from building correctly.
    
3 lines of code changed in 2 files:
* YAM.c, YAM_FO.c, YAM_UT.c, MainFolderListtree.c: modified all folder
  listtree related stuff to use FolderNodes in the tree instead of simple
  Folder pointers.
    
9 lines of code changed in 1 file:
* YAM_RE.c, ReadWindow.c: moved the RE_GetThread() function over to
  ReadWindow.c and split it into two functions as it contained the same code
  twice. Before the thread functionallity didn't work because a variable in
  the loop shadowed the result variable and hence the function always returned
  failure, even if the mail belonged to a thread of mails. This fixes bug
  #1925722.
    
127 lines of code changed in 1 file:
* Recipientstring.c, Addrmatchlist.c: fixed a problem where in case a
  realname was quoted within an addressbook entry, the recipient string
  didn't correctly find/replace the entry.
    
38 lines of code changed in 2 files:
* YAM_RE.c, misc: modified the RE_ScanHeader() routines to test for the
  existance of a "MIME-Version:" header field for a main header scan.
  This should improve the RFC2049 MIME conformance such that YAM
  does not assume all mails to be MIME-aware mails anymore. If now the
  'MIME-Version:' header field is missing, YAM will skip all MIME
  routines such as multpart management and the management of different
  encoding schemes (base64,uucode, etc).
    
15 lines of code changed in 2 files:
* YAM_UT.c, YAM_AB.c: reworked the BuildAddress#? functions to better comply
  to the rules defined in RFC2822. This includes a proper quotation according
  to the 'specials' char list, excluding the '.' character. In addition,
  " and \ will be properly escaped if it exists in a realname string right
  before creating the address string. Last, but not least, the BuildAddress()
  function was put into YAM_UT right beside the ExtractAddress() function
  which in fact is the reverse function of it. All in all this should fix
  certain issues which was caused by not properly quoting/escaping certain
  chars in a realname.
    
47 lines of code changed in 3 files:
* Recipientstring.c: after resolving the addresses upon pressing Enter or
  Return a separator will be added, if the matchlist was visible. This makes
  it lot easier to enter several address right after each other. All in all
  this fullfils change request #1918343.
    
5 lines of code changed in 1 file:
* Recipientstring.c: if Enter/Return is pressed while the matchlist was
  visible the advance to the next object in the window will be skipped,
  because pressing Enter/Return usually was meant to add the selected
  recipient in this situation.
    
8 lines of code changed in 1 file:
* misc classes: added the same "event handler added" check to all other
  classes which could possibly walk into the same trap as AttachmentImage.
    
17 lines of code changed in 3 files:
* AttachmentImage.c: fixed a potential crash in case a mail had a yet
  undecoded attachment and YAM was iconified and uniconfied while this mail
  was currently being displayed. In this case the event handler was not added
  during MUIM_Setup, but removed in MUIM_Cleanup, which can cause any kind of
  funny things to happen. Most probably this fixes bug #1899484.
    
19 lines of code changed in 1 file:
* misc: various little code cleanups, no functional changes.
1 lines of code changed in 1 file:
* ReadWindow.c: fixed the broken search for unread mails.
    
3 lines of code changed in 1 file:
* ReadWindow.c, ReadMailGroup.c, YAM_RE.c: reverted the recent changes to the
  enabled state of the "Check PGP signature" menus. Only the signature of new
  mails will now be checked automatically. After that the user must invoke
  that action manually.
    
6 lines of code changed in 2 files:
* misc: reconstructed the folder lists analog to the mail lists. All in all
  the folders are no longer managed by an NListtree object anymore but are
  kept in a real global list while the tree items just reference the single
  folders. Analog to mail list the global folder list can be locked either
  exclusively or shared, depending on whether the list is going to be modified
  or not. Creating clone copies therefore is no longer necessary.
    
10 lines of code changed in 2 files:
* misc: the mail lists can now be locked exclusively or shared, depending on
  whether the list is going to be modified or not.
    
1 lines of code changed in 1 file:
* ReadWindow.c, ReadMailGroup.c: the "Check signature" menu item will now be
  disabled if the signature of a mail has been checked already, as YAM did
  prevent a double check anyway already.
    
9 lines of code changed in 2 files:
* AttachmentGroup.c: in case an attachment had no name but a description only
  the name of attachment image could be drawn over futher images to the right,
  because the width was calculated using the empty name instead of the
  description.
    
9 lines of code changed in 1 file:
* ParseEmail.l,h: renamed the YAM_mail_lex.? stuff to ParseEmail.? as that
  stuff is also one of the reworked sources.
    
1 lines of code changed in 1 file:
* Locale_c,h.sd: renamed the C_c.sd and C_h.sd files to be called "Locale"
  which in fact should be more precise. In addition a "Locale.c" and
  "Locale.h" file will now be generated.
    
2 lines of code changed in 1 file:
* Mime.c, Mime.h: renamed the YAM_MI.c,h to Mime.c,h which really should
  have happened earlier as all functions in that file were anyway rewritten
  from scratch and we want to get rid of the YAM_ prefix sooner or later.
    
2 lines of code changed in 2 files:
* misc, STYLEGUIDE: cleaned up all our header files by using forward
  declarations for variables which are defined as pointers only. Please note
  that forward declarations can become very handy and usefull. It really
  decreases the amount of cross dependencies between files and speeds up
  compilation.
    
58 lines of code changed in 19 files:
* Recipientstring.c: minor cosmetic fixes.
35 lines of code changed in 1 file:
* Addrmatchlist.c: distribution lists were treated like plain users and hence
  were not resolved correctly. Now the list name will be used instead of the
  non existing address. This fixes bug #1877027.
    
31 lines of code changed in 1 file:
* misc: converted all array based folder lists into true Exec style MinLists.
58 lines of code changed in 1 file:
* ImageArea.c: fixed the width/height calculation for scaled images. Very
  small dimensions could result in a zero width or height which made
  picture.datatype go mad. Also made sure that the resulting image dimensions
  don't exceed the wanted maximum dimensions by not rounding up the scaled
  dimensions.
    
9 lines of code changed in 1 file:
* misc: replaced the list of mail within a folder structure by the new mail
  list. This makes mail list handling much more consistent.
    
14 lines of code changed in 2 files:
* ReadWindow.c: minor optimization to not allocate a mail list for all
  operations (new,reply, etc.)
    
33 lines of code changed in 1 file:
(359 more)