def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.setCentralWidget(None) # TODO: updateManager should be moved to MainWindowModel self.__widgetsUpdateManager = WidgetsUpdateManager() self.__dialogs = UserDialogsFacade() self._model = MainWindowModel(mainWindow=self, repo=None, user=None, guiUpdater=self.__widgetsUpdateManager) self.__favoriteReposDynamicQActions = [] self._model.connectMenuActionsWithHandlers() self.__initFavoriteReposMenu() self.__initStatusBar() self.__widgetsUpdateManager.subscribe( self, self.__rebuildFavoriteReposMenu, [HandlerSignals.LIST_OF_FAVORITE_REPOS_CHANGED]) self.__widgetsUpdateManager.subscribe( self, self.showMessageOnStatusBar, [HandlerSignals.STATUS_BAR_MESSAGE]) self.__restoreGuiState()