private void TryAddView(ViewType viewType, ViewModelType viewModelType, TweetListType columnType, string searchTerm, string searchName, Decimal? existingSearchID = null, MetroTwitStatusBase Tweet = null, TwitterList ListItem = null) { if (viewType == ViewType.Column) { this.TryAddColumn(false, (TweetListViewModel)null, columnType, searchTerm, searchName, existingSearchID); } else { if (viewType != ViewType.Popup) return; if (InlinePopup.CurrentInline != null) InlinePopup.CurrentInline.Close(); Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>((object)null), (object)this.MultiAccountifyToken((System.Enum)ViewModelMessages.SetNewTweetEntryOptionsContainer)); UserControl view = (UserControl)null; switch (viewModelType) { case ViewModelType.TweetList: if (columnType == TweetListType.Conversation) { string replyToScreenName = Tweet.InReplyToScreenName; TweetListViewModel tweetListViewModel = new TweetListViewModel(Guid.Empty, columnType, this.TwitterAccountID, new MetroTwitColumn(), string.Empty, replyToScreenName, string.Empty, new Decimal?(), false, Tweet, Tweet.ID) { EnableNotifications = false, TitleBarVisible = false, SettingsVisible = false }; TweetListView tweetListView = new TweetListView(); tweetListView.DataContext = (object)tweetListViewModel; view = (UserControl)tweetListView; break; } else { TweetListViewModel tweetListViewModel; if (Tweet != null && Tweet.AdUrls != null && !string.IsNullOrEmpty(Tweet.AdUrls.friendship_url)) tweetListViewModel = new TweetListViewModel(Guid.Empty, columnType, this.TwitterAccountID, new MetroTwitColumn(), string.Empty, searchTerm, searchName, new Decimal?(), false, (MetroTwitStatusBase)null, new Decimal(0)) { EnableNotifications = false, AdFollowUrl = Tweet.AdUrls.friendship_url, TitleBarVisible = false, SettingsVisible = false }; else tweetListViewModel = new TweetListViewModel(Guid.Empty, columnType, this.TwitterAccountID, new MetroTwitColumn(), string.Empty, searchTerm, searchName, new Decimal?(), false, (MetroTwitStatusBase)null, new Decimal(0)) { EnableNotifications = false, TitleBarVisible = false, SettingsVisible = false }; tweetListViewModel.AllowPin = columnType != TweetListType.RetweetUsers; ProfileView profileView = new ProfileView(); profileView.DataContext = (object)tweetListViewModel; view = (UserControl)profileView; break; } case ViewModelType.Lists: ListsView listsView = new ListsView(); listsView.DataContext = (object)new ListsViewModel(this.TwitterAccountID) { PopupTitle = "lists", AllowPin = false }; view = (UserControl)listsView; break; case ViewModelType.Trends: TrendsView trendsView1 = new TrendsView(); TrendsView trendsView2 = trendsView1; TrendsViewModel trendsViewModel1 = new TrendsViewModel(); trendsViewModel1.TwitterAccountID = this.TwitterAccountID; trendsViewModel1.AllowPin = false; trendsViewModel1.PopupTitle = "twitter trends"; TrendsViewModel trendsViewModel2 = trendsViewModel1; trendsView2.DataContext = (object)trendsViewModel2; view = (UserControl)trendsView1; break; case ViewModelType.ManageList: ManageTwitterListView manageTwitterListView = new ManageTwitterListView(); manageTwitterListView.DataContext = (object)new ManageTwitterListViewModel(ListItem != null ? ListItem : (TwitterList)null, this.TwitterAccountID) { AllowPin = false, PopupTitle = (ListItem != null ? string.Format("Edit {0}", (object)ListItem.Name) : "create new list") }; view = (UserControl)manageTwitterListView; break; } PopupService.ShowView(view); } }
private TweetListView GetSpecialTweetListView(TweetListViewModel viewModel, TweetListType tweetListType, string title) { if (!App.PermanentSpecialTweetListViews.ContainsKey(this.TwitterAccountID)) App.PermanentSpecialTweetListViews.Add(this.TwitterAccountID, new Dictionary<TweetListType, TweetListView>()); if (!App.PermanentSpecialTweetListViews[this.TwitterAccountID].ContainsKey(tweetListType)) { viewModel.AllowPin = false; viewModel.PopupTitle = title; Dictionary<TweetListType, TweetListView> dictionary = App.PermanentSpecialTweetListViews[this.TwitterAccountID]; int num = (int)tweetListType; TweetListView tweetListView1 = new TweetListView(); tweetListView1.DataContext = (object)viewModel; TweetListView tweetListView2 = tweetListView1; dictionary.Add((TweetListType)num, tweetListView2); } TweetListView tweetListView = App.PermanentSpecialTweetListViews[this.TwitterAccountID][tweetListType]; if (tweetListView.DataContext is IPopupViewModel) (tweetListView.DataContext as IPopupViewModel).AllowPin = false; return tweetListView; }
private void Friends() { if (!this.TwitViewModel.ColumnsToShow.Contains(this.TwitViewModel.FriendsVM)) { TweetListView specialTweetListView = this.GetSpecialTweetListView(this.TwitViewModel.FriendsVM, TweetListType.FriendsTimeline, "friends"); this.TwitViewModel.FriendsVM.AllowPin = true; specialTweetListView.ColumnTitle.ClearValue(UIElement.VisibilityProperty); specialTweetListView.ColumnTitle.Visibility = Visibility.Collapsed; specialTweetListView.ColumnOptionsButton.Visibility = Visibility.Collapsed; Messenger.Default.Send<GenericMessage<UserControl>>(new GenericMessage<UserControl>((UserControl)specialTweetListView), (object)this.MultiAccountifyToken((System.Enum)ViewModelMessages.ShowExistingViewInPopup)); } else { if (this.friendsView == null) { TweetListView tweetListView1 = new TweetListView(); tweetListView1.DataContext = (object)this.TwitViewModel.FriendsVM; TweetListView tweetListView2 = tweetListView1; tweetListView2.ColumnTitle.ClearValue(UIElement.VisibilityProperty); tweetListView2.ColumnTitle.Visibility = Visibility.Collapsed; this.TwitViewModel.FriendsVM.AllowPin = false; tweetListView2.ColumnOptionsButton.Visibility = Visibility.Collapsed; this.friendsView = tweetListView2; } Messenger.Default.Send<GenericMessage<UserControl>>(new GenericMessage<UserControl>((UserControl)this.friendsView), (object)this.MultiAccountifyToken((System.Enum)ViewModelMessages.ShowExistingViewInPopup)); } }
private DataGridColumn CreateColumn(TweetListViewModel columnToShow) { DataGridColumn dataGridColumn1 = (DataGridColumn) new DataGridTextColumn(); DataGridColumn dataGridColumn2 = dataGridColumn1; TweetListView tweetListView1 = new TweetListView(); tweetListView1.DataContext = (object) columnToShow; TweetListView tweetListView2 = tweetListView1; dataGridColumn2.Header = (object) tweetListView2; dataGridColumn1.MinWidth = 300.0; return dataGridColumn1; }