Skip to content

Commit ac48055

Browse files
authored
Merge pull request #41 from evandrocoan/master
Added settings entry for SyncedSideBar in Package Settings.
2 parents 31268ad + a0949b0 commit ac48055

File tree

2 files changed

+75
-13
lines changed

2 files changed

+75
-13
lines changed

Main.sublime-menu

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
[
2+
{
3+
"caption": "Preferences",
4+
"mnemonic": "n",
5+
"id": "preferences",
6+
"children":
7+
[
8+
{
9+
"caption": "Package Settings",
10+
"mnemonic": "P",
11+
"id": "package-settings",
12+
"children":
13+
[
14+
{
15+
"caption": "SyncedSideBar",
16+
"children":
17+
[
18+
{
19+
"command": "open_file",
20+
"args": {"file": "${packages}/SyncedSideBar/SyncedSideBar.sublime-settings"},
21+
"caption": "Settings – Default"
22+
},
23+
{
24+
"command": "open_file",
25+
"args": {"file": "${packages}/User/SyncedSideBar.sublime-settings"},
26+
"caption": "Settings – User"
27+
},
28+
{ "caption": "-" }
29+
]
30+
}
31+
]
32+
}
33+
]
34+
}
35+
]

SyncedSideBar.py

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,49 @@
2020
lastView = None
2121

2222
def plugin_loaded():
23-
s = sublime.load_settings('SyncedSideBar.sublime-settings')
23+
userSettings = sublime.load_settings('Preferences.sublime-settings')
24+
packageSettings = sublime.load_settings('SyncedSideBar.sublime-settings')
2425

25-
def read_pref():
26-
vis = s.get('reveal-on-activate')
26+
def read_pref_user():
27+
vis = userSettings.get('reveal-on-activate')
28+
if vis is not None:
29+
global pluginPref
30+
pluginPref = vis
31+
32+
def read_pref_package():
33+
vis = packageSettings.get('reveal-on-activate')
2734
if vis is not None:
2835
global pluginPref
2936
pluginPref = vis
3037

3138
# read initial setting
32-
read_pref()
39+
read_pref_package()
40+
read_pref_user()
41+
3342
# listen for changes
34-
s.add_on_change("SyncedSideBar", read_pref)
43+
userSettings.add_on_change('Preferences', read_pref_user)
44+
packageSettings.add_on_change('SyncedSideBar', read_pref_package)
45+
3546

3647
# ST2 backwards compatibility
3748
if (int(sublime.version()) < 3000):
3849
plugin_loaded()
3950

4051
def reveal_all(view):
41-
if (view.settings().get('reveal-all-tabs') is False):
52+
visUser = view.settings().get('reveal-all-tabs')
53+
#print( 'view.settings().get(reveal-all-tabs): ' + str( visUser ) )
54+
55+
if visUser is None:
56+
packageSettings = sublime.load_settings('SyncedSideBar.sublime-settings')
57+
visPackage = packageSettings.get('reveal-all-tabs')
58+
if visPackage is False:
59+
return
60+
elif visUser is False:
4261
return
4362

44-
activeWindow = view.window()
63+
activeWindow = view.window();
64+
viewList = activeWindow.views();
4565

46-
viewList = activeWindow.views();
4766
# Use set_timeout to give sublime a chance to fire normal events between tab changes
4867
def reveal():
4968
if (len(viewList) > 0):
@@ -107,7 +126,7 @@ class SideBarListener(sublime_plugin.EventListener):
107126
def on_activated(self, view):
108127
# don't even consider updating state if we don't have a window.
109128
# reveal in side bar is a window command only.
110-
# "goto anything" activates views but doesn't set a window until the file is selected.
129+
# 'goto anything' activates views but doesn't set a window until the file is selected.
111130
if not view.window():
112131
return
113132

@@ -124,14 +143,22 @@ def on_activated(self, view):
124143
# Sublime text v3 window command listener, safe to include unconditionally as it's simply ignored by v2.
125144
# Eventually, v3 support below 3098 will be dropped and this can be deleted.
126145
def on_window_command(self, window, command_name, args):
127-
if command_name == "toggle_side_bar":
146+
if command_name == 'toggle_side_bar':
128147
global sidebarVisible
129148
sidebarVisible = not sidebarVisible
130149

131150

132151
class SideBarUpdateSync(sublime_plugin.ApplicationCommand):
133152
# Update user preferences with the new value
134153
def run(self, enable):
135-
settings = sublime.load_settings("Preferences.sublime-settings")
136-
settings.set("reveal-on-activate", enable)
137-
sublime.save_settings("Preferences.sublime-settings")
154+
userSettings = sublime.load_settings('Preferences.sublime-settings')
155+
vis = userSettings.get('reveal-on-activate')
156+
if vis is not None:
157+
userSettings.set('reveal-on-activate', enable)
158+
sublime.save_settings('Preferences.sublime-settings')
159+
else:
160+
packageSettings = sublime.load_settings('SyncedSideBar.sublime-settings')
161+
packageSettings.set('reveal-on-activate', enable)
162+
sublime.save_settings('SyncedSideBar.sublime-settings')
163+
164+

0 commit comments

Comments
 (0)