Mailspring/app/internal_packages/preferences/lib/main.tsx
Janosch Maier c7f7dc027c
Add option for vertically stacked reading pane (#2243)
* Add option for vertically stacked reading pane

* Switch from creating a separate column to scoping ThreadList to split+list modes

* Better styling for vertical reading pane

* Fix bug that prevented changing the panel layout via the preferences dialog

* Add resize functionality for vertical thread list

* Add Contact Toolbar button to Thread List Vertical View

* Remove debug log

Co-authored-by: Ben Gotow <ben@foundry376.com>
2021-03-26 10:15:33 -05:00

80 lines
2.1 KiB
TypeScript

/* eslint global-require: 0 */
import {
localized,
PreferencesUIStore,
WorkspaceStore,
ComponentRegistry,
} from 'mailspring-exports';
import PreferencesRoot from './preferences-root';
export function activate() {
PreferencesUIStore.registerPreferencesTab(
new PreferencesUIStore.TabItem({
tabId: 'General',
displayName: localized('General'),
componentClassFn: () => require('./tabs/preferences-general').default,
order: 1,
})
);
PreferencesUIStore.registerPreferencesTab(
new PreferencesUIStore.TabItem({
tabId: 'Accounts',
displayName: localized('Accounts'),
componentClassFn: () => require('./tabs/preferences-accounts').default,
order: 2,
})
);
PreferencesUIStore.registerPreferencesTab(
new PreferencesUIStore.TabItem({
tabId: 'Subscription',
displayName: localized('Subscription'),
componentClassFn: () => require('./tabs/preferences-identity').default,
order: 3,
})
);
PreferencesUIStore.registerPreferencesTab(
new PreferencesUIStore.TabItem({
tabId: 'Appearance',
displayName: localized('Appearance'),
componentClassFn: () => require('./tabs/preferences-appearance').default,
order: 4,
})
);
PreferencesUIStore.registerPreferencesTab(
new PreferencesUIStore.TabItem({
tabId: 'Shortcuts',
displayName: localized('Shortcuts'),
componentClassFn: () => require('./tabs/preferences-keymaps').default,
order: 5,
})
);
PreferencesUIStore.registerPreferencesTab(
new PreferencesUIStore.TabItem({
tabId: 'Mail Rules',
displayName: localized('Mail Rules'),
componentClassFn: () => require('./tabs/preferences-mail-rules').default,
order: 6,
})
);
WorkspaceStore.defineSheet(
'Preferences',
{},
{
list: ['Preferences'],
split: ['Preferences'],
splitVertical: ['Preferences'],
}
);
ComponentRegistry.register(PreferencesRoot, {
location: WorkspaceStore.Location.Preferences,
});
}
export function deactivate() {}
export function serialize() {
return this.state;
}