Ejemplo n.º 1
0
 void CreateManagers(ActionPanelModel localAM, ActionPanelModel remoteLeftAM, ActionPanelModel remoteRightAM)
 {
     ActionsManager = new ActionsManager();
     ActionsManager.LocalRepoPanel            = localAM;
     ActionsManager.RemoteRepoLeftGroupPanel  = remoteLeftAM;
     ActionsManager.RemoteRepoRightGroupPanel = remoteRightAM;
     TabManager = new TabManager(Data.MainWindowModel, localAM);
     TabManager.CommitRequested += Commit;
     TabManager.AbortRequested  += AbortMerge;
     TabManager.CanvasMouseDown += OnMouseDown;
     TabManager.CanvasMouseUp   += OnMouseUp;
     SubscribeActionsManager();
     CommitManager     = CommitManager.GetInstance();
     RepositoryManager = new RepositoryManager(_dataFolder);
     UserManager       = new UserManager(_dataFolder);
     StashingManager   = new StashingManager(_dataFolder);
     RemoteManager     = new RemoteManager(_dataFolder);
 }
Ejemplo n.º 2
0
        Program()
        {
            ActionPanelModel    localAM       = new ActionPanelModel();
            MainWindowViewModel mwvm          = InitializeMainWindow();
            ActionPanelModel    remoteLeftAM  = MainWindowModel.RemoteLeftPanelModel;
            ActionPanelModel    remoteRightAM = MainWindowModel.RemoteRightPanelModel;

            CreateManagers(localAM, remoteLeftAM, remoteRightAM);
            InitializeEventHandlers();
            InitializeState();
            LibGitService.GetInstance().RepositoryChanged += CheckConflicts;
            LibGitService.GetInstance().RepositoryChanged += () => Show(null);
            LibGitService.GetInstance().RepositoryChanged += () => ActionsManager.OnWorkTreeChanged(LibGitService.GetInstance().HasChanges);
            StashMenuViewModel wm = new StashMenuViewModel(StashingManager.StashMenu);

            mwvm.StashMenu              = wm;
            RepositoryManager.Opened   += m => MainWindowModel.RepoPath = m.RepositoryPath;
            MainWindowModel.RecentRepos = RepositoryManager.RecentRepos;
            RepositoryManager.Closed   += m => { MainWindowModel.RepoPath = ""; MainWindowModel.RecentRepos = RepositoryManager.RecentRepos; RemoteManager.Reset(); };
            RepositoryManager.RecentRepositoryChanged += () => MainWindowModel.RecentRepos = RepositoryManager.RecentRepos;
            UserManager.UsersChanged += () => MainWindowModel.OnUsersChanged();
        }