private void UpdateWindowStateFromSettings() { if (!Settings.Default.Size.IsEmpty) { this.Size = Settings.Default.Size; this.CenterToScreen(); } if (_createdAtPoint is Point p) { this.StartPosition = FormStartPosition.Manual; Rectangle formBounds = this.Bounds; Rectangle tabBounds = LogTabs.RectangleToScreen(LogTabs.GetTabRect(0)); int tabX = tabBounds.Left - formBounds.Left; int tabY = tabBounds.Top - formBounds.Top; int x = p.X - tabX - tabBounds.Width / 2; int y = p.Y - tabY - tabBounds.Height / 2; this.Location = new Point(x, y); } if (Settings.Default.Maximized) { this.WindowState = FormWindowState.Maximized; } }
internal async void HandleKeyboardShortcut(KeyboardShortcuts keyboardShortcut) { LOG.Debug($"{nameof( HandleKeyboardShortcut )} - KeyboardShortcut: {keyboardShortcut}"); if (keyboardShortcut == KeyboardShortcuts.NewTab) { await FindRepo(); } else if (keyboardShortcut == KeyboardShortcuts.NextTab) { LogTabs.NextTab(); } else if (keyboardShortcut == KeyboardShortcuts.PreviousTab) { LogTabs.PreviousTab(); } else if (keyboardShortcut == KeyboardShortcuts.DuplicateTab) { if (LogTabs.SelectedTab is Tab selectedTab) { await DuplicateTab(selectedTab); } } else if (keyboardShortcut == KeyboardShortcuts.CloseTab) { if (LogTabs.SelectedTab is Tab selectedTab) { CloseTab(selectedTab); } } else if (keyboardShortcut == KeyboardShortcuts.ReopenClosedTab) { if (_closedRepos.Count > 0) { String repo = _closedRepos.Pop(); LOG.Debug($"HotKey - Reopen Closed Tab - Reopening: {repo}"); await OpenLog(repo); } } else if (keyboardShortcut == KeyboardShortcuts.ToggleReferencesDisplay) { SplitLayout.Panel1Collapsed = !SplitLayout.Panel1Collapsed; } else if (KEYBOARD_SHORTCUT_ACTIONS.ContainsKey(keyboardShortcut)) { if (LogTabs.SelectedTab?.Controller() is TabControllerTag tag) { GitActionFunc gitActionFunc = KEYBOARD_SHORTCUT_ACTIONS[keyboardShortcut]; await RunGitAction(tag, gitActionFunc); } } else { LOG.Error($"Unhandled keyboard shortcut - KeyboardShortcut: {keyboardShortcut}"); } }
private void SwitchTabToPreviousAction() { if (LogTabs.Count < 2) { return; } int i = LogTabs.IndexOf(CurrentTab); if (i == -1) { return; } i--; if (i < 0) { i = LogTabs.Count - 1; } CurrentTab = LogTabs[i]; }
private void SwitchTabToNextAction() { if (LogTabs.Count < 2) { return; } int i = LogTabs.IndexOf(CurrentTab); if (i == -1) { return; } i++; if (i >= LogTabs.Count) { i = 0; } CurrentTab = LogTabs[i]; }