/// <summary> /// Called when selected tab index is changed. /// </summary> private void SelectedTabIndexChanged() { TabSwitcher.SwitchTo(SelectedTabIndex); // toggle header if (TabHeaderGroup.LayoutChildren.Count > SelectedTabIndex) { if (SelectedTabIndex < 0) { foreach (TabHeader tabHeader in TabHeaderGroup.LayoutChildren) { tabHeader.ToggleValue = false; } } else { (TabHeaderGroup.LayoutChildren[SelectedTabIndex] as TabHeader).ToggleValue = true; var tab = TabSwitcher.ActiveView as Tab; TabSelectionActionData data = new TabSelectionActionData { IsSelected = true, Tab = tab, Item = tab.Item }; TabSelected?.Invoke(this, data); } } }
/// <summary> /// Helper method to save Preferences. /// Returns true if saved successfully. /// </summary> private bool SavePreferences() { TabSwitcher tabSwitcher = new TabSwitcher(sideBarControl); for (int i = 0; i < preferencesPanelList.Count; i++) { PreferencesPanel preferencesPanel = (PreferencesPanel)preferencesPanelList[i]; tabSwitcher.Tab = i; if (!preferencesPanel.PrepareSave(new PreferencesPanel.SwitchToPanel(tabSwitcher.Switch))) { return(false); } } // Save every PreferencesPanel. for (int i = 0; i < preferencesPanelList.Count; i++) { PreferencesPanel preferencesPanel = (PreferencesPanel)preferencesPanelList[i]; if (preferencesPanel != null) { preferencesPanel.Save(); } } // Disable the Apply button. buttonApply.Enabled = false; //notify listeners that the preferences where saved. OnPreferencesSaved(EventArgs.Empty); return(true); }
/// <summary> /// Helper method to save Preferences. /// Returns true if saved successfully. /// </summary> private bool SavePreferences() { TabSwitcher tabSwitcher = new TabSwitcher(sideBarControl); for (int i = 0; i < preferencesPanelList.Count; i++) { PreferencesPanel preferencesPanel = (PreferencesPanel)preferencesPanelList[i]; tabSwitcher.Tab = i; if (!preferencesPanel.PrepareSave(new PreferencesPanel.SwitchToPanel(tabSwitcher.Switch))) { return false; } } // Save every PreferencesPanel. for (int i = 0; i < preferencesPanelList.Count; i++) { PreferencesPanel preferencesPanel = (PreferencesPanel)preferencesPanelList[i]; if (preferencesPanel != null) preferencesPanel.Save(); } // Disable the Apply button. buttonApply.Enabled = false; //notify listeners that the preferences where saved. OnPreferencesSaved(EventArgs.Empty); return true; }
private static void Main() { //Attempt to change the app.config at run time to set the ChromeUserDataDirectory to the user's path via Environment.UserName Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings["ChromeUserDataDirectory"].Value = $"C:\\Users\\{Environment.UserName}\\AppData\\Local\\Google\\Chrome\\User Data"; config.Save(ConfigurationSaveMode.Modified); _handler = ConsoleEventCallback; SetConsoleCtrlHandler(_handler, true); var chromeDriverTerminator = new ChromeDriverTerminator(); var chromeDriverCreator = new ChromeDriverCreator(); var internetConnectionChecker = new InternetConnectionChecker(); SpeechRecognitionEngine speechRecognitionEngine = new SpeechRecognitionEngine(SpeechRecognitionEngine.InstalledRecognizers().First(x => x.Culture.ToString() == "en-US")); var voiceListener = new VoiceListener(speechRecognitionEngine); chromeDriverTerminator.TerminateAll(); _driver = chromeDriverCreator.Create(ConfigurationManager.AppSettings["ChromeUserDataDirectory"]); var pingPlotterWindowStateChanger = new PingPlotterWindowStateChanger(new WindowStateChanger()); var tabLoader = new TabLoader(_driver, pingPlotterWindowStateChanger); var pageInitializer = new PageInitializer(_driver); var tabSwitcher = new TabSwitcher(voiceListener, _driver); _tourGuide = new TourGuide(internetConnectionChecker, tabLoader, pageInitializer, pingPlotterWindowStateChanger, tabSwitcher); var pages = Pages.OrderBy(x => "https://reg.usps.com/entreg/LoginAction_input?app=Phoenix&appURL=https://informeddelivery.usps.com".Equals(x.Url) ? 0 : 1).ToList(); try { _tourGuide.Guide(pages, _driver, OnLoadingPage, OnShowingPage, OnInitializingPage, OnExpired, OnError); void OnInitializingPage(int pageNumber, Page page) { OnVerbingPage(pageNumber, page, "Initializing"); } void OnLoadingPage(int pageNumber, Page page) { OnVerbingPage(pageNumber, page, "Loading"); } void OnShowingPage(int pageNumber, Page page) { OnVerbingPage(pageNumber, page, "Showing"); } void OnVerbingPage(int pageNumber, Page page, string verb) { Console.WriteLine($"{DateTime.Now}: {verb} ({pageNumber}/{pages.Count}): '{page.Url}'"); } void OnExpired(Page page) { Console.WriteLine($"{DateTime.Now}: Expired: '{page.Url}'"); } void OnError(Page page, Exception exception) { Console.WriteLine($"ERROR - {DateTime.Now}: {exception}"); Thread.Sleep(5000); } } catch (Exception e) { Console.WriteLine($"Program {DateTime.Now}: {e}"); Thread.Sleep(20000); ConsoleEventCallback(CtrlCloseEvent); Environment.Exit(1); } }