Many applications, including Manuskript in the Editor pane, use the
keyboard shortcut 'Ctrl+Backspace' to delete the previous word.
However in the Plot pane Manuskript uses 'Ctrl+Backspace' to delete a
plot resolution step.
Fix this inconsistent behaviour by removing the keyboard shortcuts for
'Ctrl+Enter' and 'Ctrl+Backspace' from the Plot pane.
Closes issue #375
When running pytest on kubuntu 16.04 the following warning was displayed:
$ python3 -m pytest -v
...
./manuskript/load_save/version_1.py:319: \
UserWarning: Duplicate name: 'outline/0-Folder/0-Text-3.md'
zf.writestr(filename, content, compress_type=compression)
The error was tracked down using the following pytest invocation:
$ python3 -m pytest -v -W error::UserWarning
This invocation showed 4 occurrences similar to the following warning:
self = <zipfile.ZipFile filename='/tmp/tmpgs_sjpzr.msk' mode='w'>
zinfo = <[AttributeError("compress_size") raised in repr()] \
ZipInfo object at 0x7f3cc0124588>
def _writecheck(self, zinfo):
"""Check for errors before writing a file to the archive."""
if zinfo.filename in self.NameToInfo:
import warnings
> warnings.warn('Duplicate name: %r' % zinfo.filename, \
stacklevel=3)
E UserWarning: Duplicate name: 'outline/0-Folder/0-Text-3.md'
These warnings arose in the following 4 tests:
- test_references
- test_autoLoad
- test_loadExportWiget
- test_loadImportWiget
The cause of the issue is that in manuskript/tests/conftest.py, the
mainWindow::closeProject() method is called to close the project, but
the project was never loaded. This meant the zip file setting
defaulted to True, when in fact the Acts sample project is not stored
in a single zip project file.
Fix by removing the call to MW.closeProject() before the project is
loaded.
Manuskript started to segmentation fault on import starting with Qt 5.11.
I found the following link and the Qt bug links within to be useful in
my trouble-shooting efforts.
[Qt 5.11] Various Applications Segfault in 'libfm-qt'
https://github.com/lxqt/libfm-qt/issues/164
Closes issue #402
The root cause was a mismatch between plot IDs and plot model rows.
This issue would appear when a plot was deleted such that the plot IDs
did not match the plot model row numbers and different plots had
different importance levels. The problem would not occur if the most
recently added plot was deleted.
The plot ID / plot model row mismatch was introduced with the
following commit:
Fixes: add plot then choose new plot does not set \
importance slider
3569f78928
Closes issue #404
This reverts commit 2fdf8c64bf.
The problem introduced by the commit is that the Editor pane would
incorrectly label book elements with the plural form of a word. For
example "Books 4", "Sections 2", "Chapters 1", or "Scenes 3". Hence
the need to undo the commit.
Closes issue #383.
See issue #281.
When loading a project that has the setting **Save to one single
file** disabled, Manuskript tries to read all directories and files
under the project directory.
Manuskript expects all files to contain valid unicode characters.
However if a file containing non-unicode characters is read then
Manuskript will crash.
The error message displayed on the console is similar to the
following:
----- begin snippet -----
Traceback (most recent call last):
File "/home/gedakc/workspace/manuskript.olivierkes/bin/../manuskript/ui/welcome.py", line 134, in loadRecentFile
self.mw.loadProject(act.data())
File "/home/gedakc/workspace/manuskript.olivierkes/bin/../manuskript/mainWindow.py", line 566, in loadProject
self.loadDatas(project)
File "/home/gedakc/workspace/manuskript.olivierkes/bin/../manuskript/mainWindow.py", line 793, in loadDatas
errors = loadSave.loadProject(project)
File "/home/gedakc/workspace/manuskript.olivierkes/bin/../manuskript/loadSave.py", line 66, in loadProject
v1.loadProject(project, zip=isZip)
File "/home/gedakc/workspace/manuskript.olivierkes/bin/../manuskript/load_save/version_1.py", line 657, in loadProject
files[os.path.join(p, f)] = fo.read()
File "/usr/lib/python3.5/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 3131: invalid start byte
----- end snippet -----
There are at least two known situations in which files with
non-unicode characters can arise:
A. The project is on Mac OS X and the operating system automatically
creates a .DS_Store file.
B. The project is under git version control and contains a .git
subdirectory.
This enhancement prevents the Manuskript crash on project load by
ignoring all directory and file names that start with a period.