コード例 #1
0
 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);
     }
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 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));
     }
 }
コード例 #4
0
ファイル: TwitView.cs プロジェクト: unbearab1e/FlattyTweet
 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;
 }