public async Task GetUserTimelineApi(bool read, string userName, UserTimelineTabModel tab, bool more) { this.CheckAccountState(); var count = GetApiResultCount(MyCommon.WORKERTYPE.UserTimeline, more, false); TwitterStatus[] statuses; if (string.IsNullOrEmpty(userName)) { var target = tab.ScreenName; if (string.IsNullOrEmpty(target)) return; userName = target; statuses = await this.Api.StatusesUserTimeline(userName, count) .ConfigureAwait(false); } else { if (more) { statuses = await this.Api.StatusesUserTimeline(userName, count, maxId: tab.OldestId) .ConfigureAwait(false); } else { statuses = await this.Api.StatusesUserTimeline(userName, count) .ConfigureAwait(false); } } var minimumId = CreatePostsFromJson(statuses, MyCommon.WORKERTYPE.UserTimeline, tab, read); if (minimumId != null) tab.OldestId = minimumId.Value; }
public void AddNewTabForUserTimeline(string user) { //同一検索条件のタブが既に存在すれば、そのタブアクティブにして終了 foreach (var tb in _statuses.GetTabsByType<UserTimelineTabModel>()) { if (tb.ScreenName == user) { foreach (TabPage tp in ListTab.TabPages) { if (tb.TabName == tp.Text) { ListTab.SelectedTab = tp; return; } } } } //ユニークなタブ名生成 string tabName = "user:"******"_"; } //タブ追加 var tab = new UserTimelineTabModel(tabName, user); this._statuses.AddTab(tab); this.AddNewTab(tab, startup: false); //追加したタブをアクティブに ListTab.SelectedIndex = ListTab.TabPages.Count - 1; SaveConfigsTabs(); //検索実行 this.GetUserTimelineAsync(tab); }
private Task GetUserTimelineAsync(UserTimelineTabModel tab) { return this.GetUserTimelineAsync(tab, loadMore: false); }
private Task GetUserTimelineAsync(UserTimelineTabModel tab, bool loadMore) { return this.GetUserTimelineAsync(new[] { tab }, loadMore); }
private void LoadConfig() { _cfgCommon = SettingCommon.Load(); SettingCommon.Instance = this._cfgCommon; if (_cfgCommon.UserAccounts == null || _cfgCommon.UserAccounts.Count == 0) { _cfgCommon.UserAccounts = new List<UserAccount>(); if (!string.IsNullOrEmpty(_cfgCommon.UserName)) { UserAccount account = new UserAccount(); account.Username = _cfgCommon.UserName; account.UserId = _cfgCommon.UserId; account.Token = _cfgCommon.Token; account.TokenSecret = _cfgCommon.TokenSecret; _cfgCommon.UserAccounts.Add(account); } } _cfgLocal = SettingLocal.Load(); // v1.2.4 以前の設定には ScaleDimension の項目がないため、現在の DPI と同じとして扱う if (_cfgLocal.ScaleDimension.IsEmpty) _cfgLocal.ScaleDimension = this.CurrentAutoScaleDimensions; var tabsSetting = SettingTabs.Load().Tabs; foreach (var tabSetting in tabsSetting) { TabModel tab; switch (tabSetting.TabType) { case MyCommon.TabUsageType.Home: tab = new HomeTabModel(tabSetting.TabName); break; case MyCommon.TabUsageType.Mentions: tab = new MentionsTabModel(tabSetting.TabName); break; case MyCommon.TabUsageType.DirectMessage: tab = new DirectMessagesTabModel(tabSetting.TabName); break; case MyCommon.TabUsageType.Favorites: tab = new FavoritesTabModel(tabSetting.TabName); break; case MyCommon.TabUsageType.UserDefined: tab = new FilterTabModel(tabSetting.TabName); break; case MyCommon.TabUsageType.UserTimeline: tab = new UserTimelineTabModel(tabSetting.TabName, tabSetting.User); break; case MyCommon.TabUsageType.PublicSearch: tab = new PublicSearchTabModel(tabSetting.TabName) { SearchWords = tabSetting.SearchWords, SearchLang = tabSetting.SearchLang, }; break; case MyCommon.TabUsageType.Lists: tab = new ListTimelineTabModel(tabSetting.TabName, tabSetting.ListInfo); break; case MyCommon.TabUsageType.Mute: tab = new MuteTabModel(tabSetting.TabName); break; default: continue; } tab.UnreadManage = tabSetting.UnreadManage; tab.Protected = tabSetting.Protected; tab.Notify = tabSetting.Notify; tab.SoundFile = tabSetting.SoundFile; if (tab.IsDistributableTabType) { var filterTab = (FilterTabModel)tab; filterTab.FilterArray = tabSetting.FilterArray; filterTab.FilterModified = false; } if (this._statuses.ContainsTab(tab.TabName)) tab.TabName = this._statuses.MakeTabName("MyTab"); this._statuses.AddTab(tab); } if (_statuses.Tabs.Count == 0) { _statuses.AddTab(new HomeTabModel()); _statuses.AddTab(new MentionsTabModel()); _statuses.AddTab(new DirectMessagesTabModel()); _statuses.AddTab(new FavoritesTabModel()); } }