[Uni Matrix] CHANGES ============================================================================== === v1.2 * Sat Oct 11 2008 Tim Niemueller- Fixed bug that only the color fields were redrawn in event editing form after the color was set. Was reported by Olivier Auger, Jean-Charles Beaumont, Ku Roi, R. Baier (http://misc.froob.de/pics/unimatrix.jpg) in 2005/2006, and now again by Silvia Ballarin. Finally... - Fixed a too narrow date column in the exams form (reported by Sönke Landschoof in 2006) === v1.1 * Thu Jun 23 2005 Tim Niemueller - Added a couple of translations, unfortunately about half a dozen still missing, need to call for new translators I guess. - Finally pushing out UniMatrix 1.1 release. Enjoy! - Updated Makefile to create and upload source packages * Wed Jun 01 2005 Tim Niemueller - Fixed a bug in GadgetTap. The course was not searched for. Stupid bug, probably introduced when I added the list usage. - Makefile now has an PILOT_PORT var that is used by make install * Sat May 28 2005 Tim Niemueller - Added auto fill feature for course and event detail screens. On the course screen the name is autofilled (only with course names from different semesters), the teacher name and email are autofilled, in the event screen only the room is autofilled. This can make entry a lot faster. * Fri May 27 2005 Tim Niemueller - Now the list is correctly used to draw the right rectangles. This made some database searching uneccessary. No speed penalty. - Fixed bug in time edit form: room was not drawn on edit - Renamed version to 1.1 - Added simplified chinese translation and sent compiled version to translator for checking - EditTimeCheckCollision does now work again. This should already work for any given GADGET_MAX_AT_A_TIME value. Translations have to be modified I think for more precise error messages. - Started work on EditCourseAutoFill. * Fri May 20 2005 Tim Niemueller - Fixed underlocking in new code - Added tnlist.(c|h) from Onager - Use list to remember all drawn rectangles and their corresponding num/pos values. This makes it a lot easier to do all the tap handline etc. later - This is still totally buggy and does not work, list handling works though * Thu May 19 2005 Tim Niemueller - Fixed bug: If a time started at 8:xx and ended after 20:00 it was not drawn (not even partly as needed) in the night screen - First support for colliding events. One screen collides working - Multi screen collides working, take next _visible_ event as look ahead - Changed build process: objects and resources are now built in .obj, nicer output of compile process === v1.0rc1 * Thu Nov 20 2003 Tim Niemueller - Make release, all critical bugs and more that I heard of fixed now, so this is going to be 1.0rc1 * Thu Oct 23 2003 Tim Niemueller - Fixed BadBug(TM) in CatPostEdit(). It used DatabaseGetCat() instead of DELETE_CATEGORY. This lead to data loss of the current semester if the first category (0) was deleted or not existent. Doh! - Fixed another BadBug(TM): When UniMatrix was installed and then called after Time change or Reset the database was assumed to be open and the closed with DmCloseDatabase. This will lead to a fatal exception since UniMatrix has not been run and there is no database! - AlarmReset() now checks for PalmOS Version >= 4.x. - Added hebrew translation * Thu Oct 09 2003 Tim Niemueller - More intelligent event detail screen. It now tries to "guess" the color: - If a course has been selected that has already an existing event the color of this event is loaded - If the course has no event yet then either black is set (#000000) or if one or more of the fields has been edited the color is not changed - Removed some bugs that where sleeping deep inside the caching code. They occured only when CacheGet was called on an empty or almost empty (one element). Had to make l, r, x Int32 (signed) === v0.9 * Wed Jun 18 2003 Tim Niemueller - Finally most translations are done, spanish is not, needs new translator - Fixed bug in exams, note edit resulted in invalid row when the note icon in a table row was used. It updated twice -> removed FrmUpdateForm calls from Note exit code in button handling then it gets updated only once and works just fine - Update webpage - Added changelog.php - Update FAQ - RELEASE of 0.9! * Mon May 12 2003 Tim Niemueller - Updated english and german translations - Sent mail with changes to translators * Tue Apr 29 2003 Tim Niemueller - Added AlarmReset and thus needed PrefSavePrefs calls to DatabaseSetCat Really need to clean that up somehow... - Restructured AlarmFindNext, check foundTimeBegin == thisTimeBegin is done if there is a collision. This makes alarms better when there is room (maybe plenty) between the last collision time and the alarm time * Mon Apr 28 2003 Tim Niemueller - Rewrote AlarmFindNext to have the feature that makes sure, that the Palm does not ring in any case while another exam is running - Added comments all over alarm.c * Sun Apr 27 2003 Tim Niemueller - Added resource entries for coming mute features, no code yet - Added support for choosing and playing sounds. This takes about 350 freakin' lines of code... - Restructered alarm form * Fri Apr 25 2003 Tim Niemueller - Wrote AlarmFindNext - Sort now sorts exams better, makes AlarmFindNext easier :-) - CourseGetIndex now needs cats database handle to be able to call it at interrupt level - DmReleaseResource calls needed all over the source - Exams Form has now rudimentary Goto Support - Added appLaunchCmdAlarmEventGoto launch code - Preferences are now saved to prefs db when leaving Prefs form or alarm settings form (before that it was only saved in StopApplication) - Uncommented muteExams and muteEvents. Not yet used but now in the prefs struct * Thu Apr 24 2003 Tim Niemueller - More work on alarm stuff - Added alarm settings form - Added AlarmInfoType - Modified preferences to carry AlarmInfoType - Added muteExams and muteEvents. Yet commented out. - Update preferences structure. Now has a better outline (use :1 stuff) and it has support for alarm settings. - Wrote import for prefs from version 2 -> 3 * Tue Apr 22 2003 Tim Niemueller - Hide notes button in event detail screen when in add mode - Changed FrmGotoForm to FrmPopupForm in exams for NewNoteView form. Caused white screens when coming back - Fixed really BadBug in notes.c, set gNotesIndex=0 too early -> deleted wrong note! - Fixed drawing issues in Table notes draw code. Added check for TblRowUsable in TableDrawData - Added code to delete functions for events and exams so that notes are deleted as well if they exist * Sat Apr 19 2003 Tim Niemueller - Fixed several bugs in notes code - Made it a modal dialog so that it can be user from edit easier - Hope I covered all needed "side effects" (increasing/decreasing course and time index after creating/deleting a note for example) - Added alert files - Added TNPalmOSVersion to TNglue and made RomVersionCompatible using it * Fri Apr 18 2003 Tim Niemueller - Added notes support for events and exams - Fixed bug in GadgetDrawStep (up and down where swapped) - GadgetDrawStep does not beep any longer - Changed up and down hard button meanings: - Simple clicks moves event pointer forward or backward one step - Kepping it clicked for at least initDelay (KeyRates) will GadgetSwitchScreen() - Beaming adopted notes - Database version changed to 4 to add note fields to events and exams * Tue Apr 15 2003 Tim Niemueller - Fixed issue where times <= 1 hour with beginning of 20:00 were not shown * Sun Mar 16 2003 Tim Niemueller - Added PHP include for sponsoring in index.php * Thu Mar 13 2003 Tim Niemueller - Fixed bug in CourseListGen, unitialized MemHandle - Changed version finally to 0.9 * Tue Mar 11 2003 Tim Niemueller - Fixed Cache, cann now call CacheRegister within anothers Cache's LoadFunc - Added Caching for short names * Sun Mar 09 2003 Tim Niemueller - Lots of changes :-) - Removed MainFormInit(), was useless anyway - Added caching functionality to speed up drawing of short names and short types (when enabled in preferences screen) I really like that feature since it is my first useful implementation of binary search :-) You can see this feature used in clist.c in CourseGetName - DATABASE_VERSION changed to three. Need to do a sort for version 2. - Removed DatabaseGetNewCID, this functionality is now implemented as CourseNewID in clist.c. * Sun Mar 02 2003 Tim Niemueller - Restructered prefs code, now we have one preferences struct - removed feature stuff from gadget.c. Not needed any more with the new prefs struct. Could even get rid of DatabaseGetCat and GadgetSetNumdays. Maybe later - Rewrote stroke code. No we have stroke from upper right to lower right and lower right to upper right. Feels better. - Added code to show short names for courses in main form in event boxes * Thu Feb 13 2003 Tim Niemueller - Added italian translation. Thanx to Carlo Seenam Cavaliere - Added typo fix for english translation * Thu Feb 06 2003 Tim Niemueller - Added CVS Ids in the source, imported to internal CVS - First support for gadget keystrokes. - Cleaned up clist.c and added CourseGetIndex IMPORTANT CHANGES: - Added multigen support to make it possible to grow the code Therefore added UniMatrix.def, changed Makefile to include support for multigen and moved several functions to SECOND_SECTION code segment (namely exam, pref and clist functions) - Moved all resource IDs to resources.h to get rid of those dumb problems with Pilrc because it does not like #define with NaN argument... (Makros, section stuff etc.). This made a change for ALL resources needed. === v0.8a * Thu Jan 30 2003 Tim Niemueller - Finally release, no further changes * Mon Dec 11 2002 Tim Niemueller - Updated french translation - Updated czech translation - Updated polish translation * Tue Dec 10 2002 Tim Niemueller - Happy Birthday Hendrik! * Mon Dec 02 2002 Tim Niemueller - Added fixes for french translation - Added FAQ entry for PalmOS <3.5 === v0.8 * Tue Nov 29 2002 Tim Niemueller - Happy birthday Medha! - Fixed bug that timeline was erased under some cirumstances - Added support for the vchrSendData keyDown even * Tue Nov 19 2002 Tim Niemueller - Current Weekday is now highlighted - Weekdays are redrawn by GadgetDrawTimeline - Now handling sysAppLaunchCmdAskUser. We always say "OK" since we have our own code in place to handle that. Looks nicer and reduces TNOT (Total Number Of Taps). * Fr Nov 15 2002 Tim Niemueller - UniMatrix got an article in the german magazine "Notebook, Organizer und Handy". Yeah! It already appeared in the September issue 10/02, but the didn't tell me. An old friend pointed that out. Thanx Tine! * Thu Nov 13 2002 Tim Niemueller - Timeline features is now working - Sent new strings to translators * Tue Nov 12 2002 Tim Niemueller - Fixed bug, while demonstrating the new beam code to Medha we discovered a new bug: When beaming a semester all courses got new Course ID of 0. The bug was in DatabaseGetNewCID(..). It always used gCategory to get the current category. But that is wrong in case of beam. We need to give it the cat of the newly created category. Doh! Parameters changed and now it works. - Removed some functions to make the code cleaner, namely GadgetDrawComplete* had to go, GadgetRedraw() will do the job. GadgetSetNeedsRedraw has been removed. This is now set when a complete redraw is done in GadgetRedraw. - Added gGadgetFeature array to make feature handling (like showing short type names or the timeline) easy - Fixed GadgetEventIsVisible so that it will not return true in border cases (e. g. if you have a course ending at 20:00 it is no longer highlightet in night screen. Makes no sense...) - Added Timeline feature. Shows a XOR drawn line for current time - Color picker is now palette for gray scale users by default and sliders for color palm users * Mon Nov 11 2002 Tim Niemueller - Begin of German Carneval in Cologne. Helau. - Fixed bug in color initialisation code which caused UniMatrix to fail on Palms with a display that does not support gray scale display (like the antique Palm III) - Moved TNGlueInit to TNGlueColorInit, this reflects the real purpose. - Moved last fragments of color initialisation code from UniMatrix.c to tnglue.c/TNGlueColorInit() - Changed default behaviour for TNGlue. It will now use PalmOS 3.5 code as default as that should always work. We use the 4.0 code only if the coder calls TNGlueColorInit on a 4.0 device and use the new functions. As I don't know the implementation details I can just assume they found a quicker way than the 3.5 code... - Fixed bug in edit.c which caused that wrong data was displayed in the hint after creating a new course. Data is NOT corrupted, just displayed wrong. Now it does highlight the new event after adding it. * Thu Nov 06 2002 Tim Niemueller - Beam code was not yet completely intelligent... It always took the first course with a matching name and didn't care about the course type... FIXED. - It is now possible to beam whole semesters. Finally... - Fixed small bug in new semester transmission code. It always took the last available free ID, but we want the first one, otherwise we would get BadErrors(TM) when the user was so dumb to delete his first category... That is still NotNice(C). Should think about some code to prevent the case that no category exists. That sucks. Should generate some default then, I think... Tommorrow :-) * Tue Nov 05 2002 Tim Niemueller - Fixed non-initialized index in CourseTypeDelete - Added support for showing short type in gadget boxes for events if height is greater than 10 and the if the feature is enabled in the settings dialog - Added czech translation - Fixed bug in beam.c/ReadRecordIntoDB. It used DatabaseSort and that will crash UniMatrix when receiving an entry while UniMatrix is _not_ running. Wrote DatabaseSortByDBRef for that purpose which will take an open database handle as argument and will sort this db, not the globally opened ones. - Changed spacing in exams table, cosmetic fix - MAJOR: Fixed beaming code and made it intelligent. It now detects if the received course already exists (checks name) or if there are already matching times or exams. * Sat Nov 01 2002 Tim Niemueller - 4 1/2 years with Anne! - *grmpf*. Used Palm OS 4 Update 1 before, with with BuildDefaults.h from non-updated version... This still allows access to struct internals, update 1 does not. That made me searching for "dereferencing pointer to incomplete type" bugs for an hour now. That's a stupid one. I have used this internal access only once: it's from the example code for extended Gadgets from Palm themselves. That's dumb! So I fixed gadget.c GadgetTap now to use standard functions... - moved color.(c|h) to tnglue.(c|h). This reflects adding TNGetObjectIndexFromPtr to the file... It is more glue, than color now... - Added TNGlueInit() to tnglue. Will now set color mode, no further interaction from outside needed for initialisation. * Fri Oct 25 2002 Tim Niemueller - Added handling for power on events. If you switch the Palm to on while UniMatrix is running it will now jump to the next upcoming event === v0.7 * Thu Oct 24 2002 Tim Niemueller - Polish translation and dutch translation, fixed both, make extra note that course type short names may be only 3 chars in length * Thu Oct 17 2002 Tim Niemueller - Of course I forgot to maintain this file... - Added exam management, strike out done exams :-) - Better support for hard buttons, if you assigned a button to the tool you you now get to the next entry by clicking this button - Lots of internal cleanus - Merged add and edit screens for courses and events, saves about 3 KB - Fixed course type details screen, strings were missing, added graphical buttons - course list now shows emails and website form currently selected course - wrote dist section in makefile, not I can create the release really easy for all languages. * Thu Aug 16 2002 Tim Niemueller - Finally created the CHANGES file. 0.6 is out to the public and seems that people really like UniMatrix, a good reason to fix all those glitches and make it nice to use... - Did a lot of work on the "build system". This means that resources are now in /resources with an ending of ".rcp.in". I changed the makefile so that those files are piped through sed to replace all occurrences of ##VERSION## in the rcp with the current version. This is now stored in a file called "version", this makes it easier since I now have to maintain only one place for the version number - Add some new variables to the Makefile, namely PROGNAME, PROGDES and APPID that should make it much easier to re-use the makefile for other software. - Created docs subdirectory - OK, now some real coding stuff: $Id: CHANGES,v 1.22 2008/10/11 22:46:39 tim Exp $