1 <!DOCTYPE html
> <html> <head> <title>prefs.coffee
</title> <meta http-equiv=
"content-type" content=
"text/html; charset=UTF-8"> <link rel=
"stylesheet" media=
"all" href=
"docco.css" /> </head> <body> <div id=
"container"> <div id=
"background"></div> <div id=
"jump_to"> Jump To
… <div id=
"jump_wrapper"> <div id=
"jump_page"> <a class=
"source" href=
"bootstrap.html"> bootstrap.coffee
</a> <a class=
"source" href=
"chrome.html"> chrome.coffee
</a> <a class=
"source" href=
"console.html"> console.coffee
</a> <a class=
"source" href=
"unload.html"> unload.coffee
</a> <a class=
"source" href=
"window-utils.html"> window-utils.coffee
</a> <a class=
"source" href=
"button.html"> button.coffee
</a> <a class=
"source" href=
"commands.html"> commands.coffee
</a> <a class=
"source" href=
"events.html"> events.coffee
</a> <a class=
"source" href=
"help.html"> help.coffee
</a> <a class=
"source" href=
"hints.html"> hints.coffee
</a> <a class=
"source" href=
"marker.html"> marker.coffee
</a> <a class=
"source" href=
"prefs.html"> prefs.coffee
</a> <a class=
"source" href=
"utils.html"> utils.coffee
</a> <a class=
"source" href=
"vim.html"> vim.coffee
</a> </div> </div> </div> <table cellpadding=
"0" cellspacing=
"0"> <thead> <tr> <th class=
"docs"> <h1> prefs.coffee
</h1> </th> <th class=
"code"> </th> </tr> </thead> <tbody> <tr id=
"section-1"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-1">¶</a> </div> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"p">{
</span> <span class=
"nv">classes:
</span><span class=
"nx">Cc
</span><span class=
"p">,
</span> <span class=
"nv">interfaces:
</span><span class=
"nx">Ci
</span> <span class=
"p">}
</span> <span class=
"o">=
</span> <span class=
"nx">Components
</span>
3 <span class=
"nv">PREF_BRANCH =
</span><span class=
"s">"extension.VimFx.
"</span><span class=
"p">;
</span></pre></div> </td> </tr> <tr id=
"section-2"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-2">¶</a> </div> <p>Default values for the preference
4 All used preferences should be mentioned here becuase
5 preference type is derived from here
</p> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"nv">PREFS =
</span>
6 <span class=
"nv">hint_chars:
</span><span class=
"s">'asdfgercvhjkl;uinm
'</span>
7 <span class=
"nv">button_id:
</span><span class=
"s">'VimFx-toolbar-button
'</span>
8 <span class=
"nv">disabled:
</span><span class=
"kc">false
</span></pre></div> </td> </tr> <tr id=
"section-3"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-3">¶</a> </div> <p>Get Firefox preference value of type specified in
<code>PREFS
</code></p> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"nv">getFFPref =
</span><span class=
"nx">do
</span> <span class=
"o">-
></span>
9 <span class=
"nv">branch =
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">prefs
</span><span class=
"p">.
</span><span class=
"nx">getBranch
</span> <span class=
"nx">PREF_BRANCH
</span>
11 <span class=
"k">return
</span> <span class=
"nf">(key) -
></span>
12 <span class=
"nv">value =
</span><span class=
"nx">PREFS
</span><span class=
"p">[
</span><span class=
"nx">key
</span><span class=
"p">]
</span></pre></div> </td> </tr> <tr id=
"section-4"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-4">¶</a> </div> <p>Return default value if the preference value hasn't been set yet
</p> </td> <td class=
"code"> <div class=
"highlight"><pre> <span class=
"k">if
</span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">getPrefType
</span><span class=
"p">(
</span><span class=
"nx">key
</span><span class=
"p">)
</span> <span class=
"o">==
</span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">PREF_INVALID
</span>
13 <span class=
"k">return
</span> <span class=
"nx">value
</span><span class=
"p">;
</span>
15 <span class=
"k">switch
</span> <span class=
"k">typeof
</span> <span class=
"nx">value
</span>
16 <span class=
"k">when
</span> <span class=
"s">'boolean
'</span>
17 <span class=
"k">return
</span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">getBoolPref
</span> <span class=
"nx">key
</span>
18 <span class=
"k">when
</span> <span class=
"s">'number
'</span>
19 <span class=
"k">return
</span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">getIntPref
</span> <span class=
"nx">key
</span>
20 <span class=
"k">else
</span>
21 <span class=
"k">return
</span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">getCharPref
</span> <span class=
"nx">key
</span></pre></div> </td> </tr> <tr id=
"section-5"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-5">¶</a> </div> <p>Set firefox preference value
</p> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"nv">setFFPref =
</span><span class=
"nx">do
</span> <span class=
"o">-
></span>
22 <span class=
"nv">branch =
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">prefs
</span><span class=
"p">.
</span><span class=
"nx">getBranch
</span> <span class=
"nx">PREF_BRANCH
</span>
24 <span class=
"k">return
</span> <span class=
"nf">(key, value) -
></span>
25 <span class=
"k">switch
</span> <span class=
"k">typeof
</span> <span class=
"nx">value
</span>
26 <span class=
"k">when
</span> <span class=
"s">'boolean
'</span>
27 <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">setBoolPref
</span><span class=
"p">(
</span><span class=
"nx">key
</span><span class=
"p">,
</span> <span class=
"nx">value
</span><span class=
"p">)
</span>
28 <span class=
"k">when
</span> <span class=
"s">'number
'</span>
29 <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">setIntPref
</span><span class=
"p">(
</span><span class=
"nx">key
</span><span class=
"p">,
</span> <span class=
"nx">value
</span><span class=
"p">)
</span>
30 <span class=
"k">else
</span>
31 <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">setCharPref
</span><span class=
"p">(
</span><span class=
"nx">key
</span><span class=
"p">,
</span> <span class=
"nb">String
</span><span class=
"p">(
</span><span class=
"nx">value
</span><span class=
"p">));
</span></pre></div> </td> </tr> <tr id=
"section-6"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-6">¶</a> </div> <p>Set default values and update previously stored values for the preferences
</p> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"nx">do
</span> <span class=
"o">-
></span>
32 <span class=
"nv">branch =
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">prefs
</span><span class=
"p">.
</span><span class=
"nx">getBranch
</span> <span class=
"nx">PREF_BRANCH
</span>
33 <span class=
"k">for
</span> <span class=
"nx">key
</span> <span class=
"k">in
</span> <span class=
"nb">Object
</span><span class=
"p">.
</span><span class=
"nx">keys
</span><span class=
"p">(
</span><span class=
"nx">PREFS
</span><span class=
"p">)
</span>
34 <span class=
"k">if
</span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">getPrefType
</span><span class=
"p">(
</span><span class=
"nx">key
</span><span class=
"p">)
</span> <span class=
"o">==
</span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">PREF_INVALID
</span>
35 <span class=
"nx">setFFPref
</span> <span class=
"nx">key
</span><span class=
"p">,
</span> <span class=
"nx">PREFS
</span><span class=
"p">[
</span><span class=
"nx">key
</span><span class=
"p">]
</span>
36 <span class=
"k">else
</span>
37 <span class=
"nx">PREFS
</span><span class=
"p">[
</span><span class=
"nx">key
</span><span class=
"p">]
</span> <span class=
"o">=
</span> <span class=
"nx">getFFPref
</span> <span class=
"nx">key
</span></pre></div> </td> </tr> <tr id=
"section-7"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-7">¶</a> </div> <p>Monitor preference changes and update values in local cache - PREFS
</p> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"nv">installPrefObserver =
</span><span class=
"o">-
></span>
38 <span class=
"nv">branch =
</span><span class=
"nx">Services
</span><span class=
"p">.
</span><span class=
"nx">prefs
</span><span class=
"p">.
</span><span class=
"nx">getBranch
</span><span class=
"p">(
</span><span class=
"nx">PREF_BRANCH
</span><span class=
"p">)
</span>
39 <span class=
"p">.
</span><span class=
"nx">QueryInterface
</span><span class=
"p">(
</span><span class=
"nx">Components
</span><span class=
"p">.
</span><span class=
"nx">interfaces
</span><span class=
"p">.
</span><span class=
"nx">nsIPrefBranch2
</span><span class=
"p">)
</span>
41 <span class=
"nv">observer =
</span>
42 <span class=
"nv">observe:
</span><span class=
"nf">(subject, topic, data) -
></span>
43 <span class=
"k">if
</span> <span class=
"nx">topic
</span> <span class=
"o">==
</span> <span class=
"s">'nsPref:changed
'</span> <span class=
"o">and
</span> <span class=
"nx">data
</span> <span class=
"k">in
</span> <span class=
"nb">Object
</span><span class=
"p">.
</span><span class=
"nx">keys
</span><span class=
"p">(
</span><span class=
"nx">PREFS
</span><span class=
"p">)
</span>
44 <span class=
"nx">PREFS
</span><span class=
"p">[
</span><span class=
"nx">data
</span><span class=
"p">]
</span> <span class=
"o">=
</span> <span class=
"nx">getFFPref
</span> <span class=
"nx">data
</span>
46 <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">addObserver
</span> <span class=
"s">""</span><span class=
"p">,
</span> <span class=
"nx">observer
</span><span class=
"p">,
</span> <span class=
"kc">false
</span>
47 <span class=
"nx">unload
</span> <span class=
"o">-
></span> <span class=
"nx">branch
</span><span class=
"p">.
</span><span class=
"nx">removeObserver
</span> <span class=
"s">""</span><span class=
"p">,
</span> <span class=
"nx">observer
</span></pre></div> </td> </tr> <tr id=
"section-8"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-8">¶</a> </div> <p>Get preference value from local cache - PREFS
</p> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"nv">getPref =
</span><span class=
"nf">(key) -
></span> <span class=
"k">return
</span> <span class=
"nx">PREFS
</span><span class=
"p">[
</span><span class=
"nx">key
</span><span class=
"p">]
</span></pre></div> </td> </tr> <tr id=
"section-9"> <td class=
"docs"> <div class=
"pilwrap"> <a class=
"pilcrow" href=
"#section-9">¶</a> </div> <p>Set preference value
</p> </td> <td class=
"code"> <div class=
"highlight"><pre><span class=
"nv">setPref =
</span><span class=
"nf">(key, value) -
></span> <span class=
"nx">setFFPref
</span> <span class=
"nx">key
</span><span class=
"p">,
</span> <span class=
"nx">value
</span>
49 <span class=
"nv">exports.getPref =
</span><span class=
"nx">getPref
</span>
50 <span class=
"nv">exports.setPref =
</span><span class=
"nx">setPref
</span>
51 <span class=
"nv">exports.installPrefObserver =
</span><span class=
"nx">installPrefObserver
</span>
53 </pre></div> </td> </tr> </tbody> </table> </div> </body> </html>