Implement project file format 1.4 (#993)
* Update the item class with more compact item storage format * Bump version and file version * Update tests * Add explicit test coverage for format conversions for item class * Update the documentation
This commit is contained in:
committed by
GitHub
parent
be703c1f46
commit
045a595537
+66
-204
@@ -1,12 +1,12 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<novelWriterXML appVersion="1.5-alpha0" hexVersion="0x010500a0" fileVersion="1.3" timeStamp="2021-08-02 17:47:39">
|
||||
<novelWriterXML appVersion="1.7-alpha0" hexVersion="0x010700a0" fileVersion="1.4" timeStamp="2022-02-17 22:04:38">
|
||||
<project>
|
||||
<name>Lorem Ipsum</name>
|
||||
<title>Lorem Ipsum</title>
|
||||
<author>lipsum.com</author>
|
||||
<saveCount>17</saveCount>
|
||||
<saveCount>21</saveCount>
|
||||
<autoCount>24</autoCount>
|
||||
<editTime>1777</editTime>
|
||||
<editTime>1847</editTime>
|
||||
</project>
|
||||
<settings>
|
||||
<doBackup>False</doBackup>
|
||||
@@ -44,227 +44,89 @@
|
||||
</importance>
|
||||
</settings>
|
||||
<content count="21">
|
||||
<item handle="b3643d0f92e32" order="0" parent="None">
|
||||
<name>Novel</name>
|
||||
<type>ROOT</type>
|
||||
<class>NOVEL</class>
|
||||
<status>New</status>
|
||||
<expanded>True</expanded>
|
||||
<item handle="b3643d0f92e32" parent="None" order="0" type="ROOT" class="NOVEL">
|
||||
<meta expanded="True"/>
|
||||
<name status="New">Novel</name>
|
||||
</item>
|
||||
<item handle="7a992350f3eb6" order="0" parent="b3643d0f92e32">
|
||||
<name>Lorem Ipsum</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Finished</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>230</charCount>
|
||||
<wordCount>40</wordCount>
|
||||
<paraCount>3</paraCount>
|
||||
<cursorPos>148</cursorPos>
|
||||
<item handle="7a992350f3eb6" parent="b3643d0f92e32" order="0" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="230" wordCount="40" paraCount="3" cursorPos="148"/>
|
||||
<name status="Finished" exported="True">Lorem Ipsum</name>
|
||||
</item>
|
||||
<item handle="8c58a65414c23" order="1" parent="b3643d0f92e32">
|
||||
<name>Front Matter</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Finished</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>1058</charCount>
|
||||
<wordCount>176</wordCount>
|
||||
<paraCount>2</paraCount>
|
||||
<cursorPos>43</cursorPos>
|
||||
<item handle="8c58a65414c23" parent="b3643d0f92e32" order="1" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="1058" wordCount="176" paraCount="2" cursorPos="43"/>
|
||||
<name status="Finished" exported="True">Front Matter</name>
|
||||
</item>
|
||||
<item handle="88d59a277361b" order="2" parent="b3643d0f92e32">
|
||||
<name>Prologue</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Draft</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>584</charCount>
|
||||
<wordCount>92</wordCount>
|
||||
<paraCount>1</paraCount>
|
||||
<cursorPos>4</cursorPos>
|
||||
<item handle="88d59a277361b" parent="b3643d0f92e32" order="2" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="584" wordCount="92" paraCount="1" cursorPos="4"/>
|
||||
<name status="Draft" exported="True">Prologue</name>
|
||||
</item>
|
||||
<item handle="db7e733775d4d" order="3" parent="b3643d0f92e32">
|
||||
<name>Act One</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>New</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>35</charCount>
|
||||
<wordCount>6</wordCount>
|
||||
<paraCount>1</paraCount>
|
||||
<cursorPos>42</cursorPos>
|
||||
<item handle="db7e733775d4d" parent="b3643d0f92e32" order="3" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="35" wordCount="6" paraCount="1" cursorPos="42"/>
|
||||
<name status="New" exported="True">Act One</name>
|
||||
</item>
|
||||
<item handle="45e6b01ca35c1" order="4" parent="b3643d0f92e32">
|
||||
<name>Chapter One</name>
|
||||
<type>FOLDER</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Draft</status>
|
||||
<expanded>True</expanded>
|
||||
<item handle="45e6b01ca35c1" parent="b3643d0f92e32" order="4" type="FOLDER" class="NOVEL">
|
||||
<meta expanded="True"/>
|
||||
<name status="Draft">Chapter One</name>
|
||||
</item>
|
||||
<item handle="fb609cd8319dc" order="0" parent="45e6b01ca35c1">
|
||||
<name>Chapter One</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Draft</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>419</charCount>
|
||||
<wordCount>67</wordCount>
|
||||
<paraCount>1</paraCount>
|
||||
<cursorPos>56</cursorPos>
|
||||
<item handle="fb609cd8319dc" parent="45e6b01ca35c1" order="0" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="419" wordCount="67" paraCount="1" cursorPos="56"/>
|
||||
<name status="Draft" exported="True">Chapter One</name>
|
||||
</item>
|
||||
<item handle="88243afbe5ed8" order="1" parent="45e6b01ca35c1">
|
||||
<name>Scene One</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Finished</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>2758</charCount>
|
||||
<wordCount>404</wordCount>
|
||||
<paraCount>4</paraCount>
|
||||
<cursorPos>1528</cursorPos>
|
||||
<item handle="88243afbe5ed8" parent="45e6b01ca35c1" order="1" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="2758" wordCount="404" paraCount="4" cursorPos="1528"/>
|
||||
<name status="Finished" exported="True">Scene One</name>
|
||||
</item>
|
||||
<item handle="f96ec11c6a3da" order="2" parent="45e6b01ca35c1">
|
||||
<name>Scene Two</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Finished</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>4043</charCount>
|
||||
<wordCount>600</wordCount>
|
||||
<paraCount>6</paraCount>
|
||||
<cursorPos>2335</cursorPos>
|
||||
<item handle="f96ec11c6a3da" parent="45e6b01ca35c1" order="2" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="4043" wordCount="600" paraCount="6" cursorPos="2335"/>
|
||||
<name status="Finished" exported="True">Scene Two</name>
|
||||
</item>
|
||||
<item handle="846352075de7d" order="5" parent="b3643d0f92e32">
|
||||
<name>Interlude</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>New</status>
|
||||
<exported>False</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>631</charCount>
|
||||
<wordCount>109</wordCount>
|
||||
<paraCount>3</paraCount>
|
||||
<cursorPos>376</cursorPos>
|
||||
<item handle="846352075de7d" parent="b3643d0f92e32" order="5" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="631" wordCount="109" paraCount="3" cursorPos="376"/>
|
||||
<name status="New" exported="False">Interlude</name>
|
||||
</item>
|
||||
<item handle="6bd935d2490cd" order="6" parent="b3643d0f92e32">
|
||||
<name>Chapter Two</name>
|
||||
<type>FOLDER</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Draft</status>
|
||||
<expanded>True</expanded>
|
||||
<item handle="6bd935d2490cd" parent="b3643d0f92e32" order="6" type="FOLDER" class="NOVEL">
|
||||
<meta expanded="True"/>
|
||||
<name status="Draft">Chapter Two</name>
|
||||
</item>
|
||||
<item handle="441420a886d82" order="0" parent="6bd935d2490cd">
|
||||
<name>Chapter Two</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Draft</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>477</charCount>
|
||||
<wordCount>70</wordCount>
|
||||
<paraCount>1</paraCount>
|
||||
<cursorPos>56</cursorPos>
|
||||
<item handle="441420a886d82" parent="6bd935d2490cd" order="0" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="477" wordCount="70" paraCount="1" cursorPos="56"/>
|
||||
<name status="Draft" exported="True">Chapter Two</name>
|
||||
</item>
|
||||
<item handle="eb103bc70c90c" order="1" parent="6bd935d2490cd">
|
||||
<name>Scene Three</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Finished</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>3006</charCount>
|
||||
<wordCount>439</wordCount>
|
||||
<paraCount>4</paraCount>
|
||||
<cursorPos>57</cursorPos>
|
||||
<item handle="eb103bc70c90c" parent="6bd935d2490cd" order="1" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="3006" wordCount="439" paraCount="4" cursorPos="57"/>
|
||||
<name status="Finished" exported="True">Scene Three</name>
|
||||
</item>
|
||||
<item handle="f8c0562e50f1b" order="2" parent="6bd935d2490cd">
|
||||
<name>Scene Four</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Finished</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>3839</charCount>
|
||||
<wordCount>563</wordCount>
|
||||
<paraCount>6</paraCount>
|
||||
<cursorPos>56</cursorPos>
|
||||
<item handle="f8c0562e50f1b" parent="6bd935d2490cd" order="2" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="3839" wordCount="563" paraCount="6" cursorPos="56"/>
|
||||
<name status="Finished" exported="True">Scene Four</name>
|
||||
</item>
|
||||
<item handle="47666c91c7ccf" order="3" parent="6bd935d2490cd">
|
||||
<name>Scene Five</name>
|
||||
<type>FILE</type>
|
||||
<class>NOVEL</class>
|
||||
<status>Finished</status>
|
||||
<exported>True</exported>
|
||||
<layout>DOCUMENT</layout>
|
||||
<charCount>3644</charCount>
|
||||
<wordCount>543</wordCount>
|
||||
<paraCount>5</paraCount>
|
||||
<cursorPos>351</cursorPos>
|
||||
<item handle="47666c91c7ccf" parent="6bd935d2490cd" order="3" type="FILE" class="NOVEL" layout="DOCUMENT">
|
||||
<meta charCount="3644" wordCount="543" paraCount="5" cursorPos="351"/>
|
||||
<name status="Finished" exported="True">Scene Five</name>
|
||||
</item>
|
||||
<item handle="67a8707f2f249" order="1" parent="None">
|
||||
<name>Characters</name>
|
||||
<type>ROOT</type>
|
||||
<class>CHARACTER</class>
|
||||
<status>New</status>
|
||||
<expanded>True</expanded>
|
||||
<item handle="67a8707f2f249" parent="None" order="1" type="ROOT" class="CHARACTER">
|
||||
<meta expanded="True"/>
|
||||
<name status="New">Characters</name>
|
||||
</item>
|
||||
<item handle="4c4f28287af27" order="0" parent="67a8707f2f249">
|
||||
<name>Mr. Nobody</name>
|
||||
<type>FILE</type>
|
||||
<class>CHARACTER</class>
|
||||
<status>Major</status>
|
||||
<exported>True</exported>
|
||||
<layout>NOTE</layout>
|
||||
<charCount>1864</charCount>
|
||||
<wordCount>284</wordCount>
|
||||
<paraCount>3</paraCount>
|
||||
<cursorPos>1883</cursorPos>
|
||||
<item handle="4c4f28287af27" parent="67a8707f2f249" order="0" type="FILE" class="CHARACTER" layout="NOTE">
|
||||
<meta charCount="1864" wordCount="284" paraCount="3" cursorPos="1883"/>
|
||||
<name status="Major" exported="True">Mr. Nobody</name>
|
||||
</item>
|
||||
<item handle="6c6afb1247750" order="2" parent="None">
|
||||
<name>Plot</name>
|
||||
<type>ROOT</type>
|
||||
<class>PLOT</class>
|
||||
<status>New</status>
|
||||
<expanded>True</expanded>
|
||||
<item handle="6c6afb1247750" parent="None" order="2" type="ROOT" class="PLOT">
|
||||
<meta expanded="True"/>
|
||||
<name status="New">Plot</name>
|
||||
</item>
|
||||
<item handle="2426c6f0ca922" order="0" parent="6c6afb1247750">
|
||||
<name>Main</name>
|
||||
<type>FILE</type>
|
||||
<class>PLOT</class>
|
||||
<status>Main</status>
|
||||
<exported>True</exported>
|
||||
<layout>NOTE</layout>
|
||||
<charCount>1369</charCount>
|
||||
<wordCount>195</wordCount>
|
||||
<paraCount>2</paraCount>
|
||||
<cursorPos>1387</cursorPos>
|
||||
<item handle="2426c6f0ca922" parent="6c6afb1247750" order="0" type="FILE" class="PLOT" layout="NOTE">
|
||||
<meta charCount="1369" wordCount="195" paraCount="2" cursorPos="1387"/>
|
||||
<name status="Main" exported="True">Main</name>
|
||||
</item>
|
||||
<item handle="60bdf227455cc" order="3" parent="None">
|
||||
<name>World</name>
|
||||
<type>ROOT</type>
|
||||
<class>WORLD</class>
|
||||
<status>New</status>
|
||||
<expanded>True</expanded>
|
||||
<item handle="60bdf227455cc" parent="None" order="3" type="ROOT" class="WORLD">
|
||||
<meta expanded="True"/>
|
||||
<name status="New">World</name>
|
||||
</item>
|
||||
<item handle="04468803b92e1" order="0" parent="60bdf227455cc">
|
||||
<name>Ancient Europe</name>
|
||||
<type>FILE</type>
|
||||
<class>WORLD</class>
|
||||
<status>Minor</status>
|
||||
<exported>True</exported>
|
||||
<layout>NOTE</layout>
|
||||
<charCount>1770</charCount>
|
||||
<wordCount>259</wordCount>
|
||||
<paraCount>3</paraCount>
|
||||
<cursorPos>1792</cursorPos>
|
||||
<item handle="04468803b92e1" parent="60bdf227455cc" order="0" type="FILE" class="WORLD" layout="NOTE">
|
||||
<meta charCount="1770" wordCount="259" paraCount="3" cursorPos="1792"/>
|
||||
<name status="Minor" exported="True">Ancient Europe</name>
|
||||
</item>
|
||||
</content>
|
||||
</novelWriterXML>
|
||||
|
||||
Reference in New Issue
Block a user