Skip to content

Commit 244f7fb

Browse files
committed
show TOC in Zen mode option
1 parent c2128e4 commit 244f7fb

File tree

4 files changed

+24
-8
lines changed

4 files changed

+24
-8
lines changed

src/main/app.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,8 @@ export class JupyterApplication implements IApplication, IDisposable {
414414
uiMode: userSettings.getValue(SettingType.uiMode),
415415
uiModeForSingleFileOpen: userSettings.getValue(
416416
SettingType.uiModeForSingleFileOpen
417-
)
417+
),
418+
showTOCInZenMode: userSettings.getValue(SettingType.showTOCInZenMode)
418419
},
419420
this._registry
420421
);

src/main/config/settings.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ export enum SettingType {
7272
condaChannels = 'condaChannels',
7373

7474
uiMode = 'uiMode',
75-
uiModeForSingleFileOpen = 'uiModeForSingleFileOpen'
75+
uiModeForSingleFileOpen = 'uiModeForSingleFileOpen',
76+
showTOCInZenMode = 'showTOCInZenMode'
7677
}
7778

7879
export const serverLaunchArgsFixed = [
@@ -174,7 +175,8 @@ export class UserSettings {
174175
uiMode: new Setting<UIMode>(UIMode.ManagedByWebApp, {
175176
wsOverridable: true
176177
}),
177-
uiModeForSingleFileOpen: new Setting<UIMode>(UIMode.Zen)
178+
uiModeForSingleFileOpen: new Setting<UIMode>(UIMode.Zen),
179+
showTOCInZenMode: new Setting<boolean>(false)
178180
};
179181

180182
if (readSettings) {

src/main/labview/labview.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,9 @@ export class LabView implements IDisposable {
282282

283283
await this._view.webContents.executeJavaScript(`
284284
{
285-
jlabDesktop_setUIMode('${this._uiMode}');
285+
jlabDesktop_setUIMode('${this._uiMode}', ${userSettings.getValue(
286+
SettingType.showTOCInZenMode
287+
)});
286288
}
287289
`);
288290
}
@@ -463,7 +465,7 @@ export class LabView implements IDisposable {
463465
});
464466
}
465467
466-
async function jlabDesktop_setUIMode(uiMode) {
468+
async function jlabDesktop_setUIMode(uiMode, showTOCInZenMode) {
467469
const lab = await jlabDesktop_getLab();
468470
const labShell = lab.shell;
469471
const statusBar = labShell.widgets('bottom').find(widget => widget.id === 'jp-main-statusbar');
@@ -518,6 +520,9 @@ export class LabView implements IDisposable {
518520
statusBar.setHidden(true);
519521
}
520522
}
523+
if (showTOCInZenMode) {
524+
labShell.activateById('table-of-contents');
525+
}
521526
}
522527
}
523528
@@ -526,7 +531,7 @@ export class LabView implements IDisposable {
526531
setToSingleFileUIMode
527532
? `jlabDesktop_setUIMode('${userSettings.getValue(
528533
SettingType.uiModeForSingleFileOpen
529-
)}');`
534+
)}', ${userSettings.getValue(SettingType.showTOCInZenMode)});`
530535
: ''
531536
}
532537
lab.restored.then(() => {

src/main/settingsdialog/settingsdialog.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ export class SettingsDialog {
4444
serverEnvVars,
4545
ctrlWBehavior,
4646
uiMode,
47-
uiModeForSingleFileOpen
47+
uiModeForSingleFileOpen,
48+
showTOCInZenMode
4849
} = options;
4950
const installUpdatesAutomaticallyEnabled = process.platform === 'darwin';
5051
const installUpdatesAutomatically =
@@ -195,6 +196,10 @@ export class SettingsDialog {
195196
</div>
196197
</div>
197198
</div>
199+
200+
<div class="row">
201+
<jp-checkbox id='checkbox-show-toc-in-zen-mode' type='checkbox' <%= showTOCInZenMode ? 'checked' : '' %>>Show Table of Contents in Zen Mode</jp-checkbox>
202+
</div>
198203
</div>
199204
200205
<jp-radio-group orientation="horizontal">
@@ -519,6 +524,7 @@ export class SettingsDialog {
519524
updateBundledEnvAutomatically: updateBundledEnvAutomaticallyCheckbox.checked,
520525
uiMode: document.getElementById('ui-mode').value,
521526
uiModeForSingleFileOpen: document.getElementById('ui-mode-for-single-file-open').value,
527+
showTOCInZenMode: document.getElementById('checkbox-show-toc-in-zen-mode').checked
522528
});
523529
524530
window.electronAPI.setDefaultWorkingDirectory(workingDirectoryInput.value);
@@ -562,7 +568,8 @@ export class SettingsDialog {
562568
ctrlWBehavior,
563569
cliCommandIsSetup,
564570
uiMode,
565-
uiModeForSingleFileOpen
571+
uiModeForSingleFileOpen,
572+
showTOCInZenMode
566573
});
567574
}
568575

@@ -604,5 +611,6 @@ export namespace SettingsDialog {
604611
ctrlWBehavior: CtrlWBehavior;
605612
uiMode: UIMode;
606613
uiModeForSingleFileOpen: UIMode;
614+
showTOCInZenMode: boolean;
607615
}
608616
}

0 commit comments

Comments
 (0)