public MainForm(IFormOpener formManager, IMainFormPresenter presenter, MainFormStyler mainFormStyler, IPubSub pubsub, IPropertiesRepository propertiesRepository) { InitializeComponent(); _mainFormStyler = mainFormStyler; _pubsub = pubsub; RenderTheme(); if (propertiesRepository.GetValue <bool>(Constants.AppProperties.UpdateSettings)) { propertiesRepository.Upgrade(); propertiesRepository.SetValue(Constants.AppProperties.UpdateSettings, false); propertiesRepository.Save(); } _formManager = formManager; presenter.InitializePresenter(new { MainForm = this, PubSub = _pubsub }); var selectedPath = propertiesRepository.GetValue <string>(Constants.AppProperties.SelectedPath); if (!string.IsNullOrEmpty(selectedPath)) { Presenter.PopulateTreeView(selectedPath); } _propertiesRepository = propertiesRepository; }