private void RegisterKeyAssigns() { KeyAssignManager.RegisterActions( KeyAssignAction.Create("CloseInput", this.CloseInput), KeyAssignAction.Create("Post", this.InputCoreViewModel.Send), KeyAssignAction.Create("LoadStash", () => { if (this.InputCoreViewModel.IsDraftsExisted) { this.InputCoreViewModel.DraftedInputs[0].Writeback(); } }), KeyAssignAction.Create("Amend", this.InputCoreViewModel.AmendLastPosted), KeyAssignAction.Create("AttachImage", () => { if (this.InputCoreViewModel.IsLocationAttached) { this.InputCoreViewModel.DetachImage(); } else { this.InputCoreViewModel.AttachImage(); } }), KeyAssignAction.Create("ToggleEscape", () => { this.InputCoreViewModel.IsUrlAutoEsacpeEnabled = !this.InputCoreViewModel.IsUrlAutoEsacpeEnabled; }), KeyAssignAction.Create("SelectNextAccount", () => this.AccountSelectorViewModel.SelectNext()), KeyAssignAction.Create("SelectPreviousAccount", () => this.AccountSelectorViewModel.SelectPrev()), KeyAssignAction.Create("ClearSelectedAccounts", () => this.AccountSelectorViewModel.ClearAll()), KeyAssignAction.Create("SelectAllAccounts", () => this.AccountSelectorViewModel.SelectAll()) ); }
private void RegisterEvents() { if (_isRegisteredEvents) { throw new InvalidOperationException(); } _isRegisteredEvents = true; MainWindowModel.TimelineFocusRequested += this.MainWindowModelTimelineFocusRequested; // Timeline actions KeyAssignManager.RegisterActions( KeyAssignAction.Create("CreateTab", () => FocusedColumn.CreateNewTab()), KeyAssignAction.Create("ToggleFocus", () => ExecuteStatusAction(s => s.ToggleFocus())), KeyAssignAction.Create("ToggleSelect", () => ExecuteStatusAction(s => s.ToggleSelect())), KeyAssignAction.Create("ClearSelect", () => ExecuteTimelineAction(t => t.DeselectAll())), KeyAssignAction.Create("Favorite", () => ExecuteStatusAction(s => s.ToggleFavoriteImmediate())), KeyAssignAction.Create("FavoriteMany", () => ExecuteStatusAction(s => s.ToggleFavorite())), KeyAssignAction.Create("Retweet", () => ExecuteStatusAction(s => s.ToggleRetweetImmediate())), KeyAssignAction.Create("RetweetMany", () => ExecuteStatusAction(s => s.ToggleRetweet())), KeyAssignAction.Create("Quote", () => ExecuteStatusAction(s => s.Quote())), KeyAssignAction.Create("QuoteLink", () => ExecuteStatusAction(s => s.QuotePermalink())), KeyAssignAction.Create("SendDirectMessage", () => ExecuteStatusAction(s => s.DirectMessage())), KeyAssignAction.Create("Delete", () => ExecuteStatusAction(s => s.ConfirmDelete())), KeyAssignAction.Create("Copy", () => ExecuteStatusAction(s => s.CopyBody())), KeyAssignAction.Create("CopySTOT", () => ExecuteStatusAction(s => s.CopySTOT())), KeyAssignAction.Create("CopyPermalink", () => ExecuteStatusAction(s => s.CopyPermalink())), KeyAssignAction.Create("ShowUserProfile", () => ExecuteStatusAction(s => s.ShowUserProfile())), KeyAssignAction.Create("ShowRetweeterProfile", () => ExecuteStatusAction(s => s.ShowRetweeterProfile())), KeyAssignAction.Create("ShowRecipientProfile", () => ExecuteStatusAction(s => s.ShowRecipientProfile())), KeyAssignAction.Create("OpenWeb", () => ExecuteStatusAction(s => s.OpenWeb())), KeyAssignAction.Create("OpenFavstar", () => ExecuteStatusAction(s => s.OpenFavstar())), KeyAssignAction.Create("OpenUserDetailOnTwitter", () => ExecuteStatusAction(s => s.OpenUserDetailOnTwitter())), KeyAssignAction.Create("OpenUserFavstar", () => ExecuteStatusAction(s => s.OpenUserFavstar())), KeyAssignAction.Create("OpenUserTwilog", () => ExecuteStatusAction(s => s.OpenUserTwilog())), KeyAssignAction.Create("OpenSource", () => ExecuteStatusAction(s => s.OpenSourceLink())), KeyAssignAction.Create("ShowConversation", () => ExecuteStatusAction(s => s.ShowConversation())), KeyAssignAction.Create("MuteUser", () => ExecuteStatusAction(s => s.MuteUser())), KeyAssignAction.Create("MuteClient", () => ExecuteStatusAction(s => s.MuteClient())), KeyAssignAction.Create("ReportAsSpam", () => ExecuteStatusAction(s => s.ReportAsSpam())), KeyAssignAction.CreateWithArgumentOptional("Reply", a => this.ExecuteStatusAction(s => s.SendReplyOrDirectMessage(a))), KeyAssignAction.CreateWithArgumentRequired("OpenUrl", a => this.ExecuteStatusAction(s => s.OpenNthLink(a))), KeyAssignAction.CreateWithArgumentOptional("OpenThumbnail", a => this.ExecuteStatusAction(s => s.OpenNthThumbnail(a))) ); // Timeline argumentable actions // reply, favorite, retweet, quote // TODO }
/// <summary> /// Register key assign events. /// </summary> public static void RegisterEvents() { MainWindowModel.TimelineFocusRequested += MainWindowModelTimelineFocusRequested; KeyAssignManager.RegisterActions( KeyAssignAction.Create("RestoreTab", ReviveTab), KeyAssignAction.Create("CloseTab", () => { var ccolumn = Columns[CurrentFocusColumnIndex]; if (ccolumn.Tabs.Count == 0) { return; } CloseTab(CurrentFocusColumnIndex, ccolumn.CurrentFocusTabIndex); })); }
private static void RegisterKeyAssigns() { // Focus KeyAssignManager.RegisterActions( KeyAssignAction.Create("FocusToTimeline", () => SetFocusTo(FocusRequest.Timeline)), KeyAssignAction.Create("FocusToInput", () => SetFocusTo(FocusRequest.Input)), KeyAssignAction.Create("FocusToSearch", () => SetFocusTo(FocusRequest.Search))); // Timeline move KeyAssignManager.RegisterActions( KeyAssignAction.Create("SelectLeftColumn", () => SetTimelineFocusTo(TimelineFocusRequest.LeftColumn)), KeyAssignAction.Create("SelectRightColumn", () => SetTimelineFocusTo(TimelineFocusRequest.RightColumn)), KeyAssignAction.Create("SelectLeftTab", () => SetTimelineFocusTo(TimelineFocusRequest.LeftTab)), KeyAssignAction.Create("SelectRightTab", () => SetTimelineFocusTo(TimelineFocusRequest.RightTab)), KeyAssignAction.Create("MoveUp", () => SetTimelineFocusTo(TimelineFocusRequest.AboveStatus)), KeyAssignAction.Create("MoveDown", () => SetTimelineFocusTo(TimelineFocusRequest.BelowStatus)), KeyAssignAction.Create("MoveTop", () => SetTimelineFocusTo(TimelineFocusRequest.TopOfTimeline)), KeyAssignAction.Create("MoveBottom", () => SetTimelineFocusTo(TimelineFocusRequest.BottomOfTimeline))); }
public AssignActionViewModel(KeyAssignAction action) { this._action = action; }