private void AddList(string parameter) { if (String.IsNullOrEmpty(parameter)) { this.Messenger.Raise(new InformationMessage("リストが選択されていません。", "追加エラー", System.Windows.MessageBoxImage.Error, "WarningMessage")); return; } this.property.FollowingLists = this.property.FollowingLists.Concat(new[] { parameter }).Distinct().ToArray(); var sp = parameter.Split('/'); ListReceiverManager.RegisterReceive(sp[0], sp[1]); this.FilterEditorViewModel.AddChild(new FilterList(sp[0], sp[1])); RaisePropertyChanged(() => FollowingLists); }
public void CloseTab(TabViewModel tabViewModel) { RemoveTab(tabViewModel); // cleanup additional receiver foreach (var query in tabViewModel.TabProperty.StreamingQueries) { ConnectionManager.RemoveQuery(query); } foreach (var list in tabViewModel.TabProperty.FollowingLists) { var split = list.Split('/'); ListReceiverManager.RemoveReceive(split[0], split[1]); } this.Parent.PushClosedTabStack(tabViewModel); this.Parent.GCColumn(); }
private void RemoveList(string parameter) { if (String.IsNullOrEmpty(parameter)) { this.Messenger.Raise(new InformationMessage("リストが選択されていません。", "削除エラー", System.Windows.MessageBoxImage.Error, "WarningMessage")); return; } this.property.FollowingLists = this.property.FollowingLists.Except(new[] { parameter }).Distinct().ToArray(); var sp = parameter.Split('/'); ListReceiverManager.RemoveReceive(sp[0], sp[1]); this.FilterEditorViewModel.RootFilters .OfType <FilterList>() .Where(f => f.ListUser == sp[0] && f.ListName == sp[1]) .ForEach(f => this.FilterEditorViewModel.RemoveChild(f)); RaisePropertyChanged(() => FollowingLists); }
private void RebirthTab() { var tabViewModel = this.Parent.PopClosedTab(); this.AddTab(tabViewModel); foreach (var query in tabViewModel.TabProperty.StreamingQueries.ToArray()) { if (!ConnectionManager.AddQuery(query)) { ExceptionStorage.Register(new Exception("クエリリッスンに失敗"), ExceptionCategory.InternalError, "追加受信キーワードの登録に失敗しました。"); tabViewModel.TabProperty.StreamingQueries = tabViewModel.TabProperty.StreamingQueries.Except(new[] { query }).ToArray(); } } foreach (var list in tabViewModel.TabProperty.FollowingLists) { var split = list.Split('/'); ListReceiverManager.RegisterReceive(split[0], split[1]); } }