Merge branch 'testing' into dev
This commit is contained in:
@@ -2,103 +2,14 @@
|
||||
<html>
|
||||
<body>
|
||||
|
||||
|
||||
<h2>Release Notes for 1.2.2</h2>
|
||||
<h2>Release Notes for 1.3 Beta 1</h2>
|
||||
<p><i>Released on 28 March 2021</i></p>
|
||||
<p>This patch release is a bug fix release addressing some inconsistencies and issues with the
|
||||
document header buttons when Focus Mode is active. The keyboard shortcuts for search and replace
|
||||
should now also work in Focus Mode. In addition, the setup script for novelWriter has been improved
|
||||
when installing on Windows.</p>
|
||||
<p>This is a pre-release of 1.3. The primary feature of release 1.3 is the addition of
|
||||
internationalisation (i18n) of novelWriter. The release introduces support for Portuguese, French,
|
||||
and Norwegian in addition to the default English.</p>
|
||||
<p>This is a beta release. Use with caution on live project.</p>
|
||||
|
||||
<p><i>See also the <a href="https://github.com/vkbo/novelWriter/releases">Releases</a> page.</i></p>
|
||||
|
||||
<hr/>
|
||||
|
||||
<h2>Release Notes for 1.2.1</h2>
|
||||
<p><i>Released on 21 March 2021</i></p>
|
||||
<p>This patch release is a bug fix release addressing issues with the document editor's search and
|
||||
replace tool. Due to some recently added restrictions on when various tools are active, depending
|
||||
on which part of the main window has the user's focus, the search tool keyboard shortcuts and
|
||||
buttons were blocked when they shouldn't. This release resolves these issues.</p>
|
||||
|
||||
<hr/>
|
||||
|
||||
<h2>Release Notes for 1.2</h2>
|
||||
<p><i>Released on 14 March 2021</i></p>
|
||||
<p>This release is mainly focused on the Build Novel Project tool. Completely new export classes
|
||||
have been written to support Open Document and Markdown exports. In addition, the way document
|
||||
layouts are handled have been automated a little to assist the user in keeping header levels and
|
||||
document layout flags in sync. The third new additoion is the ability to record and log idle time
|
||||
during a writing session to improve the writing statistics information as requested by several
|
||||
users. Finally, it is now possible to directly edit the project dictionary via a new, simple GUI
|
||||
dialog.</p>
|
||||
|
||||
<h3>The Build Novel Project Tool</h3>
|
||||
<p>The main changes for this release are to the Build Novel Project tool. The Open Document export,
|
||||
as well as the Markdown export, is now handled entirely by code written for novelWriter.
|
||||
Previously, these export features depended on the underlying Qt library's save routines connected
|
||||
to the preview document shown in the build dialog. Using this method of export both meant that the
|
||||
content of the document was dependent on the preview being generated first, and it also meant that
|
||||
the exported document had limited support for novelWriter-specific features and custom formatting.
|
||||
The new export class should generate a much better result, especially for the Open Document
|
||||
formats. The Open Document standard is supported by Open Office, Libre Office, Google Docs,
|
||||
Microsoft Word, and probably a number of other applications too. The Markdown export hasn't changed
|
||||
a lot, but should be a slight improvement on the previous export feature.</p>
|
||||
<p>These changes to the build tool also imply that the saving process is now independent of the
|
||||
content of the preview window, meaning you don't have to rebuild the preview before saving, which
|
||||
was previously the case. To make this more consistent, the PDF export option has been moved to the
|
||||
print button as it is actually a print-to-file feature under the hood, not technically a proper PDF
|
||||
export format. It is exactly the same as printing to file from the print preview dialog.</p>
|
||||
<p>In addition to the changes to the export features, the Build Novel Project tool now also has
|
||||
controls for line height, which applies to all rich text export formats, and the option to replace
|
||||
unicode characters with appropriate html entities for html export.</p>
|
||||
|
||||
<h3>Document Layout Automation</h3>
|
||||
<p>Among other changes in this release are a few improvements to the process of creating and
|
||||
changing documents. When a new document is first created, the header is generated from the assigned
|
||||
label and layout.</p>
|
||||
<p>In addition, for some document layouts, when the user changes the header level of the first
|
||||
header of the document, the document layout setting is updated accordingly. This should reduce the
|
||||
need for the user to maintain two ways of assigning the role of a given document. This automation
|
||||
only applies to combinations of header level and current document layouts where there is no
|
||||
ambiguity. For instance, changing the header level in a "Scene" document from level 3 to 2 changes
|
||||
the document layout automatically to "Chapter". But changing the first header of a "Book" layout
|
||||
document from 1 to 2 does not change the document's layout as the "Book" layout is a generic
|
||||
document layout and it's perfectly reasonable for its first header to be a chapter header.</p>
|
||||
<p>Keep in mind that novelWriter treats documents with layout "Book", "Chapter" and "Scene" exactly
|
||||
the same during exports. The distinction is only meant as a way to indicate the purpose of a
|
||||
document in the project tree. This new automation is meant to assist in keeping this information up
|
||||
to date. The other layouts do have an effect on formatting during export, and are generally left
|
||||
alone.</p>
|
||||
|
||||
<h3>The Session Timer and Idle Time</h3>
|
||||
<p>Another change that has been requested by a couple of users is to have the session timer in the
|
||||
status bar stop counting when the user is inactive (idle). This feature is optional, and can be
|
||||
controlled from Preferences. The definition of "idle" in this context is either that the user is
|
||||
active in a different application than novelWriter (loss of focus) or that the user has not made
|
||||
any changes to the current document for a given amount of time. The time threshold is by default
|
||||
five minutes, but can be altered in Preferences.</p>
|
||||
<p>In addition, the idle time is also recorded in the session log, and can be viewed in the Writing
|
||||
Statistics dialog and exported with the rest of the information. The idle time is recorder in the
|
||||
logs regardless of whether the status bar clock takes idle time into consideration or not. So even
|
||||
if you turn off the idle time switch in Preferences, the other idle time setting still affects the
|
||||
writing stats log entries.</p>
|
||||
|
||||
<h3>Other Changes</h3>
|
||||
<p>The user dictionary of the project, where words added to the dictionary from the document editor
|
||||
go, can now be viewed and edited with a new "Project Word List" tool in the "Tools" menu.</p>
|
||||
<p>A small additional feature added is also the ability to undo the last move of an item in the
|
||||
project tree. The keyboard shortcut for this is `Ctrl+Shift+Z`, or it can be accessed from the
|
||||
menu. The feature can only undo the last move, but it includes both documents moved to trash, moves
|
||||
by up/down keypress or menu entries, and drag and drop moves.</p>
|
||||
<p>A new keyword has been added to mark characters in the story. The new keyword is intended to tag
|
||||
a character as the focus character for a chapter or scene. This is useful for stories where the
|
||||
point-of-view character and the focus character are different.</p>
|
||||
<p>Lastly, two bugfixes have been made as well. The Empty Trash feature was no longer working due
|
||||
to an earlier fix solving another issue. The feature has now been restored. In addition, the
|
||||
indexer now checks that a keyword (tag or reference) is valid before saving it to the index.
|
||||
Previously, an invalid keyword could be saved to the index and potentially crash the application.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<body>
|
||||
|
||||
|
||||
<h2>Release Notes for 1.2.2</h2>
|
||||
<p><i>Released on 28 March 2021</i></p>
|
||||
<p>This patch release is a bug fix release addressing some inconsistencies and issues with the
|
||||
document header buttons when Focus Mode is active. The keyboard shortcuts for search and replace
|
||||
should now also work in Focus Mode. In addition, the setup script for novelWriter has been improved
|
||||
when installing on Windows.</p>
|
||||
|
||||
<p><i>See also the <a href="https://github.com/vkbo/novelWriter/releases">Releases</a> page.</i></p>
|
||||
|
||||
<hr/>
|
||||
|
||||
<h2>Release Notes for 1.2.1</h2>
|
||||
<p><i>Released on 21 March 2021</i></p>
|
||||
<p>This patch release is a bug fix release addressing issues with the document editor's search and
|
||||
replace tool. Due to some recently added restrictions on when various tools are active, depending
|
||||
on which part of the main window has the user's focus, the search tool keyboard shortcuts and
|
||||
buttons were blocked when they shouldn't. This release resolves these issues.</p>
|
||||
|
||||
<hr/>
|
||||
|
||||
<h2>Release Notes for 1.2</h2>
|
||||
<p><i>Released on 14 March 2021</i></p>
|
||||
<p>This release is mainly focused on the Build Novel Project tool. Completely new export classes
|
||||
have been written to support Open Document and Markdown exports. In addition, the way document
|
||||
layouts are handled have been automated a little to assist the user in keeping header levels and
|
||||
document layout flags in sync. The third new additoion is the ability to record and log idle time
|
||||
during a writing session to improve the writing statistics information as requested by several
|
||||
users. Finally, it is now possible to directly edit the project dictionary via a new, simple GUI
|
||||
dialog.</p>
|
||||
|
||||
<h3>The Build Novel Project Tool</h3>
|
||||
<p>The main changes for this release are to the Build Novel Project tool. The Open Document export,
|
||||
as well as the Markdown export, is now handled entirely by code written for novelWriter.
|
||||
Previously, these export features depended on the underlying Qt library's save routines connected
|
||||
to the preview document shown in the build dialog. Using this method of export both meant that the
|
||||
content of the document was dependent on the preview being generated first, and it also meant that
|
||||
the exported document had limited support for novelWriter-specific features and custom formatting.
|
||||
The new export class should generate a much better result, especially for the Open Document
|
||||
formats. The Open Document standard is supported by Open Office, Libre Office, Google Docs,
|
||||
Microsoft Word, and probably a number of other applications too. The Markdown export hasn't changed
|
||||
a lot, but should be a slight improvement on the previous export feature.</p>
|
||||
<p>These changes to the build tool also imply that the saving process is now independent of the
|
||||
content of the preview window, meaning you don't have to rebuild the preview before saving, which
|
||||
was previously the case. To make this more consistent, the PDF export option has been moved to the
|
||||
print button as it is actually a print-to-file feature under the hood, not technically a proper PDF
|
||||
export format. It is exactly the same as printing to file from the print preview dialog.</p>
|
||||
<p>In addition to the changes to the export features, the Build Novel Project tool now also has
|
||||
controls for line height, which applies to all rich text export formats, and the option to replace
|
||||
unicode characters with appropriate html entities for html export.</p>
|
||||
|
||||
<h3>Document Layout Automation</h3>
|
||||
<p>Among other changes in this release are a few improvements to the process of creating and
|
||||
changing documents. When a new document is first created, the header is generated from the assigned
|
||||
label and layout.</p>
|
||||
<p>In addition, for some document layouts, when the user changes the header level of the first
|
||||
header of the document, the document layout setting is updated accordingly. This should reduce the
|
||||
need for the user to maintain two ways of assigning the role of a given document. This automation
|
||||
only applies to combinations of header level and current document layouts where there is no
|
||||
ambiguity. For instance, changing the header level in a "Scene" document from level 3 to 2 changes
|
||||
the document layout automatically to "Chapter". But changing the first header of a "Book" layout
|
||||
document from 1 to 2 does not change the document's layout as the "Book" layout is a generic
|
||||
document layout and it's perfectly reasonable for its first header to be a chapter header.</p>
|
||||
<p>Keep in mind that novelWriter treats documents with layout "Book", "Chapter" and "Scene" exactly
|
||||
the same during exports. The distinction is only meant as a way to indicate the purpose of a
|
||||
document in the project tree. This new automation is meant to assist in keeping this information up
|
||||
to date. The other layouts do have an effect on formatting during export, and are generally left
|
||||
alone.</p>
|
||||
|
||||
<h3>The Session Timer and Idle Time</h3>
|
||||
<p>Another change that has been requested by a couple of users is to have the session timer in the
|
||||
status bar stop counting when the user is inactive (idle). This feature is optional, and can be
|
||||
controlled from Preferences. The definition of "idle" in this context is either that the user is
|
||||
active in a different application than novelWriter (loss of focus) or that the user has not made
|
||||
any changes to the current document for a given amount of time. The time threshold is by default
|
||||
five minutes, but can be altered in Preferences.</p>
|
||||
<p>In addition, the idle time is also recorded in the session log, and can be viewed in the Writing
|
||||
Statistics dialog and exported with the rest of the information. The idle time is recorder in the
|
||||
logs regardless of whether the status bar clock takes idle time into consideration or not. So even
|
||||
if you turn off the idle time switch in Preferences, the other idle time setting still affects the
|
||||
writing stats log entries.</p>
|
||||
|
||||
<h3>Other Changes</h3>
|
||||
<p>The user dictionary of the project, where words added to the dictionary from the document editor
|
||||
go, can now be viewed and edited with a new "Project Word List" tool in the "Tools" menu.</p>
|
||||
<p>A small additional feature added is also the ability to undo the last move of an item in the
|
||||
project tree. The keyboard shortcut for this is `Ctrl+Shift+Z`, or it can be accessed from the
|
||||
menu. The feature can only undo the last move, but it includes both documents moved to trash, moves
|
||||
by up/down keypress or menu entries, and drag and drop moves.</p>
|
||||
<p>A new keyword has been added to mark characters in the story. The new keyword is intended to tag
|
||||
a character as the focus character for a chapter or scene. This is useful for stories where the
|
||||
point-of-view character and the focus character are different.</p>
|
||||
<p>Lastly, two bugfixes have been made as well. The Empty Trash feature was no longer working due
|
||||
to an earlier fix solving another issue. The feature has now been restored. In addition, the
|
||||
indexer now checks that a keyword (tag or reference) is valid before saving it to the index.
|
||||
Previously, an invalid keyword could be saved to the index and potentially crash the application.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
+2
-3
@@ -31,9 +31,8 @@ from datetime import datetime
|
||||
from PyQt5.QtWidgets import qApp
|
||||
from PyQt5.QtCore import QCoreApplication
|
||||
|
||||
from nw.constants import (
|
||||
nwConst, nwUnicode, nwItemClass, nwItemType, nwItemLayout
|
||||
)
|
||||
from nw.enum import nwItemClass, nwItemType, nwItemLayout
|
||||
from nw.constants import nwConst, nwUnicode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-2
@@ -39,9 +39,9 @@ from PyQt5.QtCore import (
|
||||
QTranslator
|
||||
)
|
||||
|
||||
from nw.constants import nwConst, nwFiles, nwUnicode
|
||||
from nw.common import splitVersionNumber, formatTimeStamp
|
||||
from nw.error import logException
|
||||
from nw.common import splitVersionNumber, formatTimeStamp
|
||||
from nw.constants import nwConst, nwFiles, nwUnicode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -26,9 +26,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
from PyQt5.QtCore import QCoreApplication, QT_TRANSLATE_NOOP
|
||||
|
||||
from nw.constants.enum import (
|
||||
nwItemClass, nwItemLayout, nwItemType, nwOutline
|
||||
)
|
||||
from nw.enum import nwItemClass, nwItemLayout, nwItemType, nwOutline
|
||||
|
||||
def trConst(tString):
|
||||
"""Wrapper function for locally translating constants.
|
||||
@@ -1,30 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from nw.constants.constants import (
|
||||
trConst, nwConst, nwLists, nwRegEx, nwFiles, nwKeyWords, nwLabels,
|
||||
nwQuotes, nwUnicode, nwHtmlUnicode
|
||||
)
|
||||
from nw.constants.enum import (
|
||||
nwAlert, nwDocAction, nwItemClass, nwItemLayout, nwItemType, nwOutline,
|
||||
nwDocInsert, nwWidget
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"trConst",
|
||||
"nwConst",
|
||||
"nwLists",
|
||||
"nwRegEx",
|
||||
"nwFiles",
|
||||
"nwKeyWords",
|
||||
"nwLabels",
|
||||
"nwQuotes",
|
||||
"nwUnicode",
|
||||
"nwHtmlUnicode",
|
||||
"nwAlert",
|
||||
"nwDocAction",
|
||||
"nwItemClass",
|
||||
"nwItemLayout",
|
||||
"nwItemType",
|
||||
"nwOutline",
|
||||
"nwDocInsert",
|
||||
"nwWidget",
|
||||
]
|
||||
+1
-2
@@ -31,9 +31,8 @@ from functools import partial
|
||||
|
||||
from PyQt5.QtCore import QCoreApplication
|
||||
|
||||
from nw.constants import nwAlert
|
||||
from nw.enum import nwAlert, nwItemLayout, nwItemClass
|
||||
from nw.common import isHandle
|
||||
from nw.constants import nwItemLayout, nwItemClass
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+3
-5
@@ -32,12 +32,10 @@ import os
|
||||
|
||||
from time import time
|
||||
|
||||
from nw.constants import (
|
||||
nwFiles, nwKeyWords, nwItemType, nwItemClass, nwItemLayout, nwAlert,
|
||||
nwUnicode
|
||||
)
|
||||
from nw.core.document import NWDoc
|
||||
from nw.enum import nwItemType, nwItemClass, nwItemLayout, nwAlert
|
||||
from nw.common import isHandle, isTitleTag, isItemClass, isItemLayout
|
||||
from nw.constants import nwFiles, nwKeyWords, nwUnicode
|
||||
from nw.core.document import NWDoc
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-4
@@ -28,10 +28,8 @@ import logging
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from nw.constants import nwItemType, nwItemClass, nwItemLayout
|
||||
from nw.common import (
|
||||
checkInt, isHandle, isItemClass, isItemLayout, isItemType
|
||||
)
|
||||
from nw.enum import nwItemType, nwItemClass, nwItemLayout
|
||||
from nw.common import checkInt, isHandle, isItemClass, isItemLayout, isItemType
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-3
@@ -45,9 +45,8 @@ from nw.common import (
|
||||
checkString, checkBool, checkInt, isHandle, formatTimeStamp,
|
||||
makeFileNameSafe, hexToInt
|
||||
)
|
||||
from nw.constants import (
|
||||
trConst, nwFiles, nwItemType, nwItemClass, nwItemLayout, nwLabels, nwAlert
|
||||
)
|
||||
from nw.enum import nwItemType, nwItemClass, nwItemLayout, nwAlert
|
||||
from nw.constants import trConst, nwFiles, nwLabels
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
import logging
|
||||
|
||||
from nw.core.tokenizer import Tokenizer
|
||||
from nw.constants import nwLabels, nwKeyWords, nwHtmlUnicode
|
||||
from nw.constants import nwKeyWords, nwLabels, nwHtmlUnicode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -32,9 +32,10 @@ from functools import partial
|
||||
|
||||
from PyQt5.QtCore import QCoreApplication, QRegularExpression
|
||||
|
||||
from nw.core.document import NWDoc
|
||||
from nw.enum import nwItemLayout, nwItemType
|
||||
from nw.common import numberToRoman
|
||||
from nw.constants import nwConst, nwUnicode, nwItemLayout, nwItemType, nwRegEx
|
||||
from nw.constants import nwConst, nwRegEx, nwUnicode
|
||||
from nw.core.document import NWDoc
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+1
-1
@@ -26,8 +26,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import logging
|
||||
|
||||
from nw.core.tokenizer import Tokenizer
|
||||
from nw.constants import nwLabels
|
||||
from nw.core.tokenizer import Tokenizer
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-2
@@ -29,11 +29,11 @@ import logging
|
||||
|
||||
from lxml import etree
|
||||
from hashlib import sha256
|
||||
from datetime import datetime
|
||||
from zipfile import ZipFile
|
||||
from datetime import datetime
|
||||
|
||||
from nw.constants import nwKeyWords, nwLabels
|
||||
from nw.core.tokenizer import Tokenizer
|
||||
from nw.constants import nwLabels, nwKeyWords
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+4
-5
@@ -29,14 +29,13 @@ import logging
|
||||
import os
|
||||
|
||||
from lxml import etree
|
||||
from hashlib import sha256
|
||||
from time import time
|
||||
from hashlib import sha256
|
||||
|
||||
from nw.core.item import NWItem
|
||||
from nw.enum import nwItemType, nwItemClass, nwItemLayout
|
||||
from nw.common import checkHandle
|
||||
from nw.constants import (
|
||||
nwFiles, nwItemType, nwItemClass, nwItemLayout, nwConst, nwLists
|
||||
)
|
||||
from nw.constants import nwConst, nwLists, nwFiles
|
||||
from nw.core.item import NWItem
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+4
-5
@@ -44,12 +44,11 @@ from PyQt5.QtWidgets import (
|
||||
QSizePolicy, QDoubleSpinBox, QComboBox
|
||||
)
|
||||
|
||||
from nw.common import fuzzyTime, makeFileNameSafe
|
||||
from nw.gui.custom import QSwitch
|
||||
from nw.core import ToHtml, ToOdt, ToMarkdown
|
||||
from nw.constants import (
|
||||
nwConst, nwAlert, nwFiles, nwItemType, nwItemLayout, nwItemClass
|
||||
)
|
||||
from nw.enum import nwAlert, nwItemType, nwItemLayout, nwItemClass
|
||||
from nw.common import fuzzyTime, makeFileNameSafe
|
||||
from nw.constants import nwConst, nwFiles
|
||||
from nw.gui.custom import QSwitch
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ from PyQt5.QtWidgets import (
|
||||
QLineEdit
|
||||
)
|
||||
|
||||
from nw.constants import trConst, nwUnicode, nwQuotes
|
||||
from nw.constants import trConst, nwQuotes, nwUnicode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+3
-5
@@ -50,12 +50,10 @@ from PyQt5.QtWidgets import (
|
||||
)
|
||||
|
||||
from nw.core import NWDoc, NWSpellSimple, countWords
|
||||
from nw.gui.dochighlight import GuiDocHighlighter
|
||||
from nw.enum import nwAlert, nwDocAction, nwDocInsert, nwItemClass
|
||||
from nw.common import transferCase
|
||||
from nw.constants import (
|
||||
trConst, nwConst, nwAlert, nwUnicode, nwDocAction, nwDocInsert,
|
||||
nwItemClass, nwKeyWords, nwLabels
|
||||
)
|
||||
from nw.constants import nwConst, trConst, nwKeyWords, nwLabels, nwUnicode
|
||||
from nw.gui.dochighlight import GuiDocHighlighter
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ from PyQt5.QtGui import (
|
||||
QColor, QTextCharFormat, QFont, QSyntaxHighlighter, QBrush
|
||||
)
|
||||
|
||||
from nw.constants import nwUnicode, nwRegEx
|
||||
from nw.constants import nwRegEx, nwUnicode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-2
@@ -33,9 +33,9 @@ from PyQt5.QtWidgets import (
|
||||
QListWidgetItem, QDialogButtonBox
|
||||
)
|
||||
|
||||
from nw.constants import nwAlert, nwItemType
|
||||
from nw.gui.custom import QHelpLabel
|
||||
from nw.core import NWDoc
|
||||
from nw.enum import nwAlert, nwItemType
|
||||
from nw.gui.custom import QHelpLabel
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-3
@@ -34,10 +34,9 @@ from PyQt5.QtWidgets import (
|
||||
)
|
||||
|
||||
from nw.core import NWDoc
|
||||
from nw.enum import nwAlert, nwItemType, nwItemClass, nwItemLayout
|
||||
from nw.constants import nwConst
|
||||
from nw.gui.custom import QHelpLabel
|
||||
from nw.constants import (
|
||||
nwAlert, nwItemType, nwItemClass, nwItemLayout, nwConst
|
||||
)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-1
@@ -41,7 +41,8 @@ from PyQt5.QtWidgets import (
|
||||
)
|
||||
|
||||
from nw.core import ToHtml
|
||||
from nw.constants import nwAlert, nwItemType, nwDocAction, nwUnicode
|
||||
from nw.enum import nwAlert, nwItemType, nwDocAction
|
||||
from nw.constants import nwUnicode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -31,9 +31,8 @@ from PyQt5.QtCore import Qt
|
||||
from PyQt5.QtGui import QFont, QPixmap
|
||||
from PyQt5.QtWidgets import QWidget, QGridLayout, QLabel
|
||||
|
||||
from nw.constants import (
|
||||
trConst, nwLabels, nwItemClass, nwItemType, nwItemLayout
|
||||
)
|
||||
from nw.enum import nwItemClass, nwItemType, nwItemLayout
|
||||
from nw.constants import trConst, nwLabels
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -33,8 +33,9 @@ from PyQt5.QtWidgets import (
|
||||
QDialogButtonBox
|
||||
)
|
||||
|
||||
from nw.enum import nwItemLayout, nwItemType
|
||||
from nw.constants import trConst, nwLists, nwLabels
|
||||
from nw.gui.custom import QSwitch
|
||||
from nw.constants import trConst, nwLabels, nwItemLayout, nwItemType, nwLists
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-4
@@ -31,10 +31,8 @@ from PyQt5.QtCore import QUrl, QProcess
|
||||
from PyQt5.QtGui import QDesktopServices
|
||||
from PyQt5.QtWidgets import QMenuBar, QAction
|
||||
|
||||
from nw.constants import (
|
||||
trConst, nwItemType, nwItemClass, nwDocAction, nwDocInsert, nwKeyWords,
|
||||
nwLabels, nwUnicode, nwWidget
|
||||
)
|
||||
from nw.enum import nwItemType, nwItemClass, nwDocAction, nwDocInsert, nwWidget
|
||||
from nw.constants import trConst, nwKeyWords, nwLabels, nwUnicode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+1
-1
@@ -32,8 +32,8 @@ from time import time
|
||||
from PyQt5.QtCore import Qt, QSize
|
||||
from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QAbstractItemView
|
||||
|
||||
from nw.constants import nwKeyWords
|
||||
from nw.common import checkInt
|
||||
from nw.constants import nwKeyWords
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-1
@@ -34,7 +34,8 @@ from PyQt5.QtWidgets import (
|
||||
QTreeWidget, QTreeWidgetItem, QMenu, QAction, QAbstractItemView
|
||||
)
|
||||
|
||||
from nw.constants import trConst, nwKeyWords, nwLabels, nwOutline
|
||||
from nw.enum import nwOutline
|
||||
from nw.constants import trConst, nwKeyWords, nwLabels
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ from PyQt5.QtWidgets import (
|
||||
QScrollArea, QWidget, QGridLayout, QHBoxLayout, QGroupBox, QLabel
|
||||
)
|
||||
|
||||
from nw.constants import trConst, nwLabels, nwKeyWords
|
||||
from nw.common import checkInt
|
||||
from nw.constants import trConst, nwKeyWords, nwLabels
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -35,9 +35,10 @@ from PyQt5.QtWidgets import (
|
||||
QLineEdit, QFileDialog, QFontDialog, QDoubleSpinBox
|
||||
)
|
||||
|
||||
from nw.gui.custom import QSwitch, QConfigLayout, PagedDialog, QuotesDialog
|
||||
from nw.core import NWSpellSimple, NWSpellEnchant
|
||||
from nw.constants import nwConst, nwAlert
|
||||
from nw.enum import nwAlert
|
||||
from nw.constants import nwConst
|
||||
from nw.gui.custom import QSwitch, QConfigLayout, PagedDialog, QuotesDialog
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -35,9 +35,9 @@ from PyQt5.QtWidgets import (
|
||||
QLabel, QSpinBox, QGridLayout, QHBoxLayout, QLineEdit, QAbstractItemView
|
||||
)
|
||||
|
||||
from nw.gui.custom import PagedDialog, QSwitch
|
||||
from nw.constants import nwUnicode
|
||||
from nw.common import numberToRoman
|
||||
from nw.constants import nwUnicode
|
||||
from nw.gui.custom import PagedDialog, QSwitch
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ from PyQt5.QtWidgets import (
|
||||
QComboBox
|
||||
)
|
||||
|
||||
from nw.constants import nwAlert
|
||||
from nw.enum import nwAlert
|
||||
from nw.gui.custom import QSwitch, PagedDialog, QConfigLayout
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
+2
-4
@@ -37,10 +37,8 @@ from PyQt5.QtWidgets import (
|
||||
)
|
||||
|
||||
from nw.core import NWDoc
|
||||
from nw.constants import (
|
||||
trConst, nwLabels, nwItemType, nwItemClass, nwItemLayout, nwAlert,
|
||||
nwConst, nwLists
|
||||
)
|
||||
from nw.enum import nwItemType, nwItemClass, nwItemLayout, nwAlert
|
||||
from nw.constants import nwConst, trConst, nwLists, nwLabels
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -35,8 +35,9 @@ from PyQt5.QtWidgets import (
|
||||
QGroupBox, QGridLayout, QSpinBox
|
||||
)
|
||||
|
||||
from nw.enum import nwItemClass
|
||||
from nw.common import makeFileNameSafe
|
||||
from nw.constants import trConst, nwLabels, nwItemClass
|
||||
from nw.constants import trConst, nwLabels
|
||||
from nw.gui.custom import QSwitch
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ from PyQt5.QtGui import (
|
||||
QPalette, QColor, QIcon, QFont, QFontMetrics, QFontDatabase, QPixmap
|
||||
)
|
||||
|
||||
from nw.constants import nwAlert
|
||||
from nw.enum import nwAlert
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
+2
-1
@@ -34,7 +34,8 @@ from PyQt5.QtWidgets import (
|
||||
QAbstractItemView, QPushButton, QLineEdit, QLabel
|
||||
)
|
||||
|
||||
from nw.constants import nwFiles, nwAlert
|
||||
from nw.enum import nwAlert
|
||||
from nw.constants import nwFiles
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -38,8 +38,9 @@ from PyQt5.QtWidgets import (
|
||||
QLabel, QGroupBox, QMenu, QAction, QFileDialog, QSpinBox, QHBoxLayout
|
||||
)
|
||||
|
||||
from nw.enum import nwAlert
|
||||
from nw.common import formatTime, checkInt
|
||||
from nw.constants import nwConst, nwFiles, nwAlert
|
||||
from nw.constants import nwConst, nwFiles
|
||||
from nw.gui.custom import QSwitch
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
+2
-1
@@ -46,8 +46,9 @@ from nw.gui import (
|
||||
GuiProjectTree, GuiProjectWizard, GuiTheme, GuiWordList, GuiWritingStats
|
||||
)
|
||||
from nw.core import NWProject, NWDoc, NWIndex
|
||||
from nw.constants import nwItemType, nwItemClass, nwAlert, nwLists, nwWidget
|
||||
from nw.enum import nwItemType, nwItemClass, nwAlert, nwWidget
|
||||
from nw.common import getGuiItem, hexToInt
|
||||
from nw.constants import nwLists
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user