using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Forms; using MessageBox = System.Windows.MessageBox; using UserControl = System.Windows.Controls.UserControl; namespace Wox.Plugin.Folder { /// /// Interaction logic for FileSystemSettings.xaml /// public partial class FileSystemSettings : UserControl { PluginInitContext context; public FileSystemSettings(PluginInitContext context) { this.context = context; InitializeComponent(); lbxFolders.ItemsSource = FolderStorage.Instance.FolderLinks; } private void btnDelete_Click(object sender, RoutedEventArgs e) { var selectedFolder = lbxFolders.SelectedItem as FolderLink; if (selectedFolder != null) { FolderStorage.Instance.FolderLinks.Remove(selectedFolder); lbxFolders.Items.Refresh(); } else { string warning = context.API.GetTranslation("wox_plugin_folder_select_folder_link_warning"); MessageBox.Show(warning); } } private void btnEdit_Click(object sender, RoutedEventArgs e) { var selectedFolder = lbxFolders.SelectedItem as FolderLink; if (selectedFolder != null) { var folderBrowserDialog = new FolderBrowserDialog(); folderBrowserDialog.SelectedPath = selectedFolder.Path; if (folderBrowserDialog.ShowDialog() == DialogResult.OK) { var link = FolderStorage.Instance.FolderLinks.First(x => x.Path == selectedFolder.Path); link.Path = folderBrowserDialog.SelectedPath; FolderStorage.Instance.Save(); } lbxFolders.Items.Refresh(); } else { string warning = context.API.GetTranslation("wox_plugin_folder_select_folder_link_warning"); MessageBox.Show(warning); } } private void btnAdd_Click(object sender, RoutedEventArgs e) { var folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog(); if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var newFolder = new FolderLink() { Path = folderBrowserDialog.SelectedPath }; if (FolderStorage.Instance.FolderLinks == null) { FolderStorage.Instance.FolderLinks = new List(); } FolderStorage.Instance.FolderLinks.Add(newFolder); FolderStorage.Instance.Save(); } lbxFolders.Items.Refresh(); } } }