void loginWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { // tell user call to server is completed SetLoading(false); // login failed if result is null ExtendedUser loggedInUser = null; if (null == e.Result) { txtError.Visibility = Visibility.Visible; return; } else { loggedInUser = e.Result as ExtendedUser; } // login successful, see if we need to save user information if (cbRememberMe.IsChecked == true) { ConfigurationManager.Default.SetUserSetting(_username, _password); } else { //ConfigurationManager.Default.RemoveUserSetting(_username); ConfigurationManager.Default.SetUserSetting(_username, null); ConfigurationManager.Default.LastUser = null; } //Properties.Settings.Default.Save(); ConfigurationManager.Default.Save(); // once we get here, hide the error message which may have been displayed in previous login attempts txtError.Visibility = Visibility.Hidden; // raise login complete event if (null != LoginCompleted) { LoginCompletedEventArgs args = new LoginCompletedEventArgs { Username = _username, Password = _password, LoggedInUser = loggedInUser }; LoginCompleted(this, args); } }
void ucLogin_LoginCompleted(object sender, LoginCompletedEventArgs e) { // retrieve logged in user ExtendedUser loggedInUser = e.LoggedInUser; // apply user settings after login completed UserSetting setting = ConfigurationManager.Default.GetUserSetting(loggedInUser.ScreenName); Left = setting.WindowLocation.X; Top = setting.WindowLocation.Y; Width = setting.WindowSize.Width; Height = setting.WindowSize.Height; _timerInterval = setting.RefreshTimerInterval; _isWebPagePreviewEnabled = setting.IsWebPagePreviewEnabled; // show twitter main view LoginView.Visibility = Visibility.Hidden; MainView.Visibility = Visibility.Visible; // init twitter application logic _twitter = new TwitterApp(e.Username, e.Password, loggedInUser); // hook up twitter app event handlers _twitter.TinyUrlCompleted += new TwitterApp.TinyUrlCompletedHandler(TinyUrlCompleted); _twitter.TwitPicCompleted += new TwitterApp.TwitPicCompletedHandler(TwitPicCompleted); _twitter.TweetsManager.TweetsManagerOperationCompleted += new TweetsManager.TweetsManagerCompletedHandler(TweetsManager_OperationCompleted); _twitter.TweetsManager.OperationError += new BaseCollectionManager<Status>.OperationErrorHandler(Twitter_OperationError); _twitter.RepliesManager.OperationCompleted += new BaseCollectionManager<Status>.OperationCompletedHandler(RepliesManager_OperationCompleted); _twitter.RepliesManager.OperationError += new BaseCollectionManager<Status>.OperationErrorHandler(Twitter_OperationError); _twitter.DirectMessageManager.OperationCompleted += new BaseCollectionManager<DirectMessage>.OperationCompletedHandler(DirectMessagesManager_OperationCompleted); _twitter.DirectMessageManager.OperationError += new BaseCollectionManager<DirectMessage>.OperationErrorHandler(Twitter_OperationError); _twitter.UserProfileManager.UserProfileOperationCompleted += new UserProfileManager.UserProfileOperationCompletedHandler(UserProfileOperationCompleted); _twitter.UserProfileManager.OperationError += new BaseManager.OperationErrorHandler(Twitter_OperationError); _twitter.FriendsManager.OperationCompleted += new BaseManager.OperationCompletedHandler(FriendsManager_OperationCompleted); _twitter.FriendsManager.OperationError += new BaseManager.OperationErrorHandler(Twitter_OperationError); //_twitter.SearchManager.OperationCompleted += new BaseManager.OperationCompletedHandler(SearchManager_OperationCompleted); //_twitter.SearchManager.OperationError += new BaseManager.OperationErrorHandler(SearchManager_OperationError); //_twitter.SavedSearchesManager.Initialize( // ConfigurationManager.Default.SavedSearches, // SearchManager_OperationCompleted, // SearchManager_OperationError); _twitter.FavouritesManager.OperationCompleted += new BaseManager.OperationCompletedHandler(FavouritesManager_OperationCompleted); _twitter.FavouritesManager.OperationError += new BaseManager.OperationErrorHandler(FavouritesManager_OperationError); // create system tray icon _trayIcon = new System.Windows.Forms.NotifyIcon(); _trayIcon.Icon = new System.Drawing.Icon(@"Images\tray.ico"); _trayIcon.Click += new EventHandler(trayIcon_Click); _trayIcon.Visible = true; // set data context and data source SelectedUser = loggedInUser; ddpProfile.DataContext = this; icAllTweets.ItemsSource = AllTweets; icAllReplies.ItemsSource = AllReplies; icDirectMessages.ItemsSource = AllDirectMessages; icFriends.ItemsSource = AllFriends; icUserTweets.ItemsSource = SelectedUserTweets; icAllFavourites.ItemsSource = AllFavourites; lbFollowing.ItemsSource = AllFriends; // get data from twitter api _twitter.TweetsManager.RefreshAllAsync(); _twitter.RepliesManager.RefreshAllAsync(); _twitter.DirectMessageManager.RefreshAllAsync(); _twitter.UserProfileManager.GetUserDetailsAsync(LoggedInUser.Id); _twitter.FriendsManager.GetFriendsAsync(); _twitter.FavouritesManager.GetFavouritesAsync(); // init categories manager and create tab for each categories CategoriesManager.Initialize(loggedInUser.ScreenName, AllTweets); foreach (string categoryName in CategoriesManager.GetCategoryNames()) { // init tweets panel control for category TweetsPanelControl tweetsPanel = new TweetsPanelControl(); tweetsPanel.ItemsSource = CategoriesManager.GetCategoryView(categoryName); tweetsPanel.IsShowMoreButton = Visibility.Collapsed; tweetsPanel.AvatarClicked += new MouseButtonEventHandler(imgAvatar_MouseDown); tweetsPanel.TweetTextLoaded += new RoutedEventHandler(TextBlock_Loaded); tweetsPanel.ReplyClicked += new RoutedEventHandler(btnReply_Click); tweetsPanel.DirectMessageClicked += new RoutedEventHandler(btnDirectMessage_Click); tweetsPanel.RetweetClicked += new RoutedEventHandler(btnRetweet_Click); tweetsPanel.DeleteClicked += new RoutedEventHandler(btnDelete_Click); tweetsPanel.FavouriteClicked += new RoutedEventHandler(cbFavourite_Click); // init tab for cateogry CategoryTabItem tab = CreateCategoryTab(categoryName, tweetsPanel); // add tab to tab host tcCategories.Items.Insert(tcCategories.Items.Count - 1, tab); } // load saved searches foreach (string keyword in ConfigurationManager.Default.SavedSearches) { TabItem searchTab = CreateSearch(keyword); tcSearches.Items.Add(searchTab); tcSearches.SelectedItem = searchTab; } tcSearches.SelectedIndex = 0; // init refresh timer _timer = new Timer( new TimerCallback(RefreshTimer), null, TimeSpan.FromSeconds((double)_timerInterval), TimeSpan.FromSeconds((double)_timerInterval)); // init notification window _notififcation = new AlertWindow(); // init url preview control _browser = new WebPagePreviewControl(); _browser.Owner = this; // make sure unhandled exceptions will not crash app Application.Current.Dispatcher.UnhandledException += new DispatcherUnhandledExceptionEventHandler(Dispatcher_UnhandledException); }
void loginWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { // tell user call to server is completed SetLoading(false); // login failed if result is null ExtendedUser loggedInUser = null; if (null == e.Result) { txtError.Visibility = Visibility.Visible; return; } else { loggedInUser = e.Result as ExtendedUser; } // login successful, see if we need to save user information if (cbRememberMe.IsChecked == true) { ConfigurationManager.Default.SetUserSetting(_username, _password); } else { //ConfigurationManager.Default.RemoveUserSetting(_username); ConfigurationManager.Default.SetUserSetting(_username, null); ConfigurationManager.Default.LastUser = null; } //Properties.Settings.Default.Save(); ConfigurationManager.Default.Save(); // once we get here, hide the error message which may have been displayed in previous login attempts txtError.Visibility = Visibility.Hidden; // raise login complete event if (null != LoginCompleted) { LoginCompletedEventArgs args = new LoginCompletedEventArgs { Username = _username, Password = _password, LoggedInUser = loggedInUser }; LoginCompleted(this, args); } }