... by storing the children information in an additional watchdata
source bit, thus being able to prove the model wrong in case it
claims children are needed.
in particular, fix line continuation processing.
also, reintroduce some error handling. it checks only one condition so
far (malformed assignment statement) and is entirely silent, but that's
all that was necessary for internal robustness.
This isn't a nice fix but the least evil version of a hack i could come
up. The source of the flickering is: We have a deeply nested structure
of widgets on the project pane. If we call hide() on such a deeply
nested widget, it will activate() it's parent layout synchronously.
That will then post an event (via updateGeometries() ) to its parent
layout that it needs relayouting. Which then will post to its parent
layout the same. And for each LayoutRequested, there's a painting in
between. The fix instead calls activate() up the chain until we are at
the viewport. This immediately relayouts everything. This adds a non
obvoius potentially for breakeage if the widgets are embedded in a
different widget hierarchy. But well, that's life.
Make sure that we give the QMainWindow always a valid layout before
restoring settings, so if something goes wrong with that, we don't end
up with a broken layout.
This covers 'Y' in novisual, char and line mode and 'y' in char mode.
Visual block mode is still missing. It also fixes an off-by-one error
when displaying selection in visual char mode.
Reviewed-by: hjk
Merge-request: 1149
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
- Give the controls a tooltip listing file details (date)
- Make building a QtConcurrent task
- Make log window scroll to bottom and pop up on error
- Make the build code pass on error messages about copying the
source files to the log file
- Clean up the building code string-wise, use QLatin1String and
translate messages, cache the icons. Use a QSharedPointer for
the QtVersions in the settings page since they are passed to
the BuildTask, which may outlive the dialog.
- Give the controls a tooltip listing file details (date)
- Make building a QtConcurrent task
- Make log window scroll to bottom and pop up on error
- Make the build code pass on error messages about copying the
source files to the log file
- Clean up the building code string-wise, use QLatin1String and
translate messages, cache the icons
This may happen if a process exits after we got the /proc listing. If
we fail to open the file, readAll() returns empty, which means split()
returns an empty list, which means you can't do at(1).