private void tabsFilterOptions_Selecting(object sender, TabControlCancelEventArgs e) { if (e.Action == TabControlAction.Selecting && e.TabPage == tabConfig) { e.Cancel = true; var form = new SettingsForm(new List <VisibleFilter>(VisibleFilterHelper.Deserialize(Settings.Default.VisibleFilters))); if (form.ShowDialog() == DialogResult.OK) { var filters = form.RetrieveVisibleFilters(); ApplyVisibleTabs(filters); Settings.Default.VisibleFilters = VisibleFilterHelper.Serialize(filters); Settings.Default.Save(); e.Cancel = false; } } }
public MainForm(string startPath) { InitializeComponent(); this.Icon = Resources.Icon; _tabBucket = new Collection <TabPage>(); // Load favorites if (Settings.Default.FolderFavorites != null) { cmbFolder.Items.AddRange(Settings.Default.FolderFavorites.Cast <object>().ToArray()); } if (!string.IsNullOrEmpty(startPath)) { //TODO: Resolve strange GUIDS in paths, like libraries. if (startPath.StartsWith("::")) { MessageBox.Show(@"Finding files has no support for searching in libraries or other system folders.\r\nPlease use the search tool directly on the folder or choose it in the directory picker.", @"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { cmbFolder.Text = startPath; } } if (string.IsNullOrEmpty(cmbFolder.Text)) { cmbFolder.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); } chkFolderFavorites.Font = new Font("Wingdings 2", chkFolderFavorites.Font.Size); cmbSizeOperator.SelectedIndex = 0; // +/- cmbSizeMultiplier.SelectedIndex = 2; // MB cmbDateOlderMultiplier.SelectedIndex = 2; // days // Add tags to the tabs so we can find it back. tabContent.Tag = new VisibleFilter(DefaultFilter.Content) { Visible = true }; tabDates.Tag = new VisibleFilter(DefaultFilter.Dates) { Visible = true }; tabOthers.Tag = new VisibleFilter(DefaultFilter.SizeAndAttributes) { Visible = true }; tabDuplicates.Tag = new VisibleFilter(DefaultFilter.Duplicates) { Visible = true }; _tabBucket.Add(tabContent); _tabBucket.Add(tabDates); _tabBucket.Add(tabOthers); _tabBucket.Add(tabDuplicates); LoadPlugins(); ApplyVisibleTabs(VisibleFilterHelper.Deserialize(Settings.Default.VisibleFilters)); this.Shown += (sender, args) => cmbCriteria.Focus(); }