- This may be a bug within QSortFilterProxyModel
- It isn't 100% clear what aspects of these addon files cause the issue, but something about them causes Qt to lose track of its internal row numbers.
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
- NOTE: the interior water flag and water level logic needs reviewing
- does not automatically disable region names for interiors without mQuasiEx flag
- Colour values can't be entered as RGB
- Region names are not drop down menus
- move SizeHintWidget out to separate files
- remove redundant logic in view.cpp
- remove sizehint from dialogue subview
- add tooltip hints in user preferences
- TableSubviews and DialogueSubviews now provide size hints
- Option to stop the growth of the window at the screen boundary for multi-monitor setup with different resolution.
- Three options:
Grow Only: No change to current, except the use of size hints
Scrollbar Only: Simple addition of a scrollbar, the view window does not grow
Grow then Scroll: Window grows as per current behaviour. The scrollbar appears once it cannot grow any further.
- Initial global filter shortcuts are set in the user preferences setting. These are applied when a table is first opened.
- Subsequent changes are done per table view via tickboxes next to the record filter box.
- User preferences setting to save the window state (position, geometry, etc) at the time of exit.
- User preferences setting to workaround some X window managers not keeping pre-maximised state.
- Uses opencs.ini to store window states between sessions.