Skip to content

Initialization and Startup

Maxime Lavigne (malavv) edited this page Jan 11, 2016 · 1 revision

What happens on initialization of Brewtarget? When something goes wrong, where to look for? These are questions that might lead you to look at this page on the initialization of the application. Maybe you're just curious. Either way, welcome.

Since this describes pieces of code, it is bound to be outdated at some point. Most probably, the high level overview should be fine.

In the Beginning There Was Light

main.cpp

  1. Setting up QT application. (Which enables QTSettings)
  2. Parsing Command Line Options
  3. Bretarget::run

brewtarget.cpp(Brewtarget::run) Initialize

  • Putting in place multi-instance lock (LINUX ONLY)
  • Setting User Directory
  • Load App. Settings (and convert if it's the case)
  • Initialize Unit System
  • Load Translations

MainWindow.cpp(MainWindow::ctr) Construct main Window

  • Initialize DB Object
  • Construct all Editors
  • Connect signals and slots for all editor instances
  • Return to Brewtarget::run

brewtarget.cpp(Brewtarget::run)

  • Checking for new version
  • Executing App