novelWriter 2.6b2__py3-none-any.whl → 2.6.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. {novelWriter-2.6b2.dist-info → novelWriter-2.6.1.dist-info}/METADATA +2 -2
  2. {novelWriter-2.6b2.dist-info → novelWriter-2.6.1.dist-info}/RECORD +107 -106
  3. {novelWriter-2.6b2.dist-info → novelWriter-2.6.1.dist-info}/WHEEL +1 -1
  4. novelwriter/__init__.py +4 -4
  5. novelwriter/assets/i18n/nw_de_DE.qm +0 -0
  6. novelwriter/assets/i18n/nw_en_US.qm +0 -0
  7. novelwriter/assets/i18n/nw_es_419.qm +0 -0
  8. novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
  9. novelwriter/assets/i18n/nw_it_IT.qm +0 -0
  10. novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
  11. novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
  12. novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
  13. novelwriter/assets/i18n/nw_pl_PL.qm +0 -0
  14. novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
  15. novelwriter/assets/i18n/nw_ru_RU.qm +0 -0
  16. novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
  17. novelwriter/assets/i18n/project_de_DE.json +2 -0
  18. novelwriter/assets/i18n/project_en_US.json +2 -0
  19. novelwriter/assets/i18n/project_es_419.json +2 -0
  20. novelwriter/assets/i18n/project_fr_FR.json +3 -1
  21. novelwriter/assets/i18n/project_it_IT.json +2 -0
  22. novelwriter/assets/i18n/project_ja_JP.json +2 -0
  23. novelwriter/assets/i18n/project_nb_NO.json +2 -0
  24. novelwriter/assets/i18n/project_nl_NL.json +2 -0
  25. novelwriter/assets/i18n/project_pl_PL.json +2 -0
  26. novelwriter/assets/i18n/project_pt_BR.json +2 -0
  27. novelwriter/assets/i18n/project_zh_CN.json +2 -0
  28. novelwriter/assets/manual.pdf +0 -0
  29. novelwriter/assets/manual_fr_FR.pdf +0 -0
  30. novelwriter/assets/sample.zip +0 -0
  31. novelwriter/common.py +1 -1
  32. novelwriter/config.py +45 -20
  33. novelwriter/constants.py +40 -36
  34. novelwriter/core/buildsettings.py +8 -1
  35. novelwriter/core/coretools.py +1 -1
  36. novelwriter/core/docbuild.py +1 -1
  37. novelwriter/core/document.py +1 -1
  38. novelwriter/core/index.py +1 -1
  39. novelwriter/core/item.py +1 -1
  40. novelwriter/core/itemmodel.py +1 -1
  41. novelwriter/core/options.py +1 -1
  42. novelwriter/core/project.py +3 -7
  43. novelwriter/core/projectdata.py +8 -2
  44. novelwriter/core/projectxml.py +1 -1
  45. novelwriter/core/sessions.py +1 -1
  46. novelwriter/core/spellcheck.py +1 -1
  47. novelwriter/core/status.py +17 -3
  48. novelwriter/core/storage.py +1 -1
  49. novelwriter/core/tree.py +1 -1
  50. novelwriter/dialogs/about.py +1 -1
  51. novelwriter/dialogs/docmerge.py +1 -1
  52. novelwriter/dialogs/docsplit.py +1 -1
  53. novelwriter/dialogs/editlabel.py +1 -1
  54. novelwriter/dialogs/preferences.py +16 -7
  55. novelwriter/dialogs/projectsettings.py +146 -96
  56. novelwriter/dialogs/quotes.py +1 -1
  57. novelwriter/dialogs/wordlist.py +11 -10
  58. novelwriter/enum.py +1 -8
  59. novelwriter/error.py +2 -2
  60. novelwriter/extensions/configlayout.py +1 -1
  61. novelwriter/extensions/eventfilters.py +1 -1
  62. novelwriter/extensions/modified.py +17 -5
  63. novelwriter/extensions/novelselector.py +4 -3
  64. novelwriter/extensions/pagedsidebar.py +4 -4
  65. novelwriter/extensions/progressbars.py +4 -4
  66. novelwriter/extensions/statusled.py +8 -9
  67. novelwriter/extensions/switch.py +3 -3
  68. novelwriter/extensions/switchbox.py +1 -1
  69. novelwriter/extensions/versioninfo.py +1 -1
  70. novelwriter/formats/shared.py +13 -12
  71. novelwriter/formats/todocx.py +2 -2
  72. novelwriter/formats/tohtml.py +31 -28
  73. novelwriter/formats/tokenizer.py +19 -13
  74. novelwriter/formats/tomarkdown.py +4 -3
  75. novelwriter/formats/toodt.py +2 -2
  76. novelwriter/formats/toqdoc.py +3 -1
  77. novelwriter/formats/toraw.py +1 -1
  78. novelwriter/gui/doceditor.py +39 -21
  79. novelwriter/gui/dochighlight.py +1 -1
  80. novelwriter/gui/docviewer.py +2 -2
  81. novelwriter/gui/docviewerpanel.py +1 -1
  82. novelwriter/gui/editordocument.py +1 -1
  83. novelwriter/gui/itemdetails.py +4 -3
  84. novelwriter/gui/mainmenu.py +1 -1
  85. novelwriter/gui/noveltree.py +1 -1
  86. novelwriter/gui/outline.py +8 -9
  87. novelwriter/gui/projtree.py +20 -25
  88. novelwriter/gui/search.py +2 -9
  89. novelwriter/gui/sidebar.py +1 -1
  90. novelwriter/gui/statusbar.py +26 -10
  91. novelwriter/gui/theme.py +1 -1
  92. novelwriter/guimain.py +2 -6
  93. novelwriter/shared.py +1 -1
  94. novelwriter/text/counting.py +1 -1
  95. novelwriter/text/patterns.py +1 -1
  96. novelwriter/tools/dictionaries.py +3 -3
  97. novelwriter/tools/lipsum.py +1 -1
  98. novelwriter/tools/manusbuild.py +1 -1
  99. novelwriter/tools/manuscript.py +7 -7
  100. novelwriter/tools/manussettings.py +9 -9
  101. novelwriter/tools/noveldetails.py +1 -1
  102. novelwriter/tools/welcome.py +2 -2
  103. novelwriter/tools/writingstats.py +1 -1
  104. novelwriter/types.py +2 -2
  105. {novelWriter-2.6b2.dist-info → novelWriter-2.6.1.dist-info}/LICENSE.md +0 -0
  106. {novelWriter-2.6b2.dist-info → novelWriter-2.6.1.dist-info}/entry_points.txt +0 -0
  107. {novelWriter-2.6b2.dist-info → novelWriter-2.6.1.dist-info}/top_level.txt +0 -0
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2023-05-13 [2.1b1] GuiManuscript
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2023 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -986,17 +986,17 @@ class _StatsWidget(QWidget):
986
986
  def updateStats(self, data: dict[str, int]) -> None:
987
987
  """Update the stats values from a Tokenizer stats dict."""
988
988
  # Minimal
989
- self.minWordCount.setText("{0:n}".format(data.get(nwStats.WORDS_ALL, 0)))
990
- self.minCharCount.setText("{0:n}".format(data.get(nwStats.CHARS_ALL, 0)))
989
+ self.minWordCount.setText("{0:n}".format(data.get(nwStats.WORDS, 0)))
990
+ self.minCharCount.setText("{0:n}".format(data.get(nwStats.CHARS, 0)))
991
991
 
992
992
  # Maximal
993
- self.maxTotalWords.setText("{0:n}".format(data.get(nwStats.WORDS_ALL, 0)))
993
+ self.maxTotalWords.setText("{0:n}".format(data.get(nwStats.WORDS, 0)))
994
994
  self.maxHeadWords.setText("{0:n}".format(data.get(nwStats.WORDS_TITLE, 0)))
995
995
  self.maxTextWords.setText("{0:n}".format(data.get(nwStats.WORDS_TEXT, 0)))
996
996
  self.maxTitleCount.setText("{0:n}".format(data.get(nwStats.TITLES, 0)))
997
997
  self.maxParCount.setText("{0:n}".format(data.get(nwStats.PARAGRAPHS, 0)))
998
998
 
999
- self.maxTotalChars.setText("{0:n}".format(data.get(nwStats.CHARS_ALL, 0)))
999
+ self.maxTotalChars.setText("{0:n}".format(data.get(nwStats.CHARS, 0)))
1000
1000
  self.maxHeaderChars.setText("{0:n}".format(data.get(nwStats.CHARS_TITLE, 0)))
1001
1001
  self.maxTextChars.setText("{0:n}".format(data.get(nwStats.CHARS_TEXT, 0)))
1002
1002
 
@@ -1037,7 +1037,7 @@ class _StatsWidget(QWidget):
1037
1037
  hPx = CONFIG.pxInt(12)
1038
1038
  vPx = CONFIG.pxInt(4)
1039
1039
 
1040
- trAllChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_ALL])
1040
+ trAllChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS])
1041
1041
  trTextChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TEXT])
1042
1042
  trTitleChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TITLE])
1043
1043
  trParagraphCount = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
@@ -1045,7 +1045,7 @@ class _StatsWidget(QWidget):
1045
1045
  trAllWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_ALL])
1046
1046
  trTextWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT])
1047
1047
  trTitleWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE])
1048
- trAllWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_ALL])
1048
+ trAllWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS])
1049
1049
  trTextWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TEXT])
1050
1050
  trTitleWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TITLE])
1051
1051
 
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2023-02-13 [2.1b1] GuiBuildSettings
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2023 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ from PyQt5.QtWidgets import (
38
38
 
39
39
  from novelwriter import CONFIG, SHARED
40
40
  from novelwriter.common import describeFont, fontMatcher, qtLambda
41
- from novelwriter.constants import nwHeadFmt, nwKeyWords, nwLabels, nwStyles, trConst
41
+ from novelwriter.constants import nwHeadFmt, nwKeyWords, nwLabels, trConst
42
42
  from novelwriter.core.buildsettings import BuildSettings, FilterMode
43
43
  from novelwriter.extensions.configlayout import (
44
44
  NColourLabel, NFixedPage, NScrollableForm, NScrollablePage
@@ -1074,7 +1074,7 @@ class _FormattingTab(NScrollableForm):
1074
1074
  self.titleMarginB.setFixedWidth(dbW)
1075
1075
 
1076
1076
  self.addRow(
1077
- trConst(nwStyles.T_LABEL["H0"]),
1077
+ self._build.getLabel("format.titleMargin"),
1078
1078
  [pixT, self.titleMarginT, 6, pixB, self.titleMarginB],
1079
1079
  unit="em",
1080
1080
  )
@@ -1087,7 +1087,7 @@ class _FormattingTab(NScrollableForm):
1087
1087
  self.h1MarginB.setFixedWidth(dbW)
1088
1088
 
1089
1089
  self.addRow(
1090
- trConst(nwStyles.T_LABEL["H1"]),
1090
+ self._build.getLabel("format.h1Margin"),
1091
1091
  [pixT, self.h1MarginT, 6, pixB, self.h1MarginB],
1092
1092
  unit="em",
1093
1093
  )
@@ -1100,7 +1100,7 @@ class _FormattingTab(NScrollableForm):
1100
1100
  self.h2MarginB.setFixedWidth(dbW)
1101
1101
 
1102
1102
  self.addRow(
1103
- trConst(nwStyles.T_LABEL["H2"]),
1103
+ self._build.getLabel("format.h2Margin"),
1104
1104
  [pixT, self.h2MarginT, 6, pixB, self.h2MarginB],
1105
1105
  unit="em",
1106
1106
  )
@@ -1113,7 +1113,7 @@ class _FormattingTab(NScrollableForm):
1113
1113
  self.h3MarginB.setFixedWidth(dbW)
1114
1114
 
1115
1115
  self.addRow(
1116
- trConst(nwStyles.T_LABEL["H3"]),
1116
+ self._build.getLabel("format.h3Margin"),
1117
1117
  [pixT, self.h3MarginT, 6, pixB, self.h3MarginB],
1118
1118
  unit="em",
1119
1119
  )
@@ -1126,7 +1126,7 @@ class _FormattingTab(NScrollableForm):
1126
1126
  self.h4MarginB.setFixedWidth(dbW)
1127
1127
 
1128
1128
  self.addRow(
1129
- trConst(nwStyles.T_LABEL["H4"]),
1129
+ self._build.getLabel("format.h4Margin"),
1130
1130
  [pixT, self.h4MarginT, 6, pixB, self.h4MarginB],
1131
1131
  unit="em",
1132
1132
  )
@@ -1139,7 +1139,7 @@ class _FormattingTab(NScrollableForm):
1139
1139
  self.textMarginB.setFixedWidth(dbW)
1140
1140
 
1141
1141
  self.addRow(
1142
- trConst(nwStyles.T_LABEL["TT"]),
1142
+ self._build.getLabel("format.textMargin"),
1143
1143
  [pixT, self.textMarginT, 6, pixB, self.textMarginB],
1144
1144
  unit="em",
1145
1145
  )
@@ -1152,7 +1152,7 @@ class _FormattingTab(NScrollableForm):
1152
1152
  self.sepMarginB.setFixedWidth(dbW)
1153
1153
 
1154
1154
  self.addRow(
1155
- trConst(nwStyles.T_LABEL["SP"]),
1155
+ self._build.getLabel("format.sepMargin"),
1156
1156
  [pixT, self.sepMarginT, 6, pixB, self.sepMarginB],
1157
1157
  unit="em",
1158
1158
  )
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2024-01-18 [2.3b1] GuiNovelDetails
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2024 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2023-12-14 [2.3b1] GuiWelcome
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2023 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -376,7 +376,7 @@ class _OpenProjectPage(QWidget):
376
376
  action = ctxMenu.addAction(self.tr("Remove Project"))
377
377
  action.triggered.connect(self._deleteSelectedItem)
378
378
  ctxMenu.exec(self.mapToGlobal(pos))
379
- ctxMenu.deleteLater()
379
+ ctxMenu.setParent(None)
380
380
  return
381
381
 
382
382
  ##
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2019-10-20 [0.3.0] GuiWritingStats
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2019 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
novelwriter/types.py CHANGED
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2024-04-01 [2.4rc1]
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2024 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -66,7 +66,7 @@ QtNoBrush = Qt.BrushStyle.NoBrush
66
66
  QtNoPen = Qt.PenStyle.NoPen
67
67
  QtRoundCap = Qt.PenCapStyle.RoundCap
68
68
  QtSolidLine = Qt.PenStyle.SolidLine
69
- QtPaintAnitAlias = QPainter.RenderHint.Antialiasing
69
+ QtPaintAntiAlias = QPainter.RenderHint.Antialiasing
70
70
  QtMouseOver = QStyle.StateFlag.State_MouseOver
71
71
  QtSelected = QStyle.StateFlag.State_Selected
72
72