// // Copyright 2014 Perforce Software Inc. // using Perforce.Helper; using Perforce.View; using System; using System.Runtime.Caching; namespace Perforce.ViewModel { public class ToolBarViewModel : ViewModelBase { public ToolBarViewModel() { Utility.SetProperty(Constants.TOOLBAR_VIEWMODEL, this); } public void Refresh() { OnPropertyChanged(string.Empty); } public void RefreshNavButtons() { OnPropertyChanged("LeftButtonEnabled"); OnPropertyChanged("RightButtonEnabled"); } public bool LeftButtonEnabled { get { return ((App.Current.MainWindow as MainWindow).PreviousStack.Count > 0); } } public bool RightButtonEnabled { get { return ((App.Current.MainWindow as MainWindow).NextStack.Count > 0); } } public void RefreshAddButtons() { OnPropertyChanged("AddFilesButtonEnabled"); OnPropertyChanged("NewFolderButtonEnabled"); } public bool AddFilesButtonEnabled { get { var enabled = false; var main = App.Current.MainWindow as MainWindow; var selector = UIHelper.GetCurrentSelector(); if (selector != null) { if (selector.SelectorType == SELECTOR_TYPE.WORKSPACE) { enabled = true; } else if (selector.SelectorType == SELECTOR_TYPE.FAVORITE) { var model = selector.Model as FavoritesViewModel; if (model.Item.Selector == SELECTOR_TYPE.WORKSPACE) { enabled = true; } } } return enabled; } } public bool NewFolderButtonEnabled { get { var enabled = false; var main = App.Current.MainWindow as MainWindow; var selector = UIHelper.GetCurrentSelector(); if (selector != null) { if (selector.SelectorType == SELECTOR_TYPE.WORKSPACE) { enabled = true; } else if (selector.SelectorType == SELECTOR_TYPE.FAVORITE) { var model = selector.Model as FavoritesViewModel; if (model.Item.Selector == SELECTOR_TYPE.WORKSPACE) { enabled = true; } } } return enabled; } } public bool CheckInButtonEnabled { get { var enabled = false; var helper = Utility.GetPerforceHelper(); if (helper != null && helper.ClientEnabled) { enabled = true; } return enabled; } set { OnPropertyChanged("CheckInButtonEnabled"); } } public bool ColumnViewButtonEnabled { get { return false; } } public bool IconViewButtonEnabled { get { return false; } } private bool _syncButtonEnabled; public bool SyncButtonEnabled { get { var enabled = false; var helper = Utility.GetPerforceHelper(); if (helper != null && helper.ClientEnabled && _syncButtonEnabled) { enabled = true; } return enabled; } set { _syncButtonEnabled = value; OnPropertyChanged("SyncButtonEnabled"); } } private bool _syncProgressVisible; public bool SyncProgressVisible { get { return _syncProgressVisible; } set { _syncProgressVisible = value; OnPropertyChanged("SyncProgressVisible"); } } } }