[MM-52333] Create Server View State module, move into new app module (#2739)

* Create Server View State Module

* Move currentServerId to serverViewState

* Move view state into server view state module

* PR feedback/bug fixes
This commit is contained in:
Devin Binnie
2023-06-12 08:35:14 -04:00
committed by GitHub
parent a7c25ee95e
commit 21e3044ff2
21 changed files with 505 additions and 486 deletions

View File

@@ -6,6 +6,8 @@
import {app, ipcMain, Menu, MenuItemConstructorOptions, MenuItem, session, shell, WebContents, clipboard} from 'electron';
import log from 'electron-log';
import ServerViewState from 'app/serverViewState';
import {OPEN_SERVERS_DROPDOWN, SHOW_NEW_SERVER_MODAL} from 'common/communication';
import {t} from 'common/utils/util';
import {getViewDisplayName, ViewType} from 'common/views/View';
@@ -18,8 +20,6 @@ import downloadsManager from 'main/downloadsManager';
import Diagnostics from 'main/diagnostics';
import ViewManager from 'main/views/viewManager';
import SettingsWindow from 'main/windows/settingsWindow';
import {selectNextView, selectPreviousView} from 'main/app/views';
import {switchServer} from 'main/app/servers';
export function createTemplate(config: Config, updateManager: UpdateManager) {
const separatorItem: MenuItemConstructorOptions = {
@@ -266,10 +266,10 @@ export function createTemplate(config: Config, updateManager: UpdateManager) {
label: server.name,
accelerator: `${process.platform === 'darwin' ? 'Cmd+Ctrl' : 'Ctrl+Shift'}+${i + 1}`,
click() {
switchServer(server.id);
ServerViewState.switchServer(server.id);
},
});
if (ServerManager.getCurrentServer().id === server.id) {
if (ServerViewState.getCurrentServer().id === server.id) {
ServerManager.getOrderedTabsForServer(server.id).slice(0, 9).forEach((view, i) => {
items.push({
label: ` ${localizeMessage(`common.views.${view.type}`, getViewDisplayName(view.type as ViewType))}`,
@@ -285,14 +285,14 @@ export function createTemplate(config: Config, updateManager: UpdateManager) {
label: localizeMessage('main.menus.app.window.selectNextTab', 'Select Next Tab'),
accelerator: 'Ctrl+Tab',
click() {
selectNextView();
ServerViewState.selectNextView();
},
enabled: (servers.length > 1),
}, {
label: localizeMessage('main.menus.app.window.selectPreviousTab', 'Select Previous Tab'),
accelerator: 'Ctrl+Shift+Tab',
click() {
selectPreviousView();
ServerViewState.selectPreviousView();
},
enabled: (servers.length > 1),
}, ...(isMac ? [separatorItem, {