Example #1
0
        // TODO: add refresh command

        public BubbleViewModel(Repository repo)
            : base(repo)
        {


            ClickCommand = new RelayCommand(ShowHideMenu);
            DblClkCommand = new OpenFolderCommand();
            DblClkCommandParam = repo.Info.WorkingDirectory;
            RefreshCommand = new RelayCommand(Refresh);

            // try compacting path
            string shortPath = repo.Info.WorkingDirectory;
            try
            {
                if (Settings.Default.MenuPathLength > 0)
                    shortPath = PathHelper.ShortDisplay(repo.Info.WorkingDirectory, Settings.Default.MenuPathLength);
            }
            catch (Exception ex)
            {
                ErrorHandler.Handle(ex, false);
                shortPath += " (*)";
            }

            FolderOpenMenuHeader = string.Format("Open {0}", shortPath);
            OpenFolderCommand = new OpenFolderCommand();
            OpenFolderCommandParameter = repo.Info.WorkingDirectory;

            HideAllCommand = new RelayCommand(() => BubblesManager.ShowAll(false), () => { return RepositoriesManager.Repos.Count() > 0; });
            ShowAllCommand = new RelayCommand(() => BubblesManager.ShowAll(true), () => { return RepositoriesManager.Repos.Count() > 0; });
            ExitCommand = new ExitCommand();

            ShowHideMenuCommand = new RelayCommand(ShowHideMenu);

            CurrentBranch = repo.Head.Name;
            var repoTracker = new RepoTracker(repo);
            repoTracker.OnLockFileCreated += (s, e) => { LockExists = true; };
            repoTracker.OnLockFileDeleted += (s, e) => { LockExists = false; };
            repoTracker.OnBranchChanged += (s, e) => { Refresh(); };
            //_repoTracker.OnStatusChanged += repoTracker_OnStatusChanged;

            CommandsListViewModel = new CommandsListViewModel(repo);

            _cmdModel = new CommandsListModel(repo);
            CommandsList = _cmdModel.GetCommandsList;

            ConfigurationHelper.Configuration.Settings.VisualSettings.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == "BubbleOpacity")
                    OnPropertyChanged("BubbleOpacity");
            };

        }
Example #2
0
 public CommandsListViewModel(Repository repo) : base(repo)
 {
     _cmdModel = new CommandsListModel(repo);
     CommandsList = _cmdModel.GetCommandsList;
 }