jamulus icon indicating copy to clipboard operation
jamulus copied to clipboard

Refactor Connect() and Disconnect() functions in GUI to allow JSON RPC to update UI

Open ann0see opened this issue 1 year ago • 1 comments

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.

ann0see avatar Sep 08 '24 18:09 ann0see

So e.g. create CClient::Connect ( const QString& strSelectedAddress ) which starts the client and emits a signal calling CClientDlg::Connect(). Same for Disconnect().

ann0see avatar Sep 08 '24 19:09 ann0see