/// <summary> /// Auto check child nodes when parent node is checked /// </summary> private void TvwSetting_AfterCheck(object sender, TreeViewEventArgs e) { TvwSettings.BeginUpdate(); foreach (TreeNode child in e.Node.Nodes) { child.Checked = e.Node.Checked; } TvwSettings.EndUpdate(); }
public void InitializeSettings() { TvwSettings.Nodes.Clear(); // Root node TreeNode root = new TreeNode("Windows 10 (" + WindowsHelper.GetOS() + ")") { Checked = false }; // Settings > Privacy TreeNode privacy = new TreeNode(Locale.rootSettingsPrivacy, new TreeNode[] { new SettingNode(new Setting.Privacy.DisableTelemetry()), new SettingNode(new Setting.Privacy.DisableCompTelemetry()), new SettingNode(new Setting.Privacy.DisableAds()), new SettingNode(new Setting.Privacy.DisableWiFi()), new SettingNode(new Setting.Privacy.DiagnosticData()), new SettingNode(new Setting.Privacy.HandwritingData()), new SettingNode(new Setting.Privacy.DisableBiometrics()), new SettingNode(new Setting.Privacy.DisableTimeline()), new SettingNode(new Setting.Privacy.DisableLocation()), new SettingNode(new Setting.Privacy.DisableFeedback()), new SettingNode(new Setting.Privacy.DisableTips()), new SettingNode(new Setting.Privacy.DisableTipsLockScreen()), new SettingNode(new Setting.Privacy.InstalledApps()), new SettingNode(new Setting.Privacy.SuggestedApps()), new SettingNode(new Setting.Privacy.SuggestedContent()), new SettingNode(new Setting.Privacy.DisableCEIP()), new SettingNode(new Setting.Privacy.DisableHEIP()), new SettingNode(new Setting.Privacy.DisableMSExperiments()), new SettingNode(new Setting.Privacy.InventoryCollector()), new SettingNode(new Setting.Privacy.GetMoreOutOfWindows()), }) { //Checked = true, //ToolTipText = "Privacy settings" }; // Policies > Cortana TreeNode cortana = new TreeNode(Locale.rootSettingsCortana, new TreeNode[] { new SettingNode(new Setting.Cortana.DisableCortana()), new SettingNode(new Setting.Cortana.DisableBing()), new SettingNode(new Setting.Cortana.UninstallCortana()), }); // Settings > Bloatware TreeNode bloatware = new TreeNode(Locale.rootSettingsBloatware, new TreeNode[] { new SettingNode(new Setting.Bloatware.RemoveUWPAll()), new SettingNode(new Setting.Bloatware.RemoveUWPDefaults()), }) { ToolTipText = Locale.rootSettingsBloatwareInfo }; // Settings > App permissions TreeNode apps = new TreeNode(Locale.rootSettingsApps, new TreeNode[] { new SettingNode(new Setting.Apps.AppNotifications()), new SettingNode(new Setting.Apps.Camera()), new SettingNode(new Setting.Apps.Microphone()), new SettingNode(new Setting.Apps.Call()), new SettingNode(new Setting.Apps.Notifications()), new SettingNode(new Setting.Apps.AccountInfo()), new SettingNode(new Setting.Apps.Contacts()), new SettingNode(new Setting.Apps.Calendar()), new SettingNode(new Setting.Apps.CallHistory()), new SettingNode(new Setting.Apps.Email()), new SettingNode(new Setting.Apps.Tasks()), new SettingNode(new Setting.Apps.Messaging()), new SettingNode(new Setting.Apps.Motion()), new SettingNode(new Setting.Apps.OtherDevices()), new SettingNode(new Setting.Apps.BackgroundApps()), new SettingNode(new Setting.Apps.TrackingApps()), new SettingNode(new Setting.Apps.DiagnosticInformation()), new SettingNode(new Setting.Apps.Documents()), new SettingNode(new Setting.Apps.Pictures()), new SettingNode(new Setting.Apps.Videos()), new SettingNode(new Setting.Apps.Radios()), new SettingNode(new Setting.Apps.FileSystem()), new SettingNode(new Setting.Apps.EyeGaze()), new SettingNode(new Setting.Apps.CellularData()), }); // Settings > Updates TreeNode updates = new TreeNode(Locale.rootSettingsUpdates, new TreeNode[] { new SettingNode(new Setting.Updates.DisableUpdates()), new SettingNode(new Setting.Updates.DisableUpdatesSharing()), new SettingNode(new Setting.Updates.BlockMajorUpdates()), }); // Settings > Gaming TreeNode gaming = new TreeNode(Locale.rootSettingsGaming, new TreeNode[] { new SettingNode(new Setting.Gaming.DisableGameBar()), }); // Settings > Windows Defender TreeNode defender = new TreeNode(Locale.rootSettingsDefender, new TreeNode[] { new SettingNode(new Setting.Defender.DisableSmartScreenStore()), }); // Settings > Microsoft Edge TreeNode edge = new TreeNode(Locale.rootSettingsEdge, new TreeNode[] { new SettingNode(new Setting.Edge.DisableAutoFillCredits()), new SettingNode(new Setting.Edge.EdgeBackground()), new SettingNode(new Setting.Edge.DisableSync()), new SettingNode(new Setting.Edge.BlockEdgeRollout()), }); // Settings > Security TreeNode security = new TreeNode(Locale.rootSettingsSecurity, new TreeNode[] { new SettingNode(new Setting.Security.DisablePassword()), new SettingNode(new Setting.Security.WindowsDRM()), }); // Add root nodes root.Nodes.AddRange(new TreeNode[] { privacy, cortana, bloatware, apps, updates, gaming, defender, edge, security, }); TvwSettings.Nodes.Add(root); TvwSettings.ExpandAll(); // Preselect nodes CheckNodes(privacy); // Set up ToolTip text for TvwSettings ToolTip tooltip = new ToolTip(); tooltip.AutoPopDelay = 15000; tooltip.IsBalloon = true; tooltip.SetToolTip(this.TvwSettings, Locale.LblSettings); }