Refactor Connect() and Disconnect() functions in GUI to allow JSON RPC to update UI
What is the current behaviour and why should it be changed?
Besides multiple other coupling issues, we should refactor the Connect() and Disconnect() functions in
https://github.com/jamulussoftware/jamulus/blob/main/src/clientdlg.cpp#L1196-L1296
to be able to call a method on the client to update the GUI state if necessary via JSON-RPC.
#3364 moves them to client.cpp and introduces signals and is probably a good starting point.
Has this feature been discussed and generally agreed?
No. However it’s a known issue that the GUI holds state and cannot be controlled that well in its current state programmatically.
So e.g. create
CClient::Connect ( const QString& strSelectedAddress ) which starts the client and emits a signal calling CClientDlg::Connect(). Same for Disconnect().