private void contextMarkUnReadAllInView_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; if (menuItem != null) { TwitterItem item = menuItem.CommandParameter as TwitterItem; ThreadSaveObservableCollection <TwitterItem> AllTwitterItemsInView = new ThreadSaveObservableCollection <TwitterItem>(); foreach (IItem iitem in AppController.Current.mainWindow.ListOfItems.listView_Tweets.Items) { if (iitem.GetType() == typeof(TwitterItem)) { AllTwitterItemsInView.Add(iitem as TwitterItem); } } foreach (TwitterItem twitterItem in AllTwitterItemsInView) { if (twitterItem != null) { twitterItem.markUnread(); GeneralFunctions.ReadStates.RemoveTweetAsBeingRead(twitterItem.Id); } } } }
// ------------------------------ public static TwitterItem retweetItem(AccountTwitter account, TwitterItem item) { try { RetweetOptions options = new TweetSharp.RetweetOptions(); if (item.RetweetedItem != null) { options.Id = Convert.ToInt64(item.RetweetedItem.Id); } else { options.Id = Convert.ToInt64(item.Id); } TwitterStatus retweet = account.twitterService.Retweet(options); if (retweet != null) { item.isRetweetedByMe = true; } else { System.Windows.MessageBox.Show("Retweet failed", "Unknown error"); } return(item); } catch (Exception exp) { System.Windows.MessageBox.Show("Retweet failed", exp.Message); return(null); } }
void Twitter_DownloadStringCompleted(object senders, DownloadStringCompletedEventArgs e) { try { List <TwitterItem> contentList = new List <TwitterItem>(); JArray Twit = JArray.Parse(e.Result); int count = 0; while (count < Twit.Count) { TwitterItem tweet = new TwitterItem(); tweet.ImageSource = Twit[count]["user"]["profile_image_url"].ToString(); tweet.UserName = Twit[count]["user"]["screen_name"].ToString(); tweet.Message = Twit[count]["text"].ToString(); tweet.TweetID = Twit[count]["id_str"].ToString(); contentList.Add(tweet); count++; } tweets.ItemsSource = contentList.ToList(); } catch (Exception error) { MessageBox.Show("A network error has occured"); Console.WriteLine("An error occured: " + error); } }
private void ButtonGeoLocation_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { try { if (Properties.Settings.Default.LocationMapService == "OpenStreetMap") { System.Diagnostics.Process.Start("http://open.mapquestapi.com/nominatim/v1/search.php?q=" + System.Web.HttpUtility.UrlEncode(item.Place.FullLocation)); } else { System.Diagnostics.Process.Start("http://maps.google.de/maps?q=" + System.Web.HttpUtility.UrlEncode(item.Place.FullLocation)); } } catch (Exception exp) { AppController.Current.sendNotification("Error", "Opening link failed", "While tryping to open the link Windows failed with following message: " + exp.Message, null, null); AppController.Current.Logger.writeToLogfile(exp); } } } }
public static bool setFavoritState(AccountTwitter account, TwitterItem item, bool newState) { try { TwitterStatus status; if (newState) { FavoriteTweetOptions options = new FavoriteTweetOptions(); options.Id = Convert.ToInt64(item.Id); status = account.twitterService.FavoriteTweet(options); } else { UnfavoriteTweetOptions options = new TweetSharp.UnfavoriteTweetOptions(); options.Id = Convert.ToInt64(item.Id); status = account.twitterService.UnfavoriteTweet(options); } if (status != null) { return(true); } else { return(false); } } catch (Exception exp) { System.Windows.MessageBox.Show(exp.Message, "Sending of dm failed"); return(false); } }
private void MenuItemBlockUser_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; if (menuItem != null) { TwitterItem item = menuItem.CommandParameter as TwitterItem; if (item != null) { if (item.Author != null) { Filter filter = new Filter(); filter.Name = "@" + item.Author.Username; filter.IsExcludeFilter = true; filter.FilterAuthor = true; filter.FilterText = false; filter.FilterString = item.Author.Username; AppController.Current.AllFilters.Add(filter); View view = AppController.Current.mainWindow.comboBoxViews.SelectedItem as View; if (view != null) { view.subscribeToFilter(filter); } } } } }
void backgroundWorkerBuildConversation_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e) { TwitterItem item = (TwitterItem)e.UserState; item.accountId = startItem.accountId; conversationItems.Add(item); }
private void buttonRetweet_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { if (AppController.Current.AllTwitterAccounts.Count == 1) { AppController.Current.retweet(AppController.Current.AllTwitterAccounts[0] as AccountTwitter, item); } else { AccountTwitter account = AppController.Current.getAccountForId(item.accountId); if (account == null) { AppController.Current.retweet(AppController.Current.AllTwitterAccounts[0] as AccountTwitter, item); } AppController.Current.retweet(account, item); } } } }
public ShowConversationWindow(TwitterItem item) { InitializeComponent(); if (item == null) { return; } conversationItems = new ObservableCollection <TwitterItem>(); conversationItems.Add(item); startItem = item; listBoxItems.listView_Tweets.ItemsSource = conversationItems; listBoxItems.listView_Tweets.Items.SortDescriptions.Add(new SortDescription("CreatedAt", ListSortDirection.Descending)); backgroundWorkerBuildConversation = new System.ComponentModel.BackgroundWorker(); backgroundWorkerBuildConversation.WorkerSupportsCancellation = true; backgroundWorkerBuildConversation.WorkerReportsProgress = true; backgroundWorkerBuildConversation.ProgressChanged += new ProgressChangedEventHandler(backgroundWorkerBuildConversation_ProgressChanged); backgroundWorkerBuildConversation.DoWork += new System.ComponentModel.DoWorkEventHandler(backgroundWorkerBuildConversation_DoWork); backgroundWorkerBuildConversation.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(backgroundWorkerBuildConversation_RunWorkerCompleted); backgroundWorkerBuildConversation.RunWorkerAsync(); if (AppController.Current.mainWindow != null) { this.Top = AppController.Current.mainWindow.Top; if (AppController.Current.mainWindow.Left > this.Width + 5) { this.Left = AppController.Current.mainWindow.Left - this.Width - 5; } else { this.Left = AppController.Current.mainWindow.Left + AppController.Current.mainWindow.Width + 5; } } Show(); }
private void contextMarkReadAllOlderInAccount_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; if (menuItem != null) { TwitterItem item = menuItem.CommandParameter as TwitterItem; if (item != null) { AccountTwitter account = AppController.Current.getAccountForId(item.accountId); if (account != null) { foreach (TwitterItem twitterItem in account.AllItems) { if (twitterItem != null) { if (twitterItem.Id <= item.Id) { twitterItem.markRead(); GeneralFunctions.ReadStates.AddTweetAsBeingRead(twitterItem.Id); } } } } } } }
public static TwitterItem getItemFromTwitterSearchResult(TwitterStatus result, AccountTwitter account) { AppController.Current.Logger.writeToLogfile("getItemFromTwitterSearchResult started"); TwitterItem item = getItemFromStatus(result, account); item.isSearchResult = true; AppController.Current.Logger.writeToLogfile("getItemFromTwitterSearchResult finihsed"); return(item); }
void menuItemCopyTweet_Click(object sender, RoutedEventArgs e) { TwitterItem item = this.DataContext as TwitterItem; if (item != null) { Clipboard.SetText(item.Text); } }
public void setToBeEditedItem(TwitterItem item) { toBeEditedItem = item; if (item != null) { textBoxTweet.textBoxContent.Text = item.Text; labelInReplyTo.Content = "Editing tweet - old version will be deleted"; labelInReplyTo.Visibility = Visibility.Visible; comboBoxAccount.comboBoxAccounts.SelectedItem = item.OwnAccountHavingWrittenThisTweet; } }
private void buttonDM_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { AppController.Current.openComposeNewTweet(null, item.Author.Username); } } }
private void buttonFavorit_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { AppController.Current.favoriteItem(item); } } }
private void buttonHumanReadableAgo_Click_1(object sender, RoutedEventArgs e) { TwitterItem item = this.DataContext as TwitterItem; if (item != null) { try { System.Diagnostics.Process.Start(item.itemPermaLink); } catch { } } }
private void ButtonConversation_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { UserInterface.Twitter.ShowConversationWindow window = new UserInterface.Twitter.ShowConversationWindow(item); } } }
public void isReplyToItem(TwitterItem item) { if (item == null) { return; } if (item.RetweetedItem != null) { item = item.RetweetedItem; } textBoxTweet.Text = "@" + item.Author.Username + " "; inReplyToId = item.Id; labelInReplyTo.Content = "In reply to @" + item.Author.Username; labelInReplyTo.ToolTip = item.Text; buttonSendTweet.Content = "Send reply"; labelInReplyTo.Visibility = Visibility.Visible; List <string> alreadyShownUser = new List <string>(); int positionOfCursor = textBoxTweet.Text.Length; int lengthOfSelection = 0; if (item.accountId != 0) { try { alreadyShownUser.Add("@" + AppController.Current.getAccountForId(item.accountId).Login.Username.ToLower()); } catch { } } alreadyShownUser.Add("@" + item.Author.Username.ToLower()); if (item.ElementsInText != null) { foreach (TextSubTypes.ISubType element in item.ElementsInText) { if (element.GetType() == typeof(TextSubTypes.User)) { TextSubTypes.User userEnt = element as TextSubTypes.User; if (!alreadyShownUser.Contains(userEnt.userName.ToLower())) { alreadyShownUser.Add(userEnt.userName.ToLower()); textBoxTweet.Text += userEnt.userName.TrimEnd(AppController.Current.TrimCharacters.ToArray()) + " "; lengthOfSelection += userEnt.userName.Length + 2; } } } } textBoxTweet.textBoxContent.Select(positionOfCursor, lengthOfSelection); textBoxTweet.textBoxContent.Focus(); }
void menuItemRetweet_Click(object sender, RoutedEventArgs e) { TwitterItem item = this.DataContext as TwitterItem; MenuItem menuItem = sender as MenuItem; if (menuItem != null) { AccountTwitter account = menuItem.CommandParameter as AccountTwitter; if (account != null) { AppController.Current.retweet(account, item); } } }
private void ButtonUsernameAuthorRetweet_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { ShowUser userInfo = new ShowUser(); userInfo.setPerson(item.RetweetedItem.Author, item.RetweetedItem.RetrievingAccount); userInfo.Show(); } } }
private void ButtonEditTweet_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { UserInterface.ComposeNewTweet editTweetWindow = new ComposeNewTweet(); editTweetWindow.setToBeEditedItem(item); editTweetWindow.Show(); } } }
void menuItemOpenInSearch_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; if (menuItem != null) { TwitterItem item = this.DataContext as TwitterItem; if (item != null) { AppController.Current.openSearchWindow(menuItem.CommandParameter.ToString(), item.RetrievingAccount); } AppController.Current.openSearchWindow(menuItem.CommandParameter.ToString(), AppController.Current.AllTwitterAccounts[0]); } }
private void ButtonDeleteTweet_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { if (item.IsOwnTweet) { item.DeleteThisTweet(); } } } }
private void MenuItemReportUser_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; if (menuItem != null) { TwitterItem item = menuItem.CommandParameter as TwitterItem; if (item != null) { AccountTwitter account = AppController.Current.getAccountForId(item.accountId); if (item.Author != null && account != null) { AppController.Current.ReportUser(account, item.Author); } } } }
private void AddTweet(TwitterItem item) { var newTweet = Instantiate(originalTweet); var tweetName = newTweet.transform.Find("TweetHolder/HandleHolder/ActualName"); tweetName.GetComponent <TMP_Text>().text = item.Name; var handle = newTweet.transform.Find("TweetHolder/HandleHolder/Handle"); handle.GetComponent <TMP_Text>().text = "@" + item.Username; var contents = newTweet.transform.Find("TweetHolder/TweetContents"); contents.GetComponent <TMP_Text>().text = item.Tweet; newTweet.transform.SetParent(feed.transform, false); newTweet.transform.SetAsFirstSibling(); }
static void hashtag_Click(object sender, RoutedEventArgs e) { Hyperlink link = sender as Hyperlink; IItem iitem = link.DataContext as IItem; if (iitem.GetType() == typeof(TwitterItem)) { TwitterItem item = iitem as TwitterItem; if (item != null) { AppController.Current.openSearchWindow("#" + link.TargetName, item.RetrievingAccount); } AppController.Current.openSearchWindow("#" + link.TargetName, AppController.Current.AllTwitterAccounts[0]); } else if (iitem.GetType() == typeof(ApnItem)) { System.Diagnostics.Process.Start("https://alpha.app.net/hashtags/" + link.TargetName); } }
private void buttonToggleReadState_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { if (item.IsRead) { item.markUnread(); } else { item.markRead(); } } } }
void menuItemTraditionalRetweet_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; if (menuItem != null) { TwitterItem item = this.DataContext as TwitterItem; if (item != null) { UserInterface.ComposeNewTweet composeWindow = new UserInterface.ComposeNewTweet(); composeWindow.textBoxTweet.Text = "RT @" + item.Author.Username + " " + item.Text; AccountTwitter account = AppController.Current.getAccountForId(item.accountId); if (account != null) { composeWindow.selectAccount(account); } composeWindow.Show(); } } }
private void buttonReply_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button != null) { TwitterItem item = button.CommandParameter as TwitterItem; if (item != null) { AccountTwitter account = AppController.Current.getAccountForId(item.accountId); if (!item.isDirectMessage) { AppController.Current.openComposeNewTweet(account, item); } else { AppController.Current.openComposeNewTweet(account, item.Author.Username); } } } }
void twitter_DownloadStringCompleted(object senders, DownloadStringCompletedEventArgs e) { int count = 0; try { List<TwitterItem> contentList = new List<TwitterItem>(); JArray ja = new JArray(); try { ja = JArray.Parse("[ " + e.Result + " ]"); } catch { MessageBox.Show("Error getting data from twitter, The data was invalid", "Error", MessageBoxButton.OK); } // for (count = 0; count < ja.Count; count++) { for (int i = 0; i < ja[count]["results"].Count(); i++) { TwitterItem content = new TwitterItem(); content.ImageSource = ja[count]["results"][i]["profile_image_url"].ToString(); content.UserName = ja[count]["results"][i]["from_user"].ToString(); content.Message = ja[count]["results"][i]["text"].ToString(); contentList.Add(content); } } tweetList.ItemsSource = contentList.ToList(); } catch { MessageBox.Show("A network error has occured, please try again!"); } }
private void OnTwitterServiceCompleted(object sender, OpenReadCompletedEventArgs e) { if (e.Error != null) { return; } var res = e.Result; var reader = new StreamReader(res); var result = reader.ReadToEnd(); XmlReader XMLReader = XmlReader.Create(new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(result))); XDocument xmlTweets = XDocument.Load(XMLReader); XNamespace ns = "http://www.w3.org/2005/Atom"; var xTweets = xmlTweets.Root.Descendants(ns + "entry"); this.lstTwitter.Items.Clear(); var cnt = 0; foreach (var xTweet in xTweets) { if (cnt < 4) { var link = xTweet.Elements(ns + "link").Where(x => x.Attribute("rel").Value == "image").SingleOrDefault(); var message = Regex.Replace(xTweet.Element(ns + "content").Value, "<.*?>", string.Empty); var tweet = new TwitterItem { ImageSource = link.Attribute("href").Value, Message = message, UserName = xTweet.Element(ns + "author").Element(ns + "name").Value }; this.lstTwitter.Items.Add(tweet); } cnt++; } twitterTimer.Start(); }