applet: Fix usability: delay model updates properly, fix timers, provide scanning animation
List of important commits, first to last:
enabled
state of "Connect" action reliably
applet: Bind Fixes inconsistencies when button would not become disabled after expanding a delegate which previously showed password field already.
Also resets to details view, so that password field won't persist, and will force focus next time the "Connect" button is clicked or the delegate is otherwise expanded manually.
applet: Fix airplane mode binding in scan timer
It used a nonexistent (removed?) property, so right-hand side part of
expression evaluated to !undefined
which is always true
, so that
scan requests were dispatched regardless.
applet: Block all role changes while in delayModelUpdates mode
Practically all roles are accounted for when comparing connections in downstream sort-filter proxy model. Let's block all roles from propagating changes which scan delay is requested to avoid surprises.
Partially helps, but not fully fixes:
applet: Fix delayModelUpdates mode
The delayModelUpdates write-only property was a workaround, but it didn't even work properly especially with multiple delegates (writers) per single shared variable. This patch promotes the concept into a model role, and turns the model's shared property into readonly aggregated state. This should fix most of the cases when a connection would suddenly teleport away or even replaced with another while typing in password.
applet: Provide visual indication when scanning Wi-Fi networks
A little spinning busy indicator on top of Wi-Fi checkbox's icon is a visual clue for a user to expect random changes in the list of connections.