protected override void OnNavigatedTo(NavigationEventArgs e) { setting = new StoreSettings(); var tweetCount = setting.TryGetValueWithDefault("TweetCount", 50); int index; switch (tweetCount) { case 50: index = 0; break; case 100: index = 1; break; default: index = 2; break; } TweetCountBox.SelectedIndex = index; var textFontSize = setting.TryGetValueWithDefault("TextFontSize", 1); TextFontSizeBox.SelectedIndex = textFontSize; }
protected override void OnNavigatedTo(NavigationEventArgs e) { setting = new StoreSettings(); var usingInAppBrowser = setting.TryGetValueWithDefault("UseInAppBrowser", true); UsingBrowserToggle.IsOn = usingInAppBrowser; }
public async Task Run() { var setting = new StoreSettings(); var count = setting.TryGetValueWithDefault("TweetCount", 50); switch (columnRole) { case ColumnRoles.HomeTimeLine: await GetHomeTimeline(count, null); break; case ColumnRoles.Mention: await GetMentionsTimeline(count, null); break; case ColumnRoles.DirectMessage: break; case ColumnRoles.Search: break; case ColumnRoles.UserTimeLine: await GetUserTimeline(count, null); break; default: throw new Exception("columnRollが指定されていません。"); } }
private async void Init() { TweetTextBox.TweetButton = TweetButton; TweetTextBox.TweetUserList = TweetUserList; TmpUserData.PreviousBackRequest = DateTime.Now; var storage = new StoreSettings(); var tokens = storage.TryGetValueWithDefault <ObservableCollection <AccessToken> >("AccessTokens", null); if (tokens != null) { if (tokens.Count != 0) { viewModel = new MainPageViewModel(tokens); MainGrid.DataContext = viewModel; RetweetUserListBox.DataContext = viewModel.tokens; } } else { var message = new MessageDialog(loader.GetString("MainPage_FirstContact_Text"), loader.GetString("MainPage_FirstContact_Title")); await message.ShowAsync(); Frame.Navigate(typeof(Pages.Settings.AuthorizePage)); } }
public AccountColumn(AccessToken accessToken, ObservableCollection <UserAccessToken> tokens) { this.accessToken = accessToken; tweetColumns = new ObservableCollection <TweetColumn>(); columnTitle = "@" + accessToken.screenName; this.tokens = tokens; var setting = new StoreSettings(); tweetCountUpper = setting.TryGetValueWithDefault("TweetCount", 50); accountColumnRole = AccountColumnRole.AccountColumn; }
public AuthorizePage() { this.InitializeComponent(); loader = new ResourceLoader(); authorizer = new OAuthorizer(); storage = new StoreSettings(); tokens = storage.TryGetValueWithDefault <ObservableCollection <AccessToken> >("AccessTokens", null); if (tokens == null) { tokens = new ObservableCollection <AccessToken>(); } Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested += AuthorizePage_BackRequested; }
protected override async void OnNavigatedTo(NavigationEventArgs e) { Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested += _BackRequested; var setting = new StoreSettings(); var tokens = setting.TryGetValueWithDefault <ObservableCollection <AccessToken> >("AccessTokens", null); if (tokens != null) { if (tokens.Count != 0) { users = TmpUserData.Accounts; SearchUserSelect.DataContext = users; userIndex = setting.TryGetValueWithDefault("SearchPage_UserIndex", 0); SearchUserSelect.SelectedItem = users[userIndex]; } else { var message = new MessageDialog("まずは設定からアカウントを登録する必要があります。", "おや?なにかがおかしいようです。"); await message.ShowAsync(); } } }
protected override void OnNavigatedTo(NavigationEventArgs e) { var storage = new StoreSettings(); tokens = storage.TryGetValueWithDefault <ObservableCollection <AccessToken> >("AccessTokens", null); if (tokens != null) { userAccessTokens = new ObservableCollection <UserAccessToken>(); foreach (var token in tokens) { userAccessTokens.Add(new UserAccessToken(token)); } accountList.DataContext = userAccessTokens; } }
public async void Init() { Images = new ObservableCollection <SendableImage>(); var storage = new StoreSettings(); var tokens = storage.TryGetValueWithDefault <ObservableCollection <AccessToken> >("AccessTokens", null); if (tokens != null) { if (tokens.Count != 0) { Tokens = TmpUserData.Accounts; } } else { var message = new MessageDialog("アカウントがありません。まずは設定からアカウントを追加してください。", "おや?なにかがおかしいようです。"); await message.ShowAsync(); } }
private void Load(object obj) { StoreSettings setting = new StoreSettings(); var count = setting.TryGetValueWithDefault("TweetCount", 50); switch (column.columnRole) { case TweetColumn.ColumnRoles.HomeTimeLine: column.GetAdditionalTimeline(count); break; case TweetColumn.ColumnRoles.Search: column.GetAdditionalSearchResult(count); break; case TweetColumn.ColumnRoles.UserTimeLine: column.GetAdditionalUserTimeline(count); break; default: throw new Exception("このカラムでは追加のツイートを取得できません。"); } }
private async void SearchButtonClicked(object sender, RoutedEventArgs e) { var word = SearchWordBox.Text; if (!string.IsNullOrEmpty(word)) { StoreSettings setting = new StoreSettings(); var count = setting.TryGetValueWithDefault("TweetCount", 50); column = new TweetColumn(users[SearchUserSelect.SelectedIndex].accessToken, TweetColumn.ColumnRoles.Search); TweetListItemsControl.DataContext = column.tweetList; try { await column.GetSearchResultTimeline(word, count, null); } catch (Exception ex) { var message = new MessageDialog(ex.Message, "おや?何かがおかしいようです。"); await message.ShowAsync(); } } else { } }
public async Task GetStream(int retryCount) { TwitterClient client = new TwitterClient(accessToken); IsStreamRunning = true; IsStreamRunningString = "Streaming..."; try { await client.GetStream(async (tweet) => { if (tweet != null) { switch (tweet.tweetRole)//ここでいろいろ振り分けるぞ~^^ { case AdvancedTweet.TweetRoles.Tweet: tweetColumns[0].tweetList.Insert(0, tweet); var user = tweet.tweet.entities.user_mentions.Where(x => x.screen_name == accessToken.screenName).FirstOrDefault(); if (user != null) { tweetColumns[1].tweetList.Insert(0, tweet); } break; case AdvancedTweet.TweetRoles.Event: break; case AdvancedTweet.TweetRoles.Delete: break; case AdvancedTweet.TweetRoles.Friends: var storage = new StoreSettings(); var cache = new StoreCache(); List <User> friends; if (TmpUserData.Friends == null) { TmpUserData.Friends = new ObservableCollection <User>(); } var prev = storage.TryGetValueWithDefault("FriendCount" + accessToken.screenName, 0); if (prev == tweet.friends.friends.Count) { friends = await cache.TryLoadCache <List <User> >("FriendObject" + accessToken.screenName); if (friends == null) { var friendsClient = new TwitterClient(accessToken); friends = await friendsClient.GetUsersDetailsByIds(tweet.friends.friends); storage.AddOrUpdateValue("FriendCount" + accessToken.screenName, tweet.friends.friends.Count); await cache.SaveCache("FriendObject" + accessToken.screenName, friends); } } else { var friendsClient = new TwitterClient(accessToken); friends = await friendsClient.GetUsersDetailsByIds(tweet.friends.friends); storage.AddOrUpdateValue("FriendCount" + accessToken.screenName, tweet.friends.friends.Count); await cache.SaveCache("FriendObject" + accessToken.screenName, friends); } if (friends != null) { foreach (var friend in friends) { TmpUserData.Friends.Add(friend); } } break; default: break; } foreach (var column in tweetColumns) { var count = column.tweetList.Count; if (count > tweetCountUpper) { column.tweetList.RemoveAt(count - 2); column.tweetList.RemoveAt(count - 3); } } } }); } catch (Exception ex) { if (retryCount < 3) { var message = new MessageDialog("ユーザーストリームへの接続に失敗しました。リトライします。" + ex.Message, "おや?なにかがおかしいようです。"); await message.ShowAsync(); await GetStream(++retryCount); } else { IsStreamRunning = false; IsStreamRunningString = "Disconnected."; var message = new MessageDialog("ユーザーストリームへの接続に3回連続で失敗しました。ネットワークへの接続を確認してください。:" + ex.Message, "おや?なにかがおかしいようです。"); await message.ShowAsync(); } } }