
Changes in 1.8.4 .01  (27 ene 2024)
=================================

* Fixed (IMPORTANT): Images and alarms can be removed from .knt file if it is saved after the New or Open actions.
  See detailed description of the problem in issue #641

* Fixed: Using View|Show Images (or button) showed the Editor content at 100% zoom, ignoring custom zoom applied
* Fixed: Remove KNT hidden characters from text obtained with "Copy node name" (with Shift)
* Fixed: Do not allow to insert images with Insert|Picture... in plain text virtual nodes
* Fixed: Update "Show Images" state after changing selected node

* FontSizesInHeading defaults now to "18,2,12"
* Optimizations in Replace All

* Replaced ini option: IgnoreCtrHideTrePanel (default 0) -> UseCtrlHideTreePanel  (default 1)

* Menus: Added some icons, and other minor UI changes
* Alarms: Revised menu options and toolbar buttons. Other minor fixes

* Favorite items can be relative to Keynote.exe
  External items (programs or documents) can be entered with paths relative to the folder where KeyNote
  is installed (where the .exe is located).
  The locations can be modified directly in the .fvr file (where favorites are saved) and will also be 
  interpreted as relative paths to keynote.exe.

* New: Allowed links relative to keynote.exe file

  Now you can create links relative to the folder where KeyNote is installed (where .exe is located).
  Just use ">>" as in the following examples:
  If keynote.exe is installed in C:\APL\KeyNote NF and you want to create a relative link 
  to "C:\APL\KeyNote NF\Profiles\Profiles.txt" you can use:
  "file:///>>Profiles\Profiles.txt"
  (or "file:///>>\Profiles\Profiles.txt")
  (or simply type ">>Profiles\Profiles.txt" in the URL field of a hyperlink)
  
  If you want to refer to "C:\APL\Notepad++\Change.log" as a path relative to Keynote setup folder:
  "file:///>>..\Notepad++\Change.log"
 
 
* It is allowed to select whether to include links to files/folders as relative or absolute
  * Relative: to the folder where current .knt file is located

  -> Added a checkbox to Import window, to select 'Relative'.
  -> When adding folders, the links are added without prompting. To insert relative, press Alt while dropping
  -> Similarly, when adding files wiht Insert | Link to file... press Alt+Open on dialog to insert as relative path

* Links: Added two INI options: URLFileEncodeName  and URLFilePrefNoHyp

  - KeyOptions.URLFileEncodeName
	0 (default) - Names will not be URL-encoded. Specifically, spaces will not be converetd to %20
               	 (link will be enclosed between < and >)
	1 - Names will not be URL-encoded, as before

	This affects to File URLs created without hyperlinks, using URL recognition of RTF Editor, 
	for example in Plain text notes.
	As a consequence, a link to "E:\Test\NAME OF NOTE.txt" will be created in a plain text note as:
	URLFileEncodeName=0 -> <file:///E:\Test\NAME OF NOTE.txt>
	URLFileEncodeName=1 -> 'E:\_Pruebas\NAME OF NOTE.txt' (file:///E:\_Pruebas\NAME%20OF%20NOTE.txt)

  - KeyOptions.URLFilePrefNoHyp ( Preferably use simple links, not hyperlinks)
    0 (default)  - Links to file will always created as hyperlinks if possible (in plain text notes it isn't)
    1 -  When inserting a link to a file or directory with Insert | Link to file.. or with drag and drop,
         the link will not use hyperlinks. It will insert the path adding "file:///" and enclosing with < and > if
		 necessary.
		 What you see in the Editor is then the URL, that you can modify directly.
		 Note: Editing the link with the dialog will always create a hyperlink

	If KeyOptions.URLFilePrefNoHyp = 1 and KeyOptions.URLFileEncodeName=0, dragging the following files
	in a normal note will be inserted as
	"E:\Test\NAME.txt" -> file:///E:\Test\NAME.txt
	"E:\Test\NAME OF NOTE.txt" -> <file:///E:\Test\NAME OF NOTE.txt>

	If KeyOptions.URLFilePrefNoHyp = 1 and KeyOptions.URLFileEncodeName=1, dragging the following files
	in a normal note will be inserted as
	"E:\Test\NAME.txt" -> file:///E:\Test\NAME.txt
	"E:\Test\NAME OF NOTE.txt" -> E:\Test\NAME OF NOTE.txt   (it will use hyperlink)

	If KeyOptions.URLFilePrefNoHyp = 0, then all those links will be created as hyperlinks.

	Note that editing any link with the action Create or Modify or from the dialog window will always convert that links in it's
	hyperlink version.

* Fixed: Activation of relative links of the form file:///...

	Absolute paths with file prefix worked ok: file:///E:\readme.txt

	Relative paths such as file:///readme.txt worked when included as URL field in a hyperlink created by KeyNote
	(dropping a file or using Insert URL) and URLFileNoPrefix=1 (default).
	But didn't work when directly typed (using URL recognition of RTF Editor and with "Detect and highlight URLs" enabled)
	nor when included in a hyperlink and URLFileNoPrefix=0

	Note that relative paths such as file://readme.txt will still not be recognized.
	(while "file:///foo.txt" is valid, "file://foo.txt" is not, although some interpreters manage to handle the latter)
	[http://en.wikipedia.org/wiki/File_URI_scheme]

	Activation will also work now with URLFileQuoteSpaces=1 (default=0)

	Note that URLFileQuoteSpaces and URLFileNoPrefix are INI Options included in early versions of KeyNote mostly with
	XP in mind. Currently there is no necessity of modifying their default values:
	URLFileNoPrefix=1
	URLFileQuoteSpaces=0

* Simplify insertion of external files links on plain text notes

  Instead of using something like:
  'E:\readme.txt' (file:///E:\readme.txt)

  Use simply:
  file:///E:\readme.txt


* Fixed: Insertion of KNT Links in plain text note should use new style

   The new style uses note and node IDs instead of names. More robust.

   Instead of inserting like this:
    'MyNOTE/NodeB' (file:///?MyNOTE|NodeB|693|0|1)

   Now it will insert:
   'MyNOTE/NodeB' (file:///*14|1|693|0|1)

   In both cases Prompt action (eg. rigth click) will open Choose Action for Hyperlink dialog, where we 
   will see the full path of the target.


* Fixed: Corrected the interpretation of several KNT Links variants

	Revised the interpretation of:
	NodeID:
	 If the target note is a simple note, the NodeID section will be ignored
	 If the target note is a tree type note, a blank, <=0 or not valid integer value will be ignored.
	 The link will point directly to the note, without changing current selected node.

	CaretPosition:
	  A negative value means not to change it.

	SelectionLength:
	  A negative value means not to change current selection.

	For example:

	file:///*1|12|30
	...in current file, switch to the note with ID=1, select the node with ID=12 in the tree, and place the cursor on the 30th character, with no characters selected.

	file:///*1|12|-1
	...same as above, but without changing cursor position

	file:///*1|12|-1|-1
	...same as above, but without altering the current selected text

	file:///*1
	...in current file, switch to the note with ID = 1. Place the cursor at the start of the current selected node (or the simple note), with no characters selected.

	file:///*1||0
	...same as above

	file:///*1||40
	...in current file, switch to the note with ID = 1. Place the cursor on the 40th character of the current selected node, with no characters selected.

	file:///*1|-1|40
	...same as above

	file:///*1||-1
	...same as above, but without changing cursor position

	file:///*1||-1|-1
	...same as above, but without altering the current selected text

	Also valid with old format style. Example:
	file:///?MyNote
	file:///?MyNote||-1

