mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
parent
11e9f8403e
commit
c1e1f3df24
@ -14,6 +14,8 @@ export default class TabManager extends Component {
|
|||||||
|
|
||||||
this.activeNtxId = null;
|
this.activeNtxId = null;
|
||||||
|
|
||||||
|
this.recentlyClosedTabs = [];
|
||||||
|
|
||||||
this.tabsUpdate = new SpacedUpdate(async () => {
|
this.tabsUpdate = new SpacedUpdate(async () => {
|
||||||
if (!appContext.isMainWindow) {
|
if (!appContext.isMainWindow) {
|
||||||
return;
|
return;
|
||||||
@ -303,6 +305,8 @@ export default class TabManager extends Component {
|
|||||||
|
|
||||||
await this.triggerEvent('beforeTabRemove', { ntxIds: ntxIdsToRemove });
|
await this.triggerEvent('beforeTabRemove', { ntxIds: ntxIdsToRemove });
|
||||||
|
|
||||||
|
this.recentlyClosedTabs.push(noteContextToRemove);
|
||||||
|
|
||||||
if (!noteContextToRemove.isMainContext()) {
|
if (!noteContextToRemove.isMainContext()) {
|
||||||
await this.activateNoteContext(noteContextToRemove.getMainContext().ntxId);
|
await this.activateNoteContext(noteContextToRemove.getMainContext().ntxId);
|
||||||
}
|
}
|
||||||
@ -410,6 +414,23 @@ export default class TabManager extends Component {
|
|||||||
this.triggerCommand('openInWindow', {notePath, hoistedNoteId});
|
this.triggerCommand('openInWindow', {notePath, hoistedNoteId});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async reopenLastTabCommand() {
|
||||||
|
if (this.recentlyClosedTabs.length > 0) {
|
||||||
|
const noteContext = this.recentlyClosedTabs.pop();
|
||||||
|
|
||||||
|
this.child(noteContext);
|
||||||
|
|
||||||
|
await this.triggerEvent('newNoteContextCreated', {noteContext});
|
||||||
|
|
||||||
|
this.activateNoteContext(noteContext.ntxId);
|
||||||
|
|
||||||
|
await this.triggerEvent('noteSwitched', {
|
||||||
|
noteContext: noteContext,
|
||||||
|
notePath: noteContext.notePath
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
hoistedNoteChangedEvent() {
|
hoistedNoteChangedEvent() {
|
||||||
this.tabsUpdate.scheduleUpdate();
|
this.tabsUpdate.scheduleUpdate();
|
||||||
}
|
}
|
||||||
|
@ -207,6 +207,12 @@ const DEFAULT_KEYBOARD_ACTIONS = [
|
|||||||
description: "Closes active tab",
|
description: "Closes active tab",
|
||||||
scope: "window"
|
scope: "window"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
actionName: "reopenLastTab",
|
||||||
|
defaultShortcuts: isElectron ? ["CommandOrControl+Shift+T"] : [],
|
||||||
|
description: "Repoens the last closed tab",
|
||||||
|
scope: "window"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
actionName: "activateNextTab",
|
actionName: "activateNextTab",
|
||||||
defaultShortcuts: isElectron ? ["CommandOrControl+Tab"] : [],
|
defaultShortcuts: isElectron ? ["CommandOrControl+Tab"] : [],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user