The loss of focus was caused by each text change (i.e. character entry) to a QPlainTextEdit resulting in dataChanged() signal which in turn rebuilt the dialogue subview. Changes in this commit include:
- Do not send signal to update entire row if only a single item has changed.
- Do not rebuild the dialogue subview unless the data item that triggers a conditional display is changed.
- Add column flags to indicate whether the data in this column should rebuild the dialogue subview.
- Return the correct flags for nested columns
- Disable, rather than grey out, checkbox that does not apply to creature levelled list