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.recentlyClosedTabs = [];
|
||||
|
||||
this.tabsUpdate = new SpacedUpdate(async () => {
|
||||
if (!appContext.isMainWindow) {
|
||||
return;
|
||||
@ -303,6 +305,8 @@ export default class TabManager extends Component {
|
||||
|
||||
await this.triggerEvent('beforeTabRemove', { ntxIds: ntxIdsToRemove });
|
||||
|
||||
this.recentlyClosedTabs.push(noteContextToRemove);
|
||||
|
||||
if (!noteContextToRemove.isMainContext()) {
|
||||
await this.activateNoteContext(noteContextToRemove.getMainContext().ntxId);
|
||||
}
|
||||
@ -410,6 +414,23 @@ export default class TabManager extends Component {
|
||||
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() {
|
||||
this.tabsUpdate.scheduleUpdate();
|
||||
}
|
||||
|
@ -207,6 +207,12 @@ const DEFAULT_KEYBOARD_ACTIONS = [
|
||||
description: "Closes active tab",
|
||||
scope: "window"
|
||||
},
|
||||
{
|
||||
actionName: "reopenLastTab",
|
||||
defaultShortcuts: isElectron ? ["CommandOrControl+Shift+T"] : [],
|
||||
description: "Repoens the last closed tab",
|
||||
scope: "window"
|
||||
},
|
||||
{
|
||||
actionName: "activateNextTab",
|
||||
defaultShortcuts: isElectron ? ["CommandOrControl+Tab"] : [],
|
||||
|
Loading…
x
Reference in New Issue
Block a user