private void AddTweet(TweetViewModel tvm) { var atdtvm = new TabDependentTweetViewModel(tvm, this.Parent); if (this._tweetsSource.Contains(atdtvm)) { return; } if (Setting.Instance.TimelineExperienceProperty.UseIntelligentOrdering && DateTime.Now.Subtract(tvm.CreatedAt).TotalSeconds < Setting.Instance.TimelineExperienceProperty.IntelligentOrderingThresholdSec) { if (Setting.Instance.TimelineExperienceProperty.OrderByAscending) { this._tweetsSource.AddLastSingle(atdtvm); } else { this._tweetsSource.AddTopSingle(atdtvm); } } else { this._tweetsSource.AddOrderedSingle( atdtvm, Setting.Instance.TimelineExperienceProperty.OrderByAscending, t => t.Tweet.CreatedAt); } OnNewTweetReceived(); }
private void CreateUserTab(TabDependentTweetViewModel tvm, bool newColumn) { var filter = new[] { new FilterUserId(tvm.Tweet.Status.User.NumericId) }; var desc = "@" + tvm.Tweet.Status.User.ScreenName; if (newColumn) { var column = tvm.Parent.Parent.Parent.CreateColumn(); column.AddTab(new Configuration.Tabs.TabProperty() { Name = desc, TweetSources = filter }); } else { tvm.Parent.Parent.AddTab(new Configuration.Tabs.TabProperty() { Name = desc, TweetSources = filter }); } }