2016-03-28 10:09:57 +08:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Windows;
|
2016-01-07 05:34:42 +08:00
|
|
|
|
using System.Windows.Forms;
|
2015-04-21 08:32:10 +08:00
|
|
|
|
|
|
|
|
|
namespace Wox.Plugin.Program
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Interaction logic for AddProgramSource.xaml
|
|
|
|
|
/// </summary>
|
2015-04-22 21:22:55 +08:00
|
|
|
|
public partial class AddProgramSource
|
2015-04-21 08:32:10 +08:00
|
|
|
|
{
|
2015-05-02 22:17:42 +08:00
|
|
|
|
private ProgramSource _editing;
|
2016-04-21 08:53:21 +08:00
|
|
|
|
private Settings _settings;
|
2015-04-21 08:32:10 +08:00
|
|
|
|
|
2016-04-21 08:53:21 +08:00
|
|
|
|
public AddProgramSource(Settings settings)
|
2015-04-21 08:32:10 +08:00
|
|
|
|
{
|
2016-03-28 10:09:57 +08:00
|
|
|
|
_settings = settings;
|
2015-04-21 08:32:10 +08:00
|
|
|
|
InitializeComponent();
|
2016-03-28 10:09:57 +08:00
|
|
|
|
Suffixes.Text = string.Join(";", settings.ProgramSuffixes);
|
2015-04-21 08:32:10 +08:00
|
|
|
|
}
|
|
|
|
|
|
2016-04-21 08:53:21 +08:00
|
|
|
|
public AddProgramSource(ProgramSource edit, Settings settings)
|
2015-05-02 22:17:42 +08:00
|
|
|
|
{
|
2016-01-07 05:34:42 +08:00
|
|
|
|
_editing = edit;
|
|
|
|
|
Directory.Text = _editing.Location;
|
|
|
|
|
MaxDepth.Text = _editing.MaxDepth.ToString();
|
2016-03-28 10:09:57 +08:00
|
|
|
|
Suffixes.Text = string.Join(";", _editing.Suffixes);
|
|
|
|
|
_settings = settings;
|
|
|
|
|
InitializeComponent();
|
2015-05-02 22:17:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
2015-04-21 08:32:10 +08:00
|
|
|
|
private void BrowseButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
2016-01-07 05:34:42 +08:00
|
|
|
|
var dialog = new FolderBrowserDialog();
|
|
|
|
|
DialogResult result = dialog.ShowDialog();
|
2015-04-21 08:32:10 +08:00
|
|
|
|
if (result == System.Windows.Forms.DialogResult.OK)
|
|
|
|
|
{
|
2016-01-07 05:34:42 +08:00
|
|
|
|
Directory.Text = dialog.SelectedPath;
|
2015-04-21 08:32:10 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ButtonAdd_OnClick(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
int max;
|
2016-01-07 05:34:42 +08:00
|
|
|
|
if(!int.TryParse(MaxDepth.Text, out max))
|
2015-04-21 08:32:10 +08:00
|
|
|
|
{
|
|
|
|
|
max = -1;
|
|
|
|
|
}
|
2015-05-02 22:17:42 +08:00
|
|
|
|
|
2016-01-07 05:34:42 +08:00
|
|
|
|
if(_editing == null)
|
2015-05-02 22:17:42 +08:00
|
|
|
|
{
|
2016-03-28 10:09:57 +08:00
|
|
|
|
_settings.ProgramSources.Add(new ProgramSource
|
2015-05-02 22:17:42 +08:00
|
|
|
|
{
|
2016-01-07 05:34:42 +08:00
|
|
|
|
Location = Directory.Text,
|
2015-05-02 22:17:42 +08:00
|
|
|
|
MaxDepth = max,
|
2016-03-28 10:09:57 +08:00
|
|
|
|
Suffixes = Suffixes.Text.Split(ProgramSource.SuffixSeperator),
|
2015-05-02 22:17:42 +08:00
|
|
|
|
Type = "FileSystemProgramSource",
|
|
|
|
|
Enabled = true
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else
|
2015-04-21 08:32:10 +08:00
|
|
|
|
{
|
2016-01-07 05:34:42 +08:00
|
|
|
|
_editing.Location = Directory.Text;
|
|
|
|
|
_editing.MaxDepth = max;
|
2016-03-28 10:09:57 +08:00
|
|
|
|
_editing.Suffixes = Suffixes.Text.Split(ProgramSource.SuffixSeperator);
|
2015-05-02 22:17:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
2016-01-07 05:34:42 +08:00
|
|
|
|
DialogResult = true;
|
|
|
|
|
Close();
|
2015-04-21 08:32:10 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|