Commit graph

27 commits

Author SHA1 Message Date
TheJackiMonster a33249fc9d
Added guard to catch errors with translation
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-05-17 11:43:22 +02:00
TheJackiMonster 1af7d89d2a
Fixed issue #931, updated ui files and updated translation files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-10-23 16:15:58 +02:00
Jan Wester 12390a9aab Fix occasional crashes when (re)moving items
Describing all the rabbitholes that I and kakaroto have gone through
while debugging this one until dawn can frankly not do enough justice to
the crazy amount of rubberducking that went on while trying to fix this.

This bug would be triggered whenever you had a document open in the
editor and then moved an ancestor object downwards (visually) in the tree.
Or when you simply deleted the ancestor. Depending on the exact method
that caused the opened item to be removed from the internal model, the
exact nature of the bug would vary, which means this commit fixes a few
different bits of code that lead to what appears to be the same bug.

In order of appearance, the bugs that ruined our sleep were:

1) The editor widget was trying to handle the removed item at too late a
stage.

2) The editor widget tried to fix its view after a move by searching for
the new item with the same ID, but in the case of moving an object down
it came across its own old item, ruining the attempt.

3) The editor widget did not properly account for the hierarchical
nature of the model.

Upon fixing these the next day, it was revealed that:

4) The outlineItem.updateWordCount(emit=False) flag is broken. This
function would call setData() in several spots which would still cause
emits to bubble through the system despite emit=False, and we simply got
lucky that it stopped enough of them until now.

This last one was caused by a small mistake in the fixes for the first
three bugs, but it has led to a couple of extra changes to make any
future bug hunts slightly less arduous and frustrating:

a) When calling item.removeChild(c), it now resets the associated parent
and model to mirror item.insertChild(c). This has also led to an extra
check in model.parent() to check for its validity.

b) The outlineItem.updateWordCount(emit=) flag has been removed entirely
and it now emits away with reckless abandon. I have been unable to
reproduce the crashes the code warned about, so I consider this a code
quality fix to prevent mysterious future issues where things sometimes
do not properly update right.

Worthy of note is that the original code clearly showed the intention to
close tabs for items that were removed. Reworking the editor to support
closing a tab is unfortunately way out of scope, so this intention was
left in and the new fix was structured to make it trivial to implement
such a change when the time comes. An existing FIXME regarding unrelated
buggy editor behaviour was left in, too.

Many thanks to Kakaroto for burning the midnight oil with me to get to
the bottom of this. (I learned a lot that night!)

Issues #479, #516 and #559 are fixed by this commit. And maybe some others,
too.
2019-05-19 09:33:19 -06:00
Youness Alaoui 3f217257c4 Fix background of popup menus that was transparent (black)
In the properties view, the context menu on the title line would be black
making its content unreadable. Same in the filter line of the "Set Custom icon"
window on the outline's context menu.
2019-02-27 10:49:05 -07:00
Sebastian Rasmussen dfe88a9681 Fix typos in code comments, invisible to end-users. 2018-01-29 10:30:41 -07:00
Olivier Keshavjee e76b9b4a1c Another take on status bar (#262) 2017-12-08 10:20:33 +01:00
Olivier Keshavjee 3527f4ad8a Merge branch 'master' into develop 2017-11-30 10:13:25 +01:00
Olivier Keshavjee d32ee37e84 Hopefully last tweaks in context menu (#229) and optimization 2017-11-29 23:16:01 +01:00
Olivier Keshavjee 82c24498bb Tweaks Context menu to mirror Edit menu #229 2017-11-29 10:24:07 +01:00
Olivier Keshavjee cb79e504e7 Merge branch 'master' into develop 2017-11-27 21:53:37 +01:00
Olivier Keshavjee 52af71757e Adds: better harmonization between Documents menu and context menu #229 2017-11-24 20:50:18 +01:00
Olivier Keshavjee 66f09729b5 Adds duplicate in contexte menu, and fixes a bug in it #229 2017-11-24 18:44:31 +01:00
Olivier Keshavjee 04fc6a5ae4 Checkpoint: refactoring 2017-11-18 20:53:10 +01:00
Olivier Keshavjee 9e95196cc5 Changes Outline enums to IntEnum 2017-11-15 20:58:12 +01:00
Olivier Keshavjee bc0d6f5760 Creates base classes 2017-11-15 20:34:05 +01:00
Olivier Keshavjee bb57d3d057 Adds: merge 2017-11-10 17:21:02 +01:00
Olivier Keshavjee a153606811 Adds: split dialog, split at cursor 2017-11-10 16:31:40 +01:00
Olivier Keshavjee 3b17c4e2b4 Adds: Menu Documents. Edit operations (copy, cut, paste, duplicate, remove), and Move up and down. 2017-11-10 11:35:53 +01:00
Olivier Keshavjee d51233ebba Cleans treeView of some call to mainWindow that should be here 2017-11-07 12:02:02 +01:00
Olivier Keshavjee 81de19165b Adds a 'Rename Item' option to context menu in the Tree view #189 2017-11-05 13:49:31 +01:00
Olivier Keshavjee 687286f9ab Merge branch 'feature/future' into develop
Conflicts:
	manuskript/settingsWindow.py
2017-10-31 21:02:09 +01:00
Olivier Keshavjee 59df6ea98c Fixes: Untranslatable strings. #178 2017-10-30 09:26:46 +01:00
Olivier Keshavjee 40cc136836 Adds: custom icons 2017-10-23 13:45:08 +02:00
Olivier Keshavjee a6123292ae Adds: go-up button. See #157 2017-10-14 21:39:16 +02:00
Olivier Keshavjee 420f562c1b New CharacterModel (changes name and uses QAbstractItemModel instead of QStandardItemModel) 2016-03-03 16:38:38 +01:00
Olivier Keshavjee 69e0ca93be Cleaning up imports, at last 2016-02-06 12:34:22 +01:00
Olivier Keshavjee c469f262f3 Renaming source folder 2016-02-06 08:38:33 +01:00
Renamed from src/ui/views/outlineBasics.py (Browse further)