private void RemoveDirectoryButton_Click(object sender, EventArgs e) { if (DirectoriesListBox.SelectedItem != null) { string item = DirectoriesListBox.SelectedItem.ToString(); if (item != string.Empty) { _directories.Remove(item); _extensions.Remove(item); _indexSubdirectories.Remove(item); _includeDirectories.Remove(item); _dirPlugins.Remove(item); DirectoriesListBox.Items.Clear(); DirectoriesListBox.Items.AddRange(_directories.ToArray()); //if (_directories.Count == 0) //{ FileTypesListBox.Items.Clear(); //IncludeSubDirCheckBox.Checked = false; OptionsListBox.SetItemChecked(0, false); //} //else //{ // DirectoriesListBox.SelectedIndex = 0; //} } } }
private void AddDirectoryButton_Click(object sender, EventArgs e) { //_directoryPicker = new DirectoryPicker(); _directoryPicker = new FolderBrowserDialog(); _directoryPicker.ShowNewFolderButton = false; _directoryPicker.Description = "Please select a directory:"; ContextLib.DataContainers.Multimedia.MultiLevelData data = UserContext.Instance.GetSelectedContent(); string actual_path = UserContext.Instance.GetExplorerPath(true); if (data.FileList != null && data.FileList.Length > 0 && Directory.Exists(data.FileList[0])) { _directoryPicker.SelectedPath = data.FileList[0]; } else if (actual_path != CommonInfo.UserDesktop) { _directoryPicker.SelectedPath = actual_path; } else if (data.Text != null && Directory.Exists(data.Text)) { _directoryPicker.SelectedPath = data.Text; } if (_directoryPicker.ShowDialog() == DialogResult.OK) { //string dir = _directoryPicker.directoryInput.Text; string dir = (CommonInfo.IsPortable ? FileNameManipulator.RelativePath(_directoryPicker.SelectedPath, Environment.CurrentDirectory) : _directoryPicker.SelectedPath); if (dir[dir.Length - 1] != '\\') { dir += "\\"; } if (_directories.Contains(dir)) { DialogResult res = MessageBox.Show("This directory has already been added. Do you want to pick a different one?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (res == DialogResult.Yes) { AddDirectoryButton_Click(sender, e); } return; } _directories.Add(dir); _extensions.Add(dir, new List <string>()); _indexSubdirectories.Add(dir, false); _includeDirectories.Add(dir, false); _dirPlugins.Add(dir, new List <string>()); DirectoriesListBox.Items.Clear(); DirectoriesListBox.Items.AddRange(_directories.ToArray()); FileTypesListBox.Items.Clear(); FileTypesListBox.Items.AddRange(_extensions[dir].ToArray()); //IncludeSubDirCheckBox.Checked = _indexSubdirectories[dir]; OptionsListBox.SetItemChecked(1, _indexSubdirectories[dir]); OptionsListBox.SetItemChecked(0, _includeDirectories[dir]); } _directoryPicker.Dispose(); _directoryPicker = null; }
void DirectoriesListBox_SelectedIndexChanged(object sender, EventArgs e) { if (DirectoriesListBox.SelectedIndex != ListBox.NoMatches) { FileTypesListBox.Items.Clear(); FileTypesListBox.Items.AddRange(_extensions[DirectoriesListBox.SelectedItem.ToString()].ToArray()); //IncludeSubDirCheckBox.Checked = _indexSubdirectories[DirectoriesListBox.SelectedItem.ToString()]; OptionsListBox.SetItemChecked(0, _includeDirectories[DirectoriesListBox.SelectedItem.ToString()]); OptionsListBox.SetItemChecked(1, _indexSubdirectories[DirectoriesListBox.SelectedItem.ToString()]); string item = DirectoriesListBox.SelectedItem.ToString(); for (int i = 0; i < _indexerPlugins.Count; i++) { string plugin = _indexerPlugins[i].Name; if (_dirPlugins[item].Contains(plugin)) { OptionsListBox.SetItemChecked(_plugins_map_options[plugin], true); } else { OptionsListBox.SetItemChecked(_plugins_map_options[plugin], false); } } } }