"
-pygments_style = "tango"
-pygments_dark_style = "native"
# -- Options for HTMLHelp Output ---------------------------------------------
@@ -111,12 +115,5 @@ texinfo_documents = [(
# Bibliographic Dublin Core info.
epub_title = project
-# The unique identifier of the text. This can be a ISBN number
-# or the project homepage.
-# epub_identifier = ""
-
-# A unique identification for the text.
-# epub_uid = ""
-
# A list of files that should not be packed into the epub file.
epub_exclude_files = ["search.html"]
diff --git a/docs/source/index.rst b/docs/source/index.rst
index dfc2877c..c9ba0aa9 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -3,8 +3,9 @@ Documentation for novelWriter
#############################
.. image:: images/novelwriter_logo.png
+ :class: dark-light
:align: right
- :width: 48
+ :width: 64
| **For Release:** |release|
| **Last Updated:** |today|
@@ -17,6 +18,7 @@ editor that allows for easy organisation of text and notes, using human readable
storage for robustness.
.. figure:: images/screenshot_multi.png
+ :class: dark-light
:align: center
:width: 500
@@ -31,7 +33,7 @@ as well. novelWriter can also be run directly from the Python source, or install
the pip tool. See :ref:`a_started` for more details.
.. note::
- Version 1.3 introduced a few changes that will require you to make some minor modifications to
+ Release 1.5 introduced a few changes that will require you to make some minor modifications to
some of the headings in your project. It should be fairly quick and straightforward. Please see
the :ref:`a_prjfmt_1_3` section for more details.
diff --git a/docs/source/int_customise.rst b/docs/source/int_customise.rst
index 07b130b4..9cb4819c 100644
--- a/docs/source/int_customise.rst
+++ b/docs/source/int_customise.rst
@@ -16,25 +16,37 @@ your own syntax themes, and install additional dictionaries.
Spell Check Dictionaries
========================
-novelWriter uses Enchant_ as the spell checking tool. Depending on you operating system, it may or
+novelWriter uses Enchant_ as the spell checking tool. Depending on your operating system, it may or
may not load installed spell check dictionaries.
-Linux
- On Linux, you generally only have to install hunspell or aspell dictionaries on your system like
- you do for other applications. See your distro's documentation for how to do this. These
- dictionaries should then show up as available spell check languages in novelWriter.
+Linux and MacOS
+---------------
+
+On Linux and MacOS, you generally only have to install hunspell or aspell dictionaries on your
+system like you do for other applications. See your distro or OS documentation for how to do this.
+These dictionaries should then show up as available spell check languages in novelWriter.
Windows
- For Windows, English is included with the installation. For other languages you have to download
- and add dictionaries yourself. You can find the various dictionaries on the `Free Desktop`_
- website. You should find a folder for your language, if it is available at all, and download the
- files ending with ``.aff`` and ``.dic``. These files must then be copied to the following
- location:
+-------
- ``C:\Users\\AppData\Local\enchant\hunspell``
+For Windows, English is included with the installation. For other languages you have to download
+and add dictionaries yourself. You can find the various dictionaries on the `Free Desktop`_
+website. You should find a folder for your language, if it is available at all, and download the
+files ending with ``.aff`` and ``.dic``. These files must then be copied to the following location:
- This assumes your user profile is stored at ``C:\Users\``. The last one or two folders may
- not exist, so you may need to create them.
+``C:\Users\\AppData\Local\enchant\hunspell``
+
+This assumes your user profile is stored at ``C:\Users\``. The last one or two folders may
+not exist, so you may need to create them.
+
+.. note::
+
+ The Free Desktop link points to a repository, and what may look like file links inside the
+ dictionary folder are actually links to web pages. If you right-click and download those, you
+ get HTML files, not dictionaries!
+
+ In order to download the actual dictionary files, right-click the "plain" label at the end of
+ each line and download that.
.. _a_custom_theme:
diff --git a/docs/source/int_howto.rst b/docs/source/int_howto.rst
index 09f079fd..cccdf99d 100644
--- a/docs/source/int_howto.rst
+++ b/docs/source/int_howto.rst
@@ -51,7 +51,7 @@ Merge Multiple Documents Into One
If you need to merge a set of documents in your project into a single document, you can achieve
this by first making a new folder for just that purpose, and drag all the files you want merged
into this folder. Then you can right click the folder, select :guilabel:`Transform` and
-:guilabel:`Merge Documents in FOlder`.
+:guilabel:`Merge Documents in Folder`.
In the dialog that pops up, the documents will be in the same order as in the folder, but you can
also rearrange them here of you wish.
diff --git a/docs/source/int_introduction.rst b/docs/source/int_introduction.rst
index 5eeffb7b..9b3bc4cf 100644
--- a/docs/source/int_introduction.rst
+++ b/docs/source/int_introduction.rst
@@ -68,12 +68,12 @@ Below are some key features of novelWriter.
Screenshots
===========
-**novelWriter with default theme:**
+.. figure:: images/screenshot_default.png
+ :class: dark-light
-.. image:: images/screenshot_default.png
- :width: 800
+ novelWriter with default theme
-**novelWriter with dark theme:**
+.. figure:: images/screenshot_dark.png
+ :class: dark-light
-.. image:: images/screenshot_dark.png
- :width: 800
+ novelWriter with dark theme
diff --git a/docs/source/int_started.rst b/docs/source/int_started.rst
index 3b7007f8..dab20afd 100644
--- a/docs/source/int_started.rst
+++ b/docs/source/int_started.rst
@@ -89,6 +89,15 @@ Then run the update and install commands as for Ubuntu:
You may need to use the Ubuntu 20.04 (focal) packages for Debian 11 or earlier. The newer Ubuntu
packages use a different compression algorithm that may not be supported.
+.. tip::
+
+ If you get an error message like ``gpg: failed to create temporary file`` when importing the key
+ from the Ubuntu keyserver, try creating the folder it fails on, and import the key again:
+
+ .. code-block:: bash
+
+ sudo mkdir /root/.gnupg/
+
AppImage Releases
-----------------
diff --git a/docs/source/requirements.txt b/docs/source/requirements.txt
index 1896078f..19fc1423 100644
--- a/docs/source/requirements.txt
+++ b/docs/source/requirements.txt
@@ -1,4 +1,5 @@
-furo
-sphinx>=4.0
+sphinx-book-theme
+sphinx>=5.0
+sphinx-favicon
pygments>=2.7
docutils>=0.17.1
diff --git a/i18n/nw_base.ts b/i18n/nw_base.ts
index 5429ac32..8bd79c2e 100644
--- a/i18n/nw_base.ts
+++ b/i18n/nw_base.ts
@@ -3405,7 +3405,7 @@
- Change Label
+ Rename
diff --git a/novelwriter/__init__.py b/novelwriter/__init__.py
index ea2b02a5..6ad9fca5 100644
--- a/novelwriter/__init__.py
+++ b/novelwriter/__init__.py
@@ -246,6 +246,8 @@ def main(sysArgs=None):
nwApp.setApplicationName(CONFIG.appName)
nwApp.setApplicationVersion(__version__)
nwApp.setOrganizationDomain(__domain__)
+ nwApp.setOrganizationName(__domain__)
+ nwApp.setDesktopFileName(CONFIG.appName)
# Connect the exception handler before making the main GUI
sys.excepthook = exceptionHandler
diff --git a/novelwriter/gui/doceditor.py b/novelwriter/gui/doceditor.py
index 361b236e..a303162b 100644
--- a/novelwriter/gui/doceditor.py
+++ b/novelwriter/gui/doceditor.py
@@ -1359,7 +1359,7 @@ class GuiDocEditor(QTextEdit):
if self._docHandle is None or self._nwItem is None:
return
- logger.debug("User selectee %d words", wCount)
+ logger.debug("User selected %d words", wCount)
self.docFooter.updateCounts(wCount=wCount, cCount=cCount)
self.wcTimerSel.stop()
diff --git a/novelwriter/gui/projtree.py b/novelwriter/gui/projtree.py
index df29903b..82b3c3a1 100644
--- a/novelwriter/gui/projtree.py
+++ b/novelwriter/gui/projtree.py
@@ -38,6 +38,7 @@ from PyQt5.QtWidgets import (
QMenu, QShortcut, QSizePolicy, QToolButton, QTreeWidget, QTreeWidgetItem,
QVBoxLayout, QWidget
)
+from novelwriter.core.item import NWItem
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert, nwWidget
from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
@@ -108,6 +109,9 @@ class GuiProjectView(QWidget):
self.keyContext.setContext(Qt.WidgetShortcut)
self.keyContext.activated.connect(lambda: self.projTree.openContextOnSelected())
+ # Signals
+ self.selectedItemChanged.connect(self.projBar._treeSelectionChanged)
+
# Function Mappings
self.emptyTrash = self.projTree.emptyTrash
self.requestDeleteItem = self.projTree.requestDeleteItem
@@ -418,6 +422,23 @@ class GuiProjectToolBar(QWidget):
return
+ ##
+ # Slots
+ ##
+
+ @pyqtSlot(str)
+ def _treeSelectionChanged(self, tHandle):
+ """Toggle the visibility of the new item enties for novel
+ documents. They should only be visible if novel documents can
+ actually be added.
+ """
+ nwItem = self.theProject.tree[tHandle]
+ allowDoc = isinstance(nwItem, NWItem) and nwItem.documentAllowed()
+ self.aAddEmpty.setVisible(allowDoc)
+ self.aAddChap.setVisible(allowDoc)
+ self.aAddScene.setVisible(allowDoc)
+ return
+
# END Class GuiProjectToolBar
@@ -1204,7 +1225,7 @@ class GuiProjectTree(QTreeWidget):
# Edit Item Settings
# ==================
- aLabel = ctxMenu.addAction(self.tr("Change Label"))
+ aLabel = ctxMenu.addAction(self.tr("Rename"))
aLabel.triggered.connect(lambda: self.renameTreeItem(tHandle))
if isFile: