Skip to content

Commit 75022c9

Browse files
devvaannshabose
authored andcommitted
feat: add tab bar toggle option inside view menu
1 parent cd4e1db commit 75022c9

File tree

4 files changed

+37
-5
lines changed

4 files changed

+37
-5
lines changed

src/command/Commands.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,10 @@ define(function (require, exports, module) {
260260
/** Toggles sidebar visibility */
261261
exports.VIEW_HIDE_SIDEBAR = "view.toggleSidebar"; // SidebarView.js toggle()
262262

263+
/** Toggles tabbar visibility */
264+
exports.TOGGLE_TABBAR = "view.toggleTabbar";
265+
// extensionsIntegrated/TabBar/main.js
266+
263267
/** Zooms in the editor view */
264268
exports.VIEW_ZOOM_IN = "view.zoomIn"; // ViewCommandHandlers.js _handleZoomIn()
265269

src/extensionsIntegrated/TabBar/main.js

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ define(function (require, exports, module) {
1010
const Commands = require("command/Commands");
1111
const DocumentManager = require("document/DocumentManager");
1212
const WorkspaceManager = require("view/WorkspaceManager");
13+
const Menus = require("command/Menus");
14+
const Strings = require("strings");
1315

1416
const Global = require("./global");
1517
const Helper = require("./helper");
@@ -458,24 +460,50 @@ define(function (require, exports, module) {
458460

459461

460462
/**
461-
* This is called when the tab bar preference is changed
463+
* This is called when the tab bar preference is changed either,
464+
* from the preferences file or the menu bar
462465
* It takes care of creating or cleaning up the tab bar
463466
*/
464467
function preferenceChanged() {
465-
Preference.tabBarEnabled = PreferencesManager.get(Preference.PREFERENCES_TAB_BAR).showTabBar;
466-
Preference.tabBarNumberOfTabs = PreferencesManager.get(Preference.PREFERENCES_TAB_BAR).numberOfTabs;
468+
const prefs = PreferencesManager.get(Preference.PREFERENCES_TAB_BAR);
469+
Preference.tabBarEnabled = prefs.showTabBar;
470+
Preference.tabBarNumberOfTabs = prefs.numberOfTabs;
471+
472+
// Update menu checkmark
473+
CommandManager.get(Commands.TOGGLE_TABBAR).setChecked(prefs.showTabBar);
467474

468-
// preference should be enabled and number of tabs should be greater than 0
469475
if (Preference.tabBarEnabled && Preference.tabBarNumberOfTabs !== 0) {
470476
createTabBar();
471477
} else {
472478
cleanupTabBar();
473479
}
474480
}
475481

482+
/**
483+
* Registers the commands,
484+
* for toggling the tab bar from the menu bar
485+
*/
486+
function _registerCommands() {
487+
CommandManager.register(
488+
Strings.CMD_TOGGLE_TABBAR,
489+
Commands.TOGGLE_TABBAR,
490+
() => {
491+
const currentPref = PreferencesManager.get(Preference.PREFERENCES_TAB_BAR);
492+
PreferencesManager.set(Preference.PREFERENCES_TAB_BAR, {
493+
...currentPref,
494+
showTabBar: !currentPref.showTabBar
495+
});
496+
}
497+
);
498+
}
476499

477500

478501
AppInit.appReady(function () {
502+
_registerCommands();
503+
504+
// add the toggle tab bar command to the view menu
505+
const viewMenu = Menus.getMenu(Menus.AppMenuBar.VIEW_MENU);
506+
viewMenu.addMenuItem(Commands.TOGGLE_TABBAR, "", Menus.AFTER, Commands.VIEW_HIDE_SIDEBAR);
479507

480508
PreferencesManager.on("change", Preference.PREFERENCES_TAB_BAR, preferenceChanged);
481509
// calling preference changed here itself to check if the tab bar is enabled,

src/extensionsIntegrated/TabBar/preference.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

22
/*
33
* This script contains the preference settings for the tab bar.
4-
* TODO: It also will have the tab bar options that will be added in menu bar and other places.
54
*/
65
define(function (require, exports, module) {
76
const PreferencesManager = require("preferences/PreferencesManager");

src/nls/root/strings.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,7 @@ define({
552552
"CMD_HIDE_SIDEBAR": "Hide Sidebar",
553553
"CMD_SHOW_SIDEBAR": "Show Sidebar",
554554
"CMD_TOGGLE_SIDEBAR": "Toggle Sidebar",
555+
"CMD_TOGGLE_TABBAR": "Toggle Tab Bar",
555556
"CMD_TOGGLE_PANELS": "Toggle Panels",
556557
"CMD_TOGGLE_PURE_CODE": "No Distractions",
557558
"CMD_TOGGLE_FULLSCREEN": "Fullscreen",

0 commit comments

Comments
 (0)