124 lines
3.8 KiB
C#
124 lines
3.8 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for MainView.xaml
|
|
/// </summary>
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|