Diary- Desktop Diary

by Mike Ironmonger and Mike Fowler

updated by David Lenthall


Diary 3 is an enhanced version of Mike Fowler's Calendar (v1.10, published in RISC User 7.1) which was itself a considerably enhanced version of Mike Ironmonger's Desktop Diary (v2.50) application originally published in RISC User 2.9 and 2.10. To load the program click on the icon in the RISC User master menu system.

The main new feature added by Calendar was the recurring dates option, and this has been retained in Diary 3. Any note that you enter can be set to repeat either monthly, yearly or not at all, and up to ten Note windows can now be opened at a time. Also, the icon bar icon now shows today's date.

The new features provided by Calendar introduced a number of problems (e.g. clashing entries) and also contained more than a few bugs. Diary 3 addresses these problems, and additionlly provides a few refinements over the previous versions.

Interactive help is now supported (inspired by the recent purchase of David Pilling's Bubble Help, it is far more convenient than Acorn's Help).
Included is help support for menu items, and so Diary3 now requires RISC OS 3.10, or later.

This is not a problem for people still using RISC OS 2.00, as they obviously are not interested in the new features of RISC OS 3 which programmers are obviously going to make use of.

The Iconbar Menu
Info leads to the usual About this program dialogue box.

Between leads to a dialog box which enables the user to calculate the number of days between any two dates.  Note that holding down the Shift key whilst clicking on the adjuster icons, alters the date by 14 days per click.

Quit - the usual.

The Calendar Window - Choosing Dates
The Calendar window is opened by clicking Select or Adjust on the iconbar icon. The month containing today's date is initially displayed, but any other month can be shown by clicking on the left and right arrows at either side of the calendar. Clicking with Select moves forward or backwards by a month, depending on the arrow used, clicking with Adjust moves in the opposite direction, and clicking with Shift held down moves forwards or backwards by a year.

The Calendar Window - Note Types
There are three types of notes - Once, Monthly or Annual.

The background colour(s) of each date indicates the note type(s) that exists for it.  No background colour means no note.  The colours are :

  Once    - Orange
  Monthly - Green
  Annual  - Blue

Diary 3 extends this scheme to indicate multiple entries occuring on a particular day by using combinations of the relevant colours, eg :

  Monthly & Annual - Green & Blue

It is not possible to have more than one note entry of the same type (Once, Monthly or Annual) on any particular day.

The Calendar Window Menu
Goto leads to a submenu offering three options :
Today which sets the currently displayed month to that containing today's date, Oldest note which displays the month containing the oldest Once-only note, and Newest note which displays the month containing the latest Once-only note.

Save notes leads to a standard Save As dialog box. If the full pathname is known then the diary file can be saved without calling up the dialog box, by just clicking on the Save notes option itself.

Print notes - see the section below (Printing Notes).

Close notes closes all Note windows which are currently open.  It also closes the Frequency window, should that be open at the time.

Note that closing the Calendar window will also close the Frequency and any Note windows.

Entering Notes
New notes are entered by clicking in the Calendar window on the date for which you want to enter a note. If an entry already exists for that date, you can modify the notes for it.

* Clicking Select or Adjust on a date which doesn't contain any entries will open the Frequency dialog box, allowing you to select the frequency that the note will recur (Once, Monthly or Annually). Clicking on OK will then open a Note window for that date.

* Clicking Select on a date which contains one or more entries will open all of the relevant note entries.

* Clicking Adjust on a date which contains one or two entries acts as for Select though additionally opens the Frequency window enabling a new (and different class of) note to be entered.

* Clicking Adjust on a date which contains three entries just opens all of the relevant note entries.

E.g. If a Monthly entry exists, and a Once-only or Annual note is required on the same day of a specific month, clicking Adjust on the date displays the Monthly note and opens the Frequency window (with the Monthly option shaded), allowing the user to create (in this example) a Once-only or Annual note entry.

You will notice that the data modified flag (the '*' in the Calendar window's title) is not updated until an edited Note window is closed. Despite this, Diary is aware of any changes and acts sensibly if you try to save or load data or even if you attempt to quit the program whilst there is an edited Note window open on screen.

i.e. If you start Diary, open a Note window, alter the text in that window, then even though the data modified flag has not yet been set (it won't be until the Note window is closed) if you try to save, load or quit, it knows that there actually is modified data and acts accordingly.

The Note Window Menu
Clear removes all text from the note, allowing new text to be entered.  If it is closed with no text in it, then it will be deleted.

Delete deletes the note.

Print prints the note. To print a range of notes refer to the Calendar window menu option Print notes, detailed in the following section (Printing Notes).

Move later leads to a submenu offering four options (Day, Week, Fortnight and Month). Selecting one of these will move the note to the correspondingly later date. Only Once-only notes can be moved with this option, and then only if there isn't already another Once-only note at the later date.

Printing Notes
Notes are printed using the Print notes option from the Calendar window's menu. Monthly and annually recurring notes are only printed once, rather than once for each month/year they fall in. The submenu indicates what information to print.

Month - (The menu entry shows the month in question, e.g. "Apr 1995".)  All Once, Monthly and Annual notes which fall in this month are printed.

Year - (The menu entry shows the year in question, e.g. "1995".)  All Once, Monthly and Annual notes falling in the current year are printed.  Monthly notes are printed as the day followed by '(monthly)', e.g. "16 (monthly)".  Annual notes are printed similarly, but followed by '(annually)', e.g. "24 June (annually)".

All - All notes are printed with annually and monthly recurring notes being printed as for Year.

Some Technical Details
Recurring dates have been achieved by setting month=0-11 and year=0 for annual dates, and month=0 and year=1 for monthly dates, thus forcing them to be stored at the start of the date file, so that they are found first by the machine code search, find_entry, etc. routines.

Refer to the !History file within the application directory for somewhat verbose details of changes made.


 Copyright RISC User, 1995
