using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using UAF.Application; using UAF.WPF.Utils; using ConfigurePlus.Models; namespace ConfigurePlus { /// /// Interaction logic for MainView.xaml /// public partial class MainView : UserControl { public MainView() { InitializeComponent(); } public MainViewModel Model { get { return DataContext as MainViewModel; } } public ProjectViewModel SelectedProject { get { return Model.SelectedProject; } } private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { AutoFillProject(); } private void AutoFillProject() { if (Model != null && SelectedProject != null && !String.IsNullOrEmpty(SelectedProject.ProjectId) && !String.IsNullOrEmpty(SelectedProject.PerforceServer)) { SelectedProject.AutoFillProject(); } } private void DataPathBrowse_Click(object sender, RoutedEventArgs e) { BrowserHelper.BrowserInfo info = new BrowserHelper.BrowserInfo { SelectedPath = "", InitialDirectory = SelectedProject.DataPath, }; if (BrowserHelper.BrowseForFolder(info)) { SelectedProject.DataPath = info.SelectedPath; } } private void EnginePathBrowse_Click(object sender, RoutedEventArgs e) { BrowserHelper.BrowserInfo info = new BrowserHelper.BrowserInfo { SelectedPath = "", InitialDirectory = SelectedProject.DataPath, }; if (BrowserHelper.BrowseForFolder(info)) { SelectedProject.EnginePath = info.SelectedPath; } } private void SelectProjectButton_Click(object sender, RoutedEventArgs e) { Model.UpdateProjectInRegistry(); //Workspace.This.Logger.NotifyUser("Project change successful! ", "You are now using " + SelectedProject.Name + " project settings. "); } private void CreateNewButton_Click(object sender, RoutedEventArgs e) { ProjectViewModel project = Model.CreateProject(); Model.SelectedProject = project; } private void AutoFillButton_Click(object sender, RoutedEventArgs e) { AutoFillProject(); } private void DeleteProjectButton_Click(object sender, RoutedEventArgs e) { Model.DeleteProject(SelectedProject); } private void RegisterAllButton_Click(object sender, RoutedEventArgs e) { ProjectViewModel firstProject = null; foreach (object item in ProjectList.Items) { ProjectViewModel project = item as ProjectViewModel; if (project != null) { Model.RegisterBranch(project); if(firstProject == null) firstProject = project; } } // Register a default project too (legacy). if (firstProject != null) Model.UpdateProjectInRegistry(firstProject); } private void RegisterButton_Click(object sender, RoutedEventArgs e) { ProjectViewModel project = ProjectList.SelectedItem as ProjectViewModel; if (project != null) { Model.RegisterBranch(project); // Register by default project too (legacy). Model.UpdateProjectInRegistry(project); } } } }