FaithLife-Community / LogosLinuxInstaller

A Python application that helps install and maintain FaithLife's Logos Bible (Verbum) Software on Linux through Wine.
MIT License
34 stars 10 forks source link

Utilize an Abstract Class for GUI, TUI, and CLI #147

Open thw26 opened 3 months ago

n8marti commented 3 months ago

I think this is a worthwhile idea. For the GUI nearly everything happens in a background thread, and the GUI window is the about the only thing that happens in the main thread.

So if we use standardized names for the common features (progress indicators, status messages, etc.), then we should be able to streamline the code that uses these features.

thw26 commented 2 months ago

A way to begin this would be to move our event and thread and queue code to its own module; this would let us treat it more like a library rather than a dialog-specific solution.

thw26 commented 4 weeks ago

With the CLI code merged, we now have a minimal example of a Queue/Event model. We can reuse this to bring it to the TUI and GUI and thereby simplify their code greatly.