Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes #691 (sort of -- see below).
I've spent some time looking into this and it was turning into a time sink of pig wrestling with Qubes and/or Debian.
Here's my approach and I'd appreciate some testing / feedback please on those systems where it's not be observed to work (despite my best efforts, I can't recreate the problem).
The placeholder text that's not clearing is handled by the
ReplyTextEdit
'sfocusInEvent
andfocusOutEvent
. In both these event handlers there's a check to ensure there's no text currently in the widget. If there isn't, the placeholder logic happens and the UI is updated as expected.I notice that when a reply is sent via the
ReplyBoxWidet
'ssend_reply
method, the textual content was being set to blank after the lines of code which act on the sending of code. My thinking (in the blind as it were, because I can't recreate this problem), is that something in these previous lines of code was blocking so that any focus change was happening before the text was set to empty meaning the afore mentioned logic in thefocusInEvent
andfocusOutEvent
events wasn't firing. By setting it to empty immediately before the logic for sending the reply, I hope this problem is avoided.My only further idea is that it's a "Debian's version of Qt5" problem. I.e. my version of Qt5.11 is from the official Python wheels. Is your version packaged via Debian? If so, you should know they regularly patch and change such libs so while we're using the same version, we're potentially not using the same version thanks to Debian packaging.
Not sure what more to suggest. :-/ As always feedback and comments most welcome.
Test Plan
None needed, this is just a re-arrangement of existing lines of code.
Checklist
If these changes modify code paths involving cryptography, the opening of files in VMs or network (via the RPC service) traffic, Qubes testing in the staging environment is required. For fine tuning of the graphical user interface, testing in any environment in Qubes is required. Please check as applicable:
If these changes add or remove files other than client code, packaging logic (e.g., the AppArmor profile) may need to be updated. Please check as applicable: