diff --git a/README.md b/README.md
index df3293f6..236d1e90 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,8 @@ This project is an evolution of Tranglos Keynote (of Marek Jedlinski), with new
* Excerpts from the note of the matches found are displayed, where the searched words are highlighted
* The treatment of the options 'All the words' and 'Any of the words' is extended
* Added new option: "Current node and subtree"
+ * Added new options to restrict search depending on checked status of nodes
+ * Added new options to define search scope, allowing to restrict search to node names
* *Improved treatment of links, and new internal KNT links*, vinculated to markers, not only to caret position
@@ -32,8 +34,13 @@ This project is an evolution of Tranglos Keynote (of Marek Jedlinski), with new
* *Better treatment of tables*
+ * *Improved Export*
+ * Added new tokens and options for note/node heading
+ * Added new options for indenting nested nodes
+
* *Checkboxes on children of selected nodes*
- Selecting checkboxes for all nodes (View/Tree Checkboxes -- now View/All nodes Checkboxes) is still posible. Besides, checkboxes can be shown only on children of selected nodes (Children Checkbox)
+ * Selecting checkboxes for all nodes (View/Tree Checkboxes -- now View/All nodes Checkboxes) is still posible. Besides, checkboxes can be shown only on children of selected nodes (Children Checkbox)
+ * Added options in treeview context menu to hide/show child nodes based on checked status
* *Hidden nodes*
Capacity to work with hidden nodes. Nodes can be hidden in two ways:
* Activating a mode wich automatically hides checked nodes (Show or Hide checked nodes)
diff --git a/Setup.iss b/Setup.iss
index 7cb62ff7..32ebd990 100644
--- a/Setup.iss
+++ b/Setup.iss
@@ -4,8 +4,8 @@
#define AppName "KeyNote NF"
#define AppFileExe "keynote.exe"
-#define Version "1.8.2.1"
-#define AppVersion "1.8.2 .01"
+#define Version "1.8.3.1"
+#define AppVersion "1.8.3 .01"
;#define AppVersion GetVersionNumbersString("..\Output\bin\keynote.exe")
#define DefaultProfile "{app}\Profiles\Default"
@@ -16,8 +16,8 @@
[Setup]
-TouchDate=2023-12-23
-TouchTime=23:00
+TouchDate=2023-12-29
+TouchTime=16:00
AppName={#AppName}
AppVersion={#AppVersion}
VersionInfoVersion={#Version}
@@ -138,6 +138,8 @@ Source: "doc\kn_fileformat\fileformat_readme.txt"; DestDir: "{app}\doc" ; Compon
Source: "misc_files\wordweb.txt"; DestDir: "{app}\doc" ; Components: main
Source: "doc\Changes in 1.8.0 Beta1-6.txt"; DestDir: "{app}\doc" ; Components: main
Source: "doc\Changes in 1.8.1 Beta1-6.txt"; DestDir: "{app}\doc" ; Components: main
+Source: "doc\Changes in 1.8.2 .01.txt"; DestDir: "{app}\doc" ; Components: main
+Source: "doc\Changes in 1.8.3 .01.txt"; DestDir: "{app}\doc" ; Components: main
Source: "doc\Images_Readme.txt"; DestDir: "{app}\doc" ; Components: main
Source: "doc\dart.txt"; DestDir: "{app}\doc" ; Components: main
Source: "doc\dart_format.txt"; DestDir: "{app}\doc" ; Components: main
diff --git a/doc/Changes in 1.8.3 .01.txt b/doc/Changes in 1.8.3 .01.txt
new file mode 100644
index 00000000..95ffdc2a
--- /dev/null
+++ b/doc/Changes in 1.8.3 .01.txt
@@ -0,0 +1,95 @@
+
+Changes in 1.8.3 .01 (29 dec 2023)
+=================================
+
+* Fixed: Paste operation could keep text selected in certain situations (see implications on ClipCap )
+ In .knt files with new image storage mode (other than smEmbeddedRTF), when pasting RTF text in plain mode,
+ the text could stay selected.
+ As a result, if using ClipCap mode, the new copied text was replaced before pasting (in the ClipCap destination note)
+
+* Improvement in Export: Added new tokens and options for note/node heading
+ - When exporting the highest node level will be managed as 1, the next as 2, and so on.
+ - Added three new tokens:
+ %^ -> line break
+ %> -> add symbols until heading reach a calculated length, based on level (decreasing)
+ %< -> add symbols based on level (increasing)
+
+ And five new options:
+ - NodeLevelTemplates
+ Enable the use of node templates based on level, of the form 'nodehead_1.rtf', 'nodehead_2.rtf'
+
+ - SymbolsInHeading
+ Determines which symbols to repeat in the %> and %< tokens
+
+ - LengthsHeading
+ Text string that determines the number of repetitions of the symbol corresponding to the level to be used with the %> token.
+ It is defined from a length to be obtained for the header at the level, using a maximum value, a decrement and a minimum value.
+
+ - AutoFontSizesInHeading
+ Enables setting the font size automatically, from the following option:
+
+ - FontSizesInHeading
+ String that determines the font size to use in a header according to its level (also considering the note), using a maximum value, a decrement and a minimum value
+
+ More detail and screenshots in:
+ https://github.com/dpradov/keynote-nf/issues/573#issuecomment-1870620841
+ https://github.com/dpradov/keynote-nf/issues/573#issuecomment-1872048118
+
+
+* Export Improvement: Added new options for indenting nested nodes
+ Added two general export options:
+ - Indent nodes
+ Enable the indentation of nested nodes
+
+ - Indents by
+ Value to be used, in a incrementally way, with each new level.
+ This value is similar to the one used as general configuration in "Increment indents by", in
+ Tools|Configuration Options..|Rich Text editor
+
+ Added screenshots in https://github.com/dpradov/keynote-nf/issues/573#issuecomment-1871124640
+
+ And another two options for exporting indenting nested nodes in plain text:
+ - IndentUsingTabs
+ If checked, the indentation will be with the TAB (#9) characters. If unchecked, multiple spaces
+ will be used for each level of indentation. The number of spaces to use if not checked will be the
+ one define in "Tab size", in the Note properties.
+
+ - NumbTabInPlainText [only editable in .INI file]
+ Allows replacing the TAB character always used when pasting numbering lists as plain text
+ (system conversion) by an alternative string. By default a space " " is defined.
+
+ The paragraphs of each node will be indented by the value defined in "Indent by" multiplied with
+ its node level, added to the indentation they may have (as it is done when exporting to other formats).
+ The resulting value, together with "Increment indents by" (in Tools | Configuration Options.. | Rich Text editor)
+ isused to determine how much 'tabs' to apply:
+ Number of 'tabs' = [Indentation value] div [Increment indents by]
+
+ Ex. Suppose [Increment indents by] = 12 and a paragraph in a node of level 2, not previously indented:
+ if [Indents by] = 24 => (0 + (24*2))/12 => indented with 4 'tabs' (2 'tabs' for each level)
+
+ If the paragraph was previously indented with a value of 14:
+ if [Indents by] = 24 => (14 + (24*2))/12 => indented with 5 'tabs' (2 'tabs' for each level + extra tab)
+
+ Added example screenshots in https://github.com/dpradov/keynote-nf/issues/573#issuecomment-1871872205
+
+
+* BulletsInPlainText (.INI) now defaults to '- '
+
+* Image Viewer now allows to scroll through the images of the current node (or note)
+ By default, navigation toolbar buttons will show previous or next image instance in the node (or note)
+ where the selected image is inserted
+ If click with CTRL then it will show image with previous or next ID (in the whole .knt file)
+ As described here: https://github.com/dpradov/keynote-nf/issues/623#issuecomment-1826281735
+
+* Improvement: ApplyStyle can now be reverted with just 1 or 2 undo operations
+ Currently, to revert a combined style applied (font and paragraph) 18 undo operations where needed
+
+* Corrected TAB order in Paragraph form
+
+* Fixed: Pasting format could hide the text where it was applied, if copied from a line starting with a hyperlink
+ Suppose a line beginning with a hyperlink:
+ MyHyperlink Normal Text, no in the hyperlink
+ Target text
+
+ If we copied the format from the first line, starting from the beginning of the line, and then pasted that
+ format over another text (eg. "Target text"), that target text aparently was removed. Was not removed, but hidden...
diff --git a/doc/history.txt b/doc/history.txt
index 3f932526..4af73d70 100644
--- a/doc/history.txt
+++ b/doc/history.txt
@@ -1,9 +1,24 @@
-Thanks for using KeyNote NF. You can show your appreciation and support future development by donating!
+## Thanks for using KeyNote NF. You can show your appreciation and support future development by donating!
## Remember to make backups of .knt files. Recommended option: 'Backup at regular intervals'
+
+v 1.8.3 .01 (29 dec 2023)
+--------------------------
+(Detailed info in doc\Changes in 1.8.3 .01.txt)
+* Fixed: Paste operation could keep text selected in certain situations, afecting to ClipCap
+* Export Improvement: Added new tokens and options for note/node heading
+* Export Improvement: Added new options for indenting nested nodes
+* BulletsInPlainText (.INI) now defaults to '- '
+* Image Viewer now allows to scroll through the images of the current node (or note)
+* Improvement: ApplyStyle can now be reverted with just 1 or 2 undo operations
+* Corrected TAB order in Paragraph form
+* Fixed: Pasting format could hide the text where it was applied, if copied from a line starting with a hyperlink
+
+
v 1.8.2 .01 (23 dec 2023)
--------------------------
+(Detailed info in doc\Changes in 1.8.2 .01.txt)
* New: Added options in treeview context menu to hide/show child nodes based on checked status
* Improvement in Find All. Added 'Check mode', with three options
* Improvement in Find All: replaced 'Search node names' option with 'Search Scope'
diff --git a/general/kn_Const.pas b/general/kn_Const.pas
index 33c0c91f..4af2c0e0 100644
--- a/general/kn_Const.pas
+++ b/general/kn_Const.pas
@@ -119,9 +119,9 @@ procedure DefineConst;
const
Program_Name = 'KeyNote NF';
- Program_Version = '1.8.2 .01';
- Program_Version_Number = '1.8.2.1';
- Program_Version_Date = '23/12/2023';
+ Program_Version = '1.8.3 .01';
+ Program_Version_Number = '1.8.3.1';
+ Program_Version_Date = '29/12/2023';
Program_License = 'Free software, Open Source (Mozilla Public License 2.0)';
Program_URL = 'https://github.com/dpradov/keynote-nf'; //'http://keynote.prv.pl';
diff --git a/keynote.dproj b/keynote.dproj
index 460a5a65..920c5ce6 100644
--- a/keynote.dproj
+++ b/keynote.dproj
@@ -3,7 +3,7 @@
{D8BB21C7-F08A-4EC5-AA3A-B61205ECD2B8}
keynote.dpr
True
- Debug
+ Release
32769
Application
VCL
@@ -119,8 +119,8 @@
gdiScaling
8
- 2
- CompanyName=;FileDescription=KeyNote NF 1.8.2 .01;FileVersion=1.8.2.1;InternalName=;LegalCopyright=(c) Daniel Prado 2007-23 (c) Marek Jedlinski 2000-05;LegalTrademarks=Free software, MPL 2.0;OriginalFilename=keynote.exe;ProductName=KeyNote NF (New Features);ProductVersion=1.8.2.1;Comments=;ProgramID=
+ 3
+ CompanyName=;FileDescription=KeyNote NF 1.8.3 .01;FileVersion=1.8.3.1;InternalName=;LegalCopyright=(c) Daniel Prado 2007-23 (c) Marek Jedlinski 2000-05;LegalTrademarks=Free software, MPL 2.0;OriginalFilename=keynote.exe;ProductName=KeyNote NF (New Features);ProductVersion=1.8.3.1;Comments=;ProgramID=
VCL;$(DCC_Define)
1
@@ -137,8 +137,8 @@
gdiScaling
8
- 2
- CompanyName=;FileDescription=KeyNote NF 1.8.2 .02;FileVersion=1.8.2.2;InternalName=;LegalCopyright=(c) Daniel Prado 2007-23 (c) Marek Jedlinski 2000-05;LegalTrademarks=Free software, MPL 2.0;OriginalFilename=keynote.exe;ProductName=KeyNote NF (New Features);ProductVersion=1.8.2.2;Comments=;ProgramID=
+ 3
+ CompanyName=;FileDescription=KeyNote NF 1.8.3 .01;FileVersion=1.8.3.1;InternalName=;LegalCopyright=(c) Daniel Prado 2007-23 (c) Marek Jedlinski 2000-05;LegalTrademarks=Free software, MPL 2.0;OriginalFilename=keynote.exe;ProductName=KeyNote NF (New Features);ProductVersion=1.8.3.1;Comments=;ProgramID=
VCL;$(DCC_Define)
true
keynote_Icon.ico
@@ -148,7 +148,7 @@
true
true
Profiles\F9\keynote.ini
- 2
+ 1
diff --git a/keynote.res b/keynote.res
index 944932ec..4ef3791b 100644
Binary files a/keynote.res and b/keynote.res differ