Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content

Resolve "Multiple windows and dock areas from client"

guijar_m requested to merge 422-multiple-windows-and-dock-areas-from-client into main

Description

This MR does the following:

  • refactoring of BECGuiClientMixin -> it is now renamed BECGuiClient and is not a mixin class anymore
    • the gui object in CLI is an instance of this class
    • it gives access to the main dock area in the main window (.main)
    • as a consequence BECDockArea becomes like all other client-side objects (just inheriting RPCBase)
    • better handling of timeout if GUI server is not present
    • no need for Proxy anymore on the BEC startup/CLI client side
  • gui.new(name) -> returns a new BECDockArea as an independent window
    • windows can be inspected with gui.window dictionary
  • .selected_device is now stored in Redis, server-side can retrieve it (or can receive notifications) for Auto Update feature
    • instead of having this information in client only
  • AutoUpdates code benefits from the generator executor in RedisConnector (see corresponding MR in BEC)
  • gui.show(), gui.hide() allow to show or hide all top-level windows
  • gui.close(), gui.start() allow to stop/restart the GUI server
    • start() is asynchronous, do .start_server(wait=True) for the synchronous version
  • BECDockArea has a .delete() method, which also cleans itself from gui.window
  • RPC-related classes are moved to a dedicated rpc sub-directory

Closes #422 (closed)

Edited by guijar_m

Merge request reports

Loading