Notebox Disorganizer Development Notes

10:13:16 AM, 01 Oct 2007

New Feature: Outbox | Combine Outboxed Notes Here, which will attempt to combine all the notes in the Outbox into one big note and insert it in the Note Grid at the current position.  If the total size of the notes exceeds the 64K capacity of the editor, it will tell you so.

Modification: Show File Statistics, under Tools, is now About Notebox Disorganizer.  It now lists the author's spam-assassin-equipped email address, that you may harrass him in a non-telepathic manner, plus his website information, in case you forget where you got this program and want to find it again without using a search engine.  Why you would want to find it again is something you will have to work out for yourself.

Meta: I've given up on Greek.  [+++ Out Of Cheese Error.  Redo From Start] I mean, for versioning.  It's going to be by date alone from now on, I think.

Bugs:
No bugs noticed, no bugs reported, no bugs fixed.

Poll:
What should I call version 3 of Notebox Disorganizer?
# Notebox Disorganizer III
# Notebox Mismanager II
# Notebox Disintegrator
# Google Earth
# Fred
# A Momentary Lapse Of Reason


08:33:15 PM, 24 Mar 2007 -- Omicron, because calling it version Xi+++++ looked silly.

Bug Fix: In several places in the code, I was iterating over the rows of the grid when I should have been iterating over the columns.  So far as I can tell these bugs have been around for three years if not longer.  Why there hasn't been a blatant failure before now I can't imagine.

Feature Change: Esc in the full-screen-editor mode now switches to grid view.


12:56:49 AM, 15 Feb 2007 -- Xi++++

New Feature:

# Full Screen Editor Mode!
- Pressing Alt-F11, or Ctrl-Alt-Shift-F, to switch in and out of thhis sleek, black and stylish mode.  Watch your screen become almost completely blank!  Only the Editor Navigator will remain for your convenience (and mine, since I wondered about the consequences of hiding it).  When you REALLY want to focus on the item at hand, FSEM is for you!  And yes! it works in the NoteboxPad too!
- You can still get at the File and other menus through the usual AAlt-F/Alt-E/Alt-C type shortcuts.  Windows XP users may not even know they exist.  Stupid Windows XP!
- The Esc key is disabled while in full screen mode.  Partly this iis to maintain your laserlike focus on the object at hand; partly it was to avoid the ugly results I saw when I pressed it myself; mostly it's because I didn't think to make it switch out of full-screen mode until this very moment.  Now I don't know what I want it to do, so I'm leaving it alone.
- The Ctrl-Alt-Shift-F invokation (which my Lesser Oxford Dictionarry insists is actually spelled "invocation", despite being based on the word "invoke"; I'm starting a protest movement) made sense at the time; if anyone has a strong opinion on it, pro or con, please say so.  Alt-F11 was intended to be just plain F11, a la Internet Explorer's full screen mode, but something seems to be intercepting plain F11 on my machine.

Bug Fix:
# Upon returning to Notebox Disorganizer after a long time using Notebox Mismanager, I pressed Esc in the editor to return to the note grid, and then, accidentally, pressed Esc again.  "What is THAT and how do I get rid of it?" I found myself saying, upon the unexpected and undesired sudden appearance of the note preview window.  This violation of the Principle of Least Surprise (To The Author) has been dealt with; now that window appears only if you you enable it from the View Menu.  Scream if this change causes inconvenience.



01:43:49 PM, 27 Mar 2006 -- Xi+++.

New Feature, per request: the NoteboxPad now has a Rewrite Save function (shortcut: Ctrl-R, or File|Rewrite Save).  This feature requires the Clear After Save option in the File menu to be turned off.
If you have yet to save the contents of the NoteboxPad, Rewrite Save acts like Save To Notes.  If on the other hand those contents have been saved to a note (in any category), Rewrite Save will Save to that existing note, thus -- Rewriting it!  ("Isn't that amazing!" he said, and adjusted his red bow tie.)
If that marked-as-rewriteable note moves around in the notebox, Rewrite Save will seek it out and rewrite it no matter where it tries to hide.  (Copies of the rewriteable note don't get rewritten, only the original.)
If you save the rewriteable note outside of the NoteboxPad -- which is to say after editing it in the main or co-editor -- ND will assume that you don't want to overwrite that note any more, and the next Rewrite Save will create a new note in Notes.  Also, a large red warning sign will be posted in the NoteboxPad status bar.  (I wanted to use a popup dialog, but someone else's bug got in the way.)

Bugs:
No bugs noticed, no bugs reported, no bugs fixed.



01:02:46 PM, 03 Mar 2006 - Xi++

In the interest of reducing the size of the download, I've split the source code off to a separate file.

New Features:

In Tools|Set Preferences|Misc, there are two new checkboxes.

# Forbid Formatted Text (caution!)
  This approximately prevents use of rich text in noteboxes.  Check this box and the following will become unavailable:
	- the formatting buttons in the bar at the bottom of the ND window;
	- the Format section of the Editor's context menu; and
	- the Ctrl-G/loss (Editorialize) function in the Editor.
  Existing notes with formatting will not be affected unless you edit them (in which case they will be converted to plain text when you leave the Editor), or use Tools|Plaintextify Notebox to deformat the whole notebox.  I thought it would be less dangerous this way.
  The View/Edit Raw RTF code menu option of the Editor's context menu remains available, though of questionable utility.  This is to cause perplexity in the user, and thus stimulate his or her mind.

# Remember NoteboxPad status
  Check this box and ND will remember the size, position and visibility of the NoteboxPad at exit, and restore them when ND starts up the next time.
  If you happen to leave the pad positioned above and to the left of the top left corner of the screen, it will be mistaken for having been maximized.  This is because when a window is maximized its top left corner is above and to the left of the top left corner of the screen.  Maybe I should save the maximized status explicitly.

Bugs addressed since 7 February's Xi+ release:

# The Set Preferences dialog now initially displays the first tab, rather than whatever tab I happened to be working on when I compiled the program.


02:13:06 AM, 07 Feb 2006 - Xi+ release.
Behold my bounty-like yieldings.

New Features: watch out for Access Violations!

# Added a rudimentary note printing feature.
- This is invoked by Ctrl-P while in the editor, or via the Editor''s contextual menu.
- If you look at said contextual menu, you will see the notation "((see Preferences)".  If you look at Tools|Set Preferences you will find an equally rudimentary set of options for printing said notes.
- Currently these options include margin settings, measured in poinnts, and some date/time/page options.
- The unit of margin measurement is the point, which should corresppond to the point as used by fonts -- i.e., you'll get one 12-point-em (or monospaced character) of margin for every 12 points of margin you specify.  Note that the margins are in addition to your printer's unprintable area; to get a one inch margin I had to specify 60 points, as my printer enforces a minimum of 12.
- You can also have the page number, date and time scattered aroundd your page (top/bottom, left/center/right); these bits of information will be printed in the system font, which for most people will be Microsoft Sans Serif or Tahoma, not the note's font.  No, you can't specify a different font.  Yet.

# The (main) editor's context menu now has Open- and Save-file options.  See also the main Editor menu.  The Note menu had a save option, but the Note menu isn't available while editing.

# Added an option for setting the indentation of the first lines of paragraphs, again measured in points, to the Misc page.

# Added an option to set the default font for editing, again on the Misc page.
- Changing these latter two settings may appear, at first glance, nnot to have worked.
- Updating the display of plain-text notes is easy: switching from  one plain-text note to another and back.
- Rich-text notes will not have their fonts changed, as that would  be annoying.  In rich-text notes, the new standard for paragraph indents will be applied only to paragraphs that you create or modify after changing said indent.  This actually is annoying.
- Finally, the character value of the [line:character] display may  display questionable values when the cursor is on the first line of a paragraph.  This is because the character index is adjusted by hand to reflect the width-in-monospaced-characters of the indent, and this is done whether the editor has noticed the indentation change or not.

# Modified the Launch feature.  Previously, if your note consisted of a single launchable entry like --
http://www.stevegerber.com
-- or --
c:\hard-time-season-2.txt
-- you could Launch that note from the Note menu.  This is still trrue.  However, you can now have multiple lines of launchable items in a single note, and if ND finds this to be true it will show you a menu of all of them from which you can launch...one.  Possibly I should have allowed launching several at a time, though I think Windows Explorer might get grumpy if I were to do that.  I'll (probably) have a look...

# There is now a Set Category Widths function in the View Menu.  This sets the width of all categories; this is a feature whose time is long past, if that's the phrase I intend.  Individually sized categories are still not available; this is due to the uncontrollable-scrolling bug that is discussed elsewhere in this file.  The grid redraws itself while you draw the slider control around, but a bit sluggishly, so you may have to wait for it to update; also, not every pixel's worth of difference actually matters for various reasons.  Experiment!

No bugs reported, no bugs noticed, no bugs fixed.


02:47:55 PM, 22 Jan 2006; 12:56:12 AM, 15 Oct 2005; 02:25:44 AM, 14 Oct 2005

New Features for this, the Xi release:

# (By popular demand!)  Added, to the Tools menu, a rudimentary function to print the visible grid.    What you see should be what you print, usually, mostly, kind of.  There are some exceptions, mainly because Delphi and/or Windows aren't doing what I want them to, particularly in terms of not displaying fractional cells.  You may want to drag the splitter around to alter the number of visible categories.
A better function is being contemplated; however, see the Poll at the end of this Erratum.
# Added Space-Tab-Return WC method.
- Last November was National Novel Writing Month, in which people aattempt to write 50,000 words in thirty days.  "Antidisestablishmentarianism" is more than one word to an editor, and therefore more than one word to Disorganizer, but the NaNoWriMo word count verifier probably disagrees  Thus did I add the Space-Tab-Return counting method, which you can find filed under Tools|Set Preferences|Misc.  Turn it on and watch your word counts drop!
# Added Word Count Goals and Goal Progress Bars to the View menu.
- This was A) another nod toward NaNoWriMo and B) probably a mistakke, as I'm not entirely happy with it.  If I were going to use this feature for NaNoWriMo I would do it this way --
1. Go to a blank category and name it:
	Alt-C(ategory) - N - NaNoWriMo 2K5 - Enter
2. Set its goal to 50,000 words:
	Alt-C - S - 50000 - Enter
3. Turn on the Progress bar:
	Alt-V(iew) - W
-- and call the job done.
You can also set goals for individual notes from the Note menu.
The new display is in the form of a progress bar; as words are added toward the goal, blue will overwhelm red, and when the goal is met, the bar turns bright purple.
If you want to apply a category's goal to all categories, or a note's goal to all notes in the category, end the number you type in with an A -- e.g., to set a 250 word goal for all the EXISTING notes in a category:
	Alt-N - S - 250A - Enter
Note that any notes added after doing so will NOT automatically have goals attached to them.  This is, I think, suboptimal.
Possibly a WC Goal for the entire notebox would be a good idea.  I welcome input...
# Added Linked File name displays to the View menu.  In previous versions of ND, if you hover over a note that's actually a file the name of the file will appear in the status bar, but having actually started using the Linked File feature myself I find I like to see more of what's going on.
# Moved the Outbox Functions menu from Tools to its own menu, since A) the Tools menu was getting long and B) the functions are easier to get at now.[1]  Also moved the Navigator->Outbox item to the new Outbox menu.
# Unified the button colors in the grid and editor bars.  Gratuitous!

Bug fixes: no bugs reported to me, no bugs noticed by me, thus no bugs fixed -- although I did make some minor changes in the wording of the prompts presented when moving/duplicating the outbox ("De-outbox the Outbox?" -> "Clear the Outbox afterward?"; "Should the duplicates appear in the Outbox?" -> "Add the duplicates to the Outbox?").

_________________________

POLL

How attached are you to a Notebox Disorganizer that will fit on a floppy?
People have asked for enhancements to ND such as support for tables in the editor.  The Microsoft code that underlies Notebox Disorganizer's editor does support tables.  Unfortunately, ND is written in a programming environment, Delphi version 2, that provides no way to invoke that support.  There are third-party plugins for Delphi that provide such an interface, but the majority of them are require a later version of Delphi, most of the rest cost a fair bit of money[2], and the remainder...I haven't been able to get to work properly.
There are solutions.  Or are there?
First, I could upgrade to the current version of Delphi.  The current version of Delphi comes in two varieties: A) the one that costs about a thousand dollars, and B) the one that costs ninety-nine dollars...with an option on the other nine hundred.  (If anyone uses a program written in the $99 Delphi for commercial purposes, the programmer is legally obligated to upgrade to the thousand-dollar commercial-development version of Delphi even if the program is released as public-domain.)  So that's out.
Second, I could obtain a used, slightly obsolete version of Delphi.  This is problematic as they are often highly valued by the few people who are willing to part with them.  (Looking at Ebay, I see one copy of Delphi 5 in my price range...but with six days let on the auction, so that will doubtless go way up, and you never know if you're getting pirated software...)  So that's probably out as well.
Third --
Third is the Qt solution.  Qt is a multiplatform Graphical User Interface available on Windows, Linux and various cellphones.  It was used by Borland as something of a Windows-substitute for their version of Delphi that runs on Linux, offers all the fancy features that I can't currently get at in Windows, and is available with an acceptable free-use license.
So far as I can tell it should be possible to use Qt to code a drop-in replacement for the current version of ND and no one would be able to tell the difference...
...except that the main program file would be ten times larger, as it would, more or less necessarily, include, more or less, the entirety of Qt.

Question: Is a five-megabyte Notebox Disorganizer an acceptable price to pay for the advantages that would could with it?

Answers to gmauslander@hotmail.com .
_________________________

1. Disorganizer changes often happen when I start using features I haven't been using much and discover they aren't intuitive or obvious enough.  They might happen sooner if people complained, but they don't.
2. What's the point of giving away the source code if people are going to have to buy components to compile it?


09:39:58 PM, 03 Mar 2005

New Features in Nu:

* Added Alt-Home to Editor.  Start of Paragraph.

* Tools|Clear Debug Messages.  Self-descriptive...

* File|Import Text Files (as links).  [Experimental]
If you have a notebox full of linked files, the .nbx file itself will contain filenames ('C:\fred.txt') while all the actual data is stored in the files named.
Use "File|Import Text Files as links" to add disk-based text/rtf files. If there were problems with the files you added, such as any of them being too big for ND's puny editor or having their Read-Only attributes set or being generally incomprehensible, a compendium of these problems will be inserted as the first note in the newly created imported-disk-files category.
Linked files are cached in memory as needed, so your second Find won't take as long as your first. ND also keeps track of the last-written-time of linked files and reloads them if it has changed, so your displays and Find results should always be correct even if you update your linked files externally (in, e.g., Notepad) while ND is running -- barring the usual fiascos. However, if you update a linked file in Notepad while editing it in ND, the change will go unnoticed and be overwritten by ND. So there.
 Linked files changed in ND are written to disk upon exiting the editor. If a given file can't be written, ND will note this and attempt to write the linked file again whenever the notebox itself is next saved -- so there's your opportunity to correct those faulty Read-Only attributes. If that next save happens to be the one made upon exiting ND, and the problem hasn't been corrected, your changes will be lost forever with (as the role-playing-gamers say) no saving throw. Note also that a failure to write a linked file is not considered a failure to save the notebox itself. Maybe it should be.

Bugs addressed since 28 April's Mu++ release:

* The error trap designed to trap errors when writing the configuration file wasn't trapping the right errors when writing the configuration file and so errors were going untrapped and so you couldn't exit the program when the configuration file couldn't be written, AHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!
Bailiff!  Valium!
* Clicking empty cells now sets editor title correctly
* Tweaked Find AGAIN...
* Changing notes by clicking Found Notes wasn't updating EditorBox
* Filtering CRLFs in EditorBox was taking too long; now we display them as �� instead of �


03:59:41 PM, 28 Apr 2004

New Features in Mu++:

    * Export Class has been added to the File menu. Scream if it doesn't work right.
    * In the editor, Ctrl-T transposes characters in case you spell a wrod worng. Stick the | caret in between the faulty letters and let fly. If the caret is at the beginning of a note or line the initial two characters of the note or line will be transposed; at the end of a note or line� the final two.
    * Middle-clicking the Notebox icon in the tray will toggle the NoteboxPad.

� Remember that pressing the END key or clicking the mouse on a point past the end of a line will put the caret at what is visually the end of a given line but computationally the beginning of the next. Thank Microsoft, not me.

Bugs addressed since 25 April's Mu+ release:

    * Revised the set-filetype-association code, which now seems to work correctly. If you've already got your filetype associations set correctly, ignore this notice.
    * Up until now, exporting a collection of notes in the Outbox to an Exploded Notebox did not work correctly. Apparently no one ever did that.


Bookmark: Errata: 07:08:24 PM, 25 Apr 2004

New Features in Mu+:

    * AUTOMATIC .BAK-UPS ARE NO LONGER MADE TO FLOPPY DISK (drive A:\).
    * The TrayPad has been renamed NoteboxPad (TrayPad is Someone Else's Product) and has a snazzier status display.
    * The Tools menu has a new command: Create Class Image Here. This:
          o turns the notes of a specified class into SynchroNotes (if they aren't already);
          o copies them to the current grid position;
          o declassifies the duplicates.
	Suppose you have a batch of notes that belong right where they are (e.g. scattered far and wide) but which you want to work with in a contiguous block. Just:
	    o add them to a Class;
	    o create a temporary category;
	    o image the Class to the new category;
	    o work with that thematically related material until you're done, then (optionally)
	    o destroy the category
	-- leaving the original notes updated but otherwise unharmed.
      (The duplicates are declassified to avoid Proliferation. If you can think of a reason to leave them classified, say something.)
      Also, Broadcasting and Receiving notes are ignored.
    * Since the Tools menu is getting very long, the Outbox functions have been moved into a submenu. Soon they'll have a main menu item.
    * Tools|Outbox now sports a Classify Outbox function.
    * The editor has new key commands:
          o Alt-End goes to the end of the current paragraph.
          o Ctrl-Return goes to the end of the current paragraph and inserts a Return.
          o Ctrl-' produces '|', where | is the cursor.
          o Ctrl-[ produces [|], ditto.
      These require Shift unless you have an odd keyboard:
          o Ctrl-( = (|)
          o Ctrl-< = <|>
          o Ctrl-{ = {|}
          o Ctrl-_ = [space]ANSI double-dash[space]. Relatedly, the Ctrl-- combination now produces an ASCII double-dash. Depending on what version of RichEdit Microsoft has seen fit to bestow upon your version of Windows, the latter may wrap 'incorrectly' at the right margin. The former should always be wrapped 'correctly'.
    * A minor change: the editor's ellipsis key, Ctrl-., now overwrites selected text as all the other special editor text-insert keys do.
    * A word-wrap/no word-wrap toggle has been added to the editor's contextual menu.
    * Global Hot Keys have been added!
          o Windows-N will show (or hide) the main ND window;
          o Alt-Windows-N will display the tray menu;
          o Ctrl-Windows-N will show (or hide) the NoteboxPad.
      Eventually these should be redefinable. At the moment if they can't be set -- as will be true if another program has pre-empted them, or if you start another instance of ND -- the errors will logged to the debug messages (see the Tools menu).

Bugs addressed since 17 April's Mu release:

    * The category and note navigation list boxes in CoEditor should now be properly keyboard-operable (arrows and Tab).
    * Some minor bugs were removed from the key-command handlers for the NoteGrid and the Editor; I doubt they ever bit anyone. The revised code may be larger but may be faster. Then again, maybe not. It's a lot easier on the eyes, though...
    * The Notes-in-this-category display in the Editor Navigator is now updated upon exiting the Editor.
    * ANSI characters are now permitted to display in various places where they had been forbidden.
    * My neverending struggle with the Find window (and its wilful tendency to go hide for no reason) continues. Now it has its own taskbar button.
    * File|Reopen... now updates File|Reopen (no ellipsis) in the event that the current file happens to get saved while Reopening another.
    * Pressing Ctrl-Home or Ctrl-End in the NoteGrid will now show the correct note in the Editor. Previously it might not...although I coulda swore I fixed that before.
    * Shift-Home and Shift-End in the NoteGrid now do what they ought to, namely select up and down from the current note cell.
    * The minimum-size limitation on the NoteboxPad window has been removed.
    * Trying to move an empty cell with Ctrl-(Arrows) will no longer give a list out of bounds error.


Bookmark: Errata: 05:05:25 AM, 17 Apr 2004

Bugs addressed relative to the 29 March Lambda+ release:

    * Under Windows 95 and 98, when the splitter between the editor and the editor navigator was used to change their respective widths, the editor was not updating itself (rewrapping the text) to reflect its new width.
    * The code to handle Ctrl-Alt-Arrows in the editor (to move from note to note) wasn't saving the cursor position in the note. Which only matters if you were using the cursor-position-restore option.
      Also, Ctrl-Alt-Left & Right now correctly update the Notes In This Category display in the Editor Navigator.
    * The Destroy Category function was neglecting to update the file's word/character/note count display when it was finished.
    * The code that saves the Notebox now updates the NoteGrid and the Editor Navigator notes-in-this-cat display in a more sensible fashion.
    * Empty notes now get saved as plaintext even if they originally contained styled text. The remove-blank-notes function was tripping over this.
    * Some unnecessary redrawing of the Editor Navigator was eliminated, and minor changes were made to the Save-Editor code to try to avoid redrawing the whole NoteGrid without a good reason.
    * The notebox is now marked as changed if/when you OK the Preferences dialog. Why? Some custom colors get saved in the .nbx file, and might go unsaved otherwise. Marking the notebox changed is a stupid way to handle this, especially if you didn't change any of those colors, so this fix is also a bug. Maybe I shouldn't have mentioned it.
    * Fixed a bug, I think, in the internal insert-text-into-editor code, which was returning an incorrect error indication. If you ever got a useless message to the effect that something weird had happened, this may have been why.

Unfixed bugs!

    * Last time as you recall I changed Ctrl-E/ditorialize to Ctrl-G/loss because Ctrl-E is the stock richedit key command for Center-Justified. Now I find that the Windows 95 version of richedit does not support Ctrl-E. Or Ctrl-R/ight, or Ctrl-L/eft, or that weird Ctrl-" thing for angled/curvy quotation marks, so I have to go back and handle those keys myself, except the weird Ctrl-" thing because I don't know how it works. But not today.
    * The Tools|Register Filetypes function doesn't work under 95. It may not work right at all. Keep making those manual associations while I sort this out...
    * Having gone back to my K6-233 box to do some testing I find that using a whole notebox full of styled notes is immensely slow due to this and that. Well, I can't do anything about that but I'll probably address this. It'll eat up a lot of memory, though...

New features:

    * Added context menus to the Notebox and Editor Word/Char/&c. displays. Now you can get the display you want without clicking so much.
    * Added the [experimental] CoEditor to Tools. Previously there was no direct way to edit two notes simultaneously; now there is. There are probably bugs. Crash with confidence!
    * After selecting text in the editor, the editor status line displays the selection's word/size count. If you use the shift-arrows combinations you'll have to release the shift key before the count is done. (Recalculating after every single-character change in the selection slowed down the selection process something fierce.)
    * Cursor movement is now faster, as I thought of a better way to handle the line:column display updates. This is less noticeable on current machines, but is a significant improvement for anyone on a <= 233MHz box.
    * The Import Text Files function now allows importation of files larger than 64K. I've chosen to break them up into ~10K chunks, on linefeed boundaries.
    * New (and in some cases old) key commands are available in the NoteGrid:
          o the 1 and 9 keys send the current note to the top and bottom of the category, respectively
          o the + and - keys rotate the notes in the current category up & down
          o the / and * keys rotate the current note to top the top and bottom (respectively) of its category. Why?
    * Several updates were made to the TrayPad:
          o File|Stay On Top. Not quite optimally implemented since there are things about windows in Windows I don't grok. Bug reports to the usual address.
          o File|Save Notebox on Save TrayPad.
          o File|Open Text File (<=64K).
          o In the editor, the F5 key now does a date-time insertion; ESC minimizes the TrayPad to the taskbar.
          o Added Open Text File to the main editor context menu.
          o In the NoteGrid, shift-home and shift-end now establish a proper selection. These keys were previously handled by Microsoft's (Borland's?) code in a to-me-useless manner.
          o The insert-notes and remove-blank-notes items from the Note menu now also appear in the Category menu. I have a vague intention of removing them from the Note menu.
          o The Transfer dialog now appears with the last-used category selected as opposed to the first-listed.

Unadded features!

    * Someone asked for the ability to add notes to multiple Classes. I'd have to change the .nbx format to do this for good yet stupid reasons, thus requiring everyone to upgrade to a Mu+ or later version of the program. Or I could just add a new set of classifications, or alternative types of Bookmarks. What do you think? Answers on a postcard.
    * I was going to add a scrap of code to bypass automatic .bak-ups of files opened from A:\ but forgot. Does anyone mind?


-- 2004-Mar-29

Bug addressed relative to the (original) 29 March Lambda release:

    * I was stupidly not filtering out end-of-note tags that might appear in category names, row labels, and custom classification names. If you don't try to use  in those contexts, this is a meaningless bug, but I fixed it anyway.

Bugs addressed relative to the 23 March Kappa++ release:

    * The Outbox Move/Duplicate functions should no longer create gratuitous blank notes. This is not to say you won't still have more blank notes than you want, but at least they won't be new ones.
    * The Transfer Outbox function, which transfers the current active note if there's nothing in the Outbox, will now give an error message if you try to transfer a cell with no note in it.
    * The dialog used by Transfer (et al.) now selects the first of the items listed when it is displayed, as opposed to leaving the focus on whatever button was active when you last closed it. Semi-relatedly, keyboarding fans will go into frenzies of ecstasy when they find that the tab order of the buttons has been corrected.
    * The Rearrange Categories function should now exit with the editor displaying the correct note.
    * The Note Grid is now refreshed after every Save, as ND trims empty notes from category bottoms when it saves a notebox and it would be nice to be able to see that this has happened.
    * Selecting File|Import Notebox and then cancelling the resultant Open dialog will no longer produce a spurious error code.
    * The editor navigator now behaves itself during replace-all operations, as opposed to redrawing for every replace performed.
    * The Add-clipboard-to-category function available from the Tray Menu should now update all the various menus that display the last-used category.
    * If you blank a note with the Backspace key, the statistics box (notes/words/characters) in the grid status bar should now reflect the change.
    * The Ctrl-D(uplicate) and Ctrl-M(ove) keys are now available only when the grid is active, as while practicing some sloppy keyboarding skills in the Editor I found to my dismay that the aforementioned keystroke commands were in fact global. The F12 key (add current note to Outbox) still works in the editor.
    * Unnecessary sloth has been eliminated from grid navigator redrawing. That's more of a new feature, though, isn't it? Let's have the new features, then...

New features:

    * Added "File|Reopen..." at last. It tracks the last 30 files opened.
    * Tools|Display File Statistics now displays data on each and every category, and displays its vastly expanded output in a mini-editor to facilitate (Ctrl-)Copying of that information.
    * The Transfer Outbox function is now available from the Tools menu (I believe it was previously only in the grid's context menu) and has been amplified with "Transfer Outbox to New Category" and "Transfer to Last-Transferred-To Category". Also, the Transfer dialog (and those using the same framework) now use the "Normal Note" fore- and background colors.
    * Added four Custom Classifications as a sort of alternative to the Outbox/Bookmarks features.
      Use Shift-F1,2,3,4 (or Tools|Classify, or the grid context menu's Classify) to classify your notes.
      Use Ctrl-Shift-F1,2,3,4 (or the grid context menu) to Transfer classified notes to...where you want them, if they aren't there already.
      Customize the colors and names of the classifications via Tools|Preferences. The customizations are stored per-notebox, incidentally, so each of your noteboxes can have a different set of colors and classifications.
      In the grid you can use shift-arrows to select a range of notes and classify them all at once with the aforementioned Shift-F1,2,3,4 keys, just as you could use F12 (or Space) to add them to the Outbox.
      You can classify Outboxed notes and Outbox classified notes, but you can't multiclassify notes. That would be too useful.
      To declassify a note or notes, use Shift-F5 (or uncheck the checkmark in the Classify menus).
    * The Grid Navigator, as you might hope, supports the Custom Classifications. Another new option in the Grid Navigator is the Big Notes selection, which will list all Big Notes in your notebox. Big is currently defined as "more than 10,000 characters". This may become redefinable.
    * The editor's popup menu has at least for the moment gained View and Edit Raw RTF functions. These are actually described in the main documentation, which is probably a mistake. The Edit function is a little tricky...
    * Also newly available from the editor's context menu: strip returns from selection, or Ctrl-W for short. Why Ctrl-W? All the good keystrokes were taken. Pretend it has something to do with undoing hard-Wrapped lines.
    * The Ctrl-E(ditorialize) keystroke in the editor has been changed to re-expose the stock richedit Ctrl-E/centering command. (Possibly I should mention the Ctrl-L(eft) and Ctrl-R(ight) justification keys that I discovered...nah!)
      Ctrl-G(loss) is the replacement.
    * The tray icon menu now has a Find option, just because.
    * The colors of the word/character count displays in the notegrid can now be set in Tools|Set Preferences.
    * The background color of empty cells can now be set via Preferences.
    * The Preferences dialog now has a scrollbar, as it was getting rather large.
    * Adding notes from the tray icon no longer announces 'Added.' Only errors produce messages.
    * Note Grid cell 0,0 (upper left corner) now displays 'O' if there's anything in the Outbox, a dot if not.
    * Various TrayPad enhancements were made, but I have forgotten what they are. :P



-- 2004-Mar-23

Bugs addressed relative to the 16 March Kappa+ release:

    * The Remove-blank-notes and Destroy Category functions weren't updating as much of the display as they could have.
    * The Notes-in-this-category section of the Editor Navigator should no longer flicker or otherwise misbehave.
    * The colors of the "normal note" are also used by the Editor and Grid Navigators. Changing those colors in Set Preferences now updates those controls.
    * Took another stab at keeping the Find window on top all the time, and changed its initial placement to suit myself (it was set to screen-centered, which was invariably exactly where I didn't want it).

New features:

    * Added Tools|Edit Category Names.
    * Previously, when the mouse pointer was in the Grid Navigator atop a listed note, the Grid Status Bar displayed the note's category. Since the Grid Navigator now allows display of the category name, the Status Bar now shows a note preview instead, and shows the category name only if show-category-names in the Grid Navigator is turned off.
    * The background colors of notes in the Note Grid can now be duplicated in the Editor and Editor Scratchpad; see the View menu. Matching the foreground color (i.e., of the text) is...not practical due to technical issues.
    * The identity of the Pinned Note is now stored in the notebox instead of the main configuration file, thus making it marginally more useful. The Pin still "pops out" if you insert or delete categories to the left of the Pinned Note's category. What, me stupid?
    * Pressing F5 in the Editor will now insert the time and date much as it does in Notepad.
    * F5 and the other Editor keys now work in the Editor Scratchpad.
    * Tools|Display File Statistics now displays Outbox statistics and Clipboard text word count -- and should be faster than before.
    * The Grid Navigator has gained some new note display options, to wit, Styled (RTF) Notes and Plain Text Notes. (In case you wondered whether there were some scattered notes that were in RTF format when they didn't need to be.)
    * The Scratchpad has been renamed the TrayPad (not much of an improvement), has been enhanced in many ways (more to come? maybe), and has had its section of the Tray Icon Menu slimmed down considerably. This last may or may not have been a good idea, and may not or may be changed in the near future.


-- 2004-Mar-16

Bugs addressed relative to the 10 March Kappa release:

    * File|Reopen wasn't reopening exploded noteboxes.
    * Some functions in the Category menu were trying to focus the editor even when the editor wasn't visible.

New features:

    * Enabled Editor features in the Editor Scratchpad -- the formatting buttons, the context menu, and the Editor item in the main menu. Everything SHOULD work...
    * Added View|Track Last Cursor Positions. Check this and henceforth the editor will automatically scroll to where the cursor was when last you exited any given note.
    * Enhanced the sanity of the Find dialog buttons; e.g., the Replace functions are no longer available when the Note Grid is active.
    * Fiddled with the layout of the File menu in the interest of ideological purity. Clear is now Close, various other File items have been moved up and/or down, and Plaintextify has been moved to Tools.


-- 2004-Mar-10

Bugs addressed relative to the 6 March Iota++ release:

    * Ctrl-S(aving) of exploded noteboxes now marks the notebox as saved.

New features:

    * The Find Notes function has been supplemented by Find Notes In:, which allows category-specific searching.
    * File associations.  See the Tools menu.  The menu item will be disabled if the associations have already been made, or if there is a Windows registry error.


-- 2004-Mar-6

Bugs addressed relative to the 9 February Iota+ release:

    * Clicking the ND taskbar button while saving an exploded notebox file could induce an insignificant "can't focus an inactive window" error message. This is probably no longer possible.
    * ND should now refuse to load damaged notebox files as opposed to not noticing there was anything wrong with them. I suspect more could be done.

New features:

    * The File menu has been tweaked for easier use of exploded noteboxes.
    * Upon saving an .nbe structured file on top of an existing one, the Old Folder of Stuff[tm] is now renamed before saving the New Folder of Stuff, and removed if the save was successful. This means you no longer have to remove the original folder by hand, albeit at the cost of needing sufficient free disk space to save the entire NFoS. I should probably add an option to just destroy the OFoS every time, but I'm paranoid about losing data. You're even given the option to keep the partially-saved NFoS in the event of failure ("Why not?" -- Ming the Merciless). Hmm, maybe I should rename the folders in such a case. Nothing is ever finished...
    * Speaking of losing data, I have robustified[1] the "avoid exiting with unsaved data when save-on-exit fails" code (after some experimenting with saving to a mostly-full thumb drive; drive-full errors are so hard to come by these days). You should now be given a proper sporting chance not to exit in such a circumstance.

_________
[1]: Kids! Do not attempt to verbify adjectives without the assistance of a trained professional. I have a degree in English and know the risks, but you may have your whole lives ahead of you.


-- 2004-Feb-9

Bugs addressed relative to the 29 January Iota release:

    * Tweaked the Tools menu's make-notes-in-outbox-into-SynchroNotes function: a) removed a stupid ambiguous and pointless dialog box, b) changed the wording of the menu item, and c) worked around a potential duplicate ID tag bug.

New features:

    * New dialogs for the Pop menu and the various Add-note-to-category functions.


-- 2004-Jan-29

Bugs addressed relative to the 28 January Theta+++++ release:

    * Adjusted code in rearrange-categories so that the editor gets set to text of correct note.

New features:

    * Shortcuts: Added Ctrl-Shift-B and Ctrl-Shift-K to the editor and the find dialog to pop up insert-boilerplate and insert-keywords dialogs.
    * Shortcuts: Added Ctrl-Alt-B and Ctrl-Alt-K to find dialog to add selection to boilerplate or keywords. (No selection = entire field in the case of adding to Boilerplate.)
    * Shortcuts: Added Ctrl-Alt-B and Ctrl-Alt-K to the editor to parallel the above. Ctrl-Alt-K duplicates Ctrl-K. Note that Ctrl-(Alt)-K puts the selection on the clipboard, Ctrl-Alt-B does not. Eventually none of these things will use the clipboard as I don't remember why I thought it was a good idea to begin with.
    * Shortcuts: Added Ctrl-Shift-X in grid: cut note and close up the hole.
    * Added Editor Scratchpad to Editor Navigator. This does not (presently) get saved on exiting ND, so be careful.


-- 2004-Jan-28

Bugs addressed relative to the 26 January Theta++++ release:

    * Doing a plain Save, as opposed to a Save-As, of an unnamed notebox that had keywords or boilerplate text defined would not save said keywords or boilerplate text to their appropriate files. Now it does.

New features:

    * Completely revised the (still wholly experimental) exploded notebox format. It now uses meaningful names for the folders and files, and no longer relies on the contents of the .nbe file to read them back. Instead it looks in the associated folder, and loads all the .txt and .rtf files in the folders within -- in alphabetical order. Hence the numbers at the beginning of the file names. Note that there is an extra zero at the end of the number, e.g. 0000010_thingummy.txt instead of 000001_thingummy.txt. If you make a new text file and name it 0000011_thingummy.txt, guess where it'll show up when the .nbe hierarchy is read?
     Caution: You shouldn't save an exploded notebox on top of an exploded notebox, even if it's the same exploded notebox. You might find your notes multiplying. Delete the hierarchy (by hand) first if you want to use the same name/location. The auto-save function has been tweaked to not save .nbe files, and the plain Save command has been rerouted as well. Note that if you load an .nbe, change it and then exit ND, you can cancel out of the save-as dialog and thus lose those changes. It's up to you.
    * Added row label support. Now instead of a boring old "1" you can have..."January:1". See the Tools menu for the label minieditor. Note: previous versions will refuse to read .nbx files containing row labels. This is because I incremented the file-format version. If you load the .nbx file into a text editor and change NBVersion=201 to NBVersion=200, said previous versions of ND2e should happily load the files in question...but the labels will be discarded. Just so you know.
    * Added minieditors for keywords and boilerplate.



-- 2004-Jan-26

Bugs addressed relative to the 25 January Theta+++ release:

    * Removed the .manifest file. Ah well, one of these days maybe I'll be able to test on XP.

New features:

    * None.



-- 2004-Jan-25

Bugs addressed relative to the 23 January Theta++ release:

    * By gar and by scrumbag, *I* started getting AVs on startup due to accessing as-yet-nonexistent windows. It was a surprise. I tracked down the fault and it REALLY shouldn't happen any more. Really really.
    * Tweaked the Find window in an attempt to keep it atop ND and ONLY ND. It still acts up occasionally. Go figure.
    * Tweaked the export progress dialog so that it actually shows progress. Windows is weird.

New features:

    * Added a Windows XP .manifest file to the distribution. It should cause ND to look native on XP.
    * Added experimental exploded-notebox format, to allow easier use of noteboxed data with other programs. It's functional but unlovely. In short, you can now do a save-as Exploded Notebox file. If you save 'fred', you'll end up with an index file called 'fred.nbe' and a folder in fred.nbe's directory called 'fred', in which you will find a whole bunch of numbered folders containing a whole bunch of numbered .txt and/or .rtf files. The .nbe file, which is look-but-don't-touch, contains a list of all the pathnames that comprise the exploded notebox, plus a short excerpt of their contents. If you move the whole shebang to a PocketPC or such, you should be able to use the .nbe file to find your way around the hierarchy with a text editor. You should be able to edit and save the individual files and then reopen the .nbe file and bring in your changes; at present you can't profitably create new .txt or .rtf files in the folder hierarchy without messing with the .nbe file, which you probably shouldn't. Programs that can import and export folder hierarchies may or may not be useful in the .nbe context. Everything about the .nbe format is subject to change or elimination depending on feedback.


Bugs NOT addressed:

    * I noticed that under Win 95b the middle-click functions don't work. This is probably the fault of the standard mouse drivers, and I don't see any way to fix or work around it. Fortunately the middle-click functionality is redundant.
    * From time to time the pop-down chooser in the Grid Navigator will stop popping down unless you double-click it. This is either Delphi or Windows acting up; none of my code gets called until after they're done.


-- 2004-Jan-23

Bugs addressed relative to the 22 January Theta+ release:

    * If there are still AVs on startup due to accessing as-yet-nonexistent windows, I will be mildly surprised.

New features:

    * The font (and background) colors of the grid and editor navigators and the Note Preview pane now match the standard note font/bg colors.
    * When preview-by-arrows is enabled, holding the Control key will allow mouse-move preview.


-- 2004-Jan-22

Bugs addressed relative to the 21 January Theta release:

    * Really tried to stop showing as-yet-nonexistent windows on startup. Honest.
    * Fixed file:// launch bug. Maybe. I guess.

New features:

    * Added arrows-instead-of-mouse mode for note previews. I have yet to discover if a 'both-and' mode is possible, but it looks doubtful.
    * Discarded the 'stick debug messages in the Scratchpad' function in favor of Tools|Show Debug Messages.
    * Tweaked the Scratchpad caption to show characters-free instead of the rather cryptic display of characters-used. Prob'ly ought to make this 'used/free'...but not now.


-- 2004-Jan-21

Bugs addressed relative to the 18 January Eta++++ release:

    * Really stopped trying to show/hide as-yet-nonexistent windows on startup.
    * Fixed various bugs in Editor|Cut/Copy Selection to...

New features:

    * Added Note Preview window and Note Preview in Grid Navigator.


-- 2004-Jan-18

Bugs addressed relative to the 17 January Eta+++ release:

* Stopped trying to hide the Find window on start (minimized).

New features:

* None.


-- 2004-Jan-17

Bugs addressed relative to the 11 January Eta++ release:

* Immensely stupid code in Duplicate and Move Outbox corrected. What should and shouldn't be in the Outbox after such an operation should now actually match what is and isn't.
* Tried to address screen glitch when Ctrl-S/aving in the editor. (Another not-happening-here type thing.)

New features:

* Configuration options for Duplicate and Move Outbox.
* Sort function for categories and notes.
* Ctrl-Alt-Space shortcut, to mark current note for Outbox while in the editor.
* Ctrl-K shortcut, in editor, copies current word or selected text to ~keywords.



-- 2004-Jan-11

Bugs addressed relative to the 5 January Eta+ release:

    * Corrected faulty Outbox handling of categories.
    * Bug in reopen when Editor maximized.
    * Attempted to address access-violation in cut-to-keywords. Why don't these things happen to me?

New features:

    * By request, the global Ctrl-S(ave) now saves changes to the editor before saving the notebox. There was a reason it didn't, but as I have forgotten what that reason is...
    * By request, added keyboard controls to move from note to note while remaining in the editor, viz, Ctrl-Alt-Up/Down/Left/Right. Also added a list of the notes in the current category to the Editor Navigator. Ooh.
    * Add-all-to-Outbox and Remove-all-from-Outbox added to Category menu.
    * Moved Duplicate-Outbox and Move-Outbox to Tools, removed the Transfer function. More of a negative feature really...
    * Added a contextual menu to the Grid Navigator with various wonderful options.
    * The Find dialog now gets hidden when ND is minimized.


-- 2004-Jan-05

Bugs addressed relative to the 4 January Eta release:

    * Tried to address a reported intermittent access violation on startup.    Educated guessing suggests it's related to my AppIdle code (since it's not happening on my test machines, I can't say for sure) so I'm now switching that off and on as seems apropos.
    * Improved keyboard-only usability of Preferences dialog.  Which is to say that the tab-order (and relatedly arrow-key-order) has been sorted out, and Esc now means Cancel.
    * Sorted out the splitter a bit so that it better retains its placement when hiding and showing the grid or editor.  Resizing the window will reset the splitter; this is by design (and) because I am short on cleverness.

New features:

    * Keyboard shortcuts added to the Grid: Ctrl-D = duplicate outbox here, Ctrl-M = move outbox here.
    * Dupe and Move Outbox to empty cells/cats is now supported.  Please no bugs, please please...
    * Added Tray to the View menu.  This pops up the tray icon menu, same as right-click on the tray icon. Also moved the Debug-data-to-Scratchpad option from View to Tools.


-- 2004-Jan-04

Bugs:
# Colorize in the Note menu should work properly *now*, blast it.

# Fixed a row-height display bug.

# Hadn't connected the SynchroNote options in the grid context menu. (The Note menu's worked...)

Features:
# By request, added "Move Outbox Here" and "Duplicate Outbox Here" to the Note menu and the grid's context menu.  Why didn't I do it this way from the beginning?  Just stupid I guess.

# By request, the reload-last-opened-file-on-startup function has been enhanced.  Previously you had to go to the File menu and select Reopen; now there is a checkbox in Preferences to set it to automatic.  (This applies only if you start ND2e directly, as opposed to dropping an .nbx file on its icon, etc.)

# By request, began adding keyword support.  As of this moment, this feature is of marginal utility; here's what exists so far:
-- There is now a "~Keywords" entry in the Editor Navigator.  If thhere are any keywords defined, they'll show up here (in alphabetical order).  Click one of them and it'll be inserted in the editor.
-- The Note menu now has an option to load and save the .keywords tto and from the editor.  Editing the keywords list in this manner is currently the only built-in option for removing an entry from the ~keywords list.  Due to highly techniwockle thisandthat that it may very well remain so.
-- The keywords will be saved in the same way and under the same ciircumstances as the boilerplate.
At some point in the indefinite future the Find dialog should (ah, what an ambiguous word) get a major overhaul to make keywords more useful.

# The editor's context menu's "Move Selection" option has been renamed to "Cut Selection" to be more accurate.  Also, a similar "Copy Selection" option has been added.
-- Suboptions to cut and copy the selection to the .boilerplate andd .keywords files have been added.  Select some text, invoke these functions, and lo! said text will appear under Boilerplate or ~Keywords.  Trailing and leading spaces will be removed; when adding a keyword, if the first character of the selection is an alphanumeric, the selection will have a tilde added to its beginning (or as they say in Linux land, prepended).


-- 2003-Dec-25

# Added a checkbox in the Preferences to swap the functions of the Ins and Ctrl-Ins keys in the grid.
# Added (experimental) note synchronization (cloning), since Broadcast/Receive is not an optimal substitute.
# Removed an insidious bug from the Open-File routine.
# Colorize in the Note menu should work properly now.


-- 2003-Dec-23

# added resizing code to the navigators.  I had refrained previously because of some potential problems related to the grid, but these seem not to apply.
  Granted, this is all tested under Windows 2000.  I should reinstall 95 and see what horrible things happen. :P
# (re)established a minimum window size to avoid resizing bugs.
# added a debug messages option under View for testing purposes.


-- 2003-Dec-21

Hardly anything to go wrong, ya sure.  ("Oh ya?" "Ya!")

# ND was misidentifying some imported text files as RTF files.
# There was a rather odd bug in the .nbx import function that didn't show up until Broadcast & Receive came along, and I can't imagine why it didn't make itself known before.
# Some anomalous Ins(ert Note) behavior was addressed.

Added a right-click function to the Grid Navigator that toggles the display of category names (except of course when only category names are being displayed).  Really ought to make the navigators resizeable, but There Were Reasons.
Added Ctrl-Insert function -- inserts one note and drops you into the editor.


-- 2003-Dec-19

What comes after epsilon?
Removed a few Grid Navigator update-lag bugs.

Added Broadcast and Receive functions, by request.
Set a note to Broadcast (via the Note menu) and lo! nothing much happens -- until you tell another note to Receive from said Broadcasting note.  Suddenly the contents of the Broadcasting note appear in place of the contents of the Receiving note!  You can edit them as though you were editing the original.  Unless I screwed up you can also move both Broadcasters and Receivers around at whim using the control-arrow keys.  Turn off Receiving and the original contents of the note become visible once more.
At the moment if you turn off the Broadcaster all the notes that are Receiving it get turned off as well -- i.e. the links are not merely broken but removed; this is less than elegant and with any luck will be addressed in the future.
Broadcasting status is indicated by a leftward-pointing chevron (�) in the grid; receiving, by a rightward (�).  It was suggested that they be color-coded, but since arbitrary color-coding is allowed I decided this was a bit better.
Importing noteboxes with broadcasting or receiving notes should work properly.


-- 2003-Dec-17 part deux
Still the epsilon release.

Fixed View|Editor Only/Grid Only/Both loss-of-keyboard-focus bugs.
Fixed insert-note bug (the grid wasn't growing to match the length of the category).


-- 2003-Dec-17
This is the epsilon release of ND2e.

Bugs addressed:
The import-textfiles function often failed because of a too-small filename buffer.  Also, the filenames of the imported files are no longer appended to the text of the notes they become, since this was not reliable.  I blame Microsoft's weird rich-text edit control.
Ins/Del note weren't updating the grid.
The note count was potentially ungrammatical.  ('1 notes'?)
A list-index-out-of-bounds error in grid navigation was corrected, I hope.
Cut/Copy/Paste keyboard shortcuts were added to the grid.
Control-F now hides the Find dialog, if it's active, as well as showing it when it's not visible.

The Editor and Note menus now have a couple of new functions: Save to Boilerplate and Load from Boilerplate.  As you might guess, these allow moving the contents of the current note to the Boilerplate display (in the Editor Navigator) and moving the contents of the Boilerplate display to the current note.  Gosh, what a lot of Boilerplates you could have within a notebox.  The active contents of the Boilerplate, if there are any, will be saved alongside the notebox itself -- e.g. as 'Fred.boilerplate' if your notebox is 'Fred.nbx' -- when you save said notebox, and will be loaded when you load said notebox next time.  Deleting the .boilerplate file, should you do so, won't do your .nbx file any harm.


    Source: geocities.com/goosnargh37/squirreltech/software

               ( geocities.com/goosnargh37/squirreltech)                   ( geocities.com/goosnargh37)