| English |
スキンの切替ボタンを作ってみよう!
(Sidebar切替ボタンのおまけ付き ^^)
超簡単にやるためにいじるファイルは1つだけ。
chrome/packages/core/navigator/content/navigator.xul
だけでやってみます。
まず、
250行目付近の
<box class="box-toolbar-group" flex="1">
の前に
<button class="button-toolbar-1 top" id="sidebar-button"
crop="right" observes="canSidebar"
onclick="SidebarShowHide()" value="sidebar"
tooltiptext="sidebar"/>
<button class="button-toolbar-1 top" id="sidebar-button"
crop="right" observes="canSkin"
onclick="swtSkin()" value="skin"
tooltiptext="skin"/>
をはり込みます。
次に、
69行目付近の
<!-- UI services -->
の前あたりに
<script language="javascript">
/*
* swtSkin testing
*/
try {
var chromeRegistry = Components.classes["component://netscape/chrome/chrome-registry"].getService();
if ( chromeRegistry )
chromeRegistry = chromeRegistry.QueryInterface( Components.interfaces.nsIChromeRegistry );
} catch(e) {
}
function changeSkin(skinName){
chromeRegistry.selectSkin( skinName, true );
chromeRegistry.refreshSkins();
}
function swtSkin(){
if(window.skin_flg)changeSkin('modern/1.0')
else changeSkin('classic/1.0')
window.skin_flg = !window.skin_flg;
}
</script>
これをはります。
これだけ(^^)/。
ワンクリックでスキンが切り替わります。
( ボタン画像は自分で作ってね。)
for download (navigator.xul)/M17 2000062210
(ダウンロード用/navigator.xulという名前に変更して
chrome/packages/core/navigator/content/navigator.xulと置き換えてください。
古いnavigator.xulはnavigatorold.xulとかに名前を変えておくと良いかも)
ちなみに
もし、サイドバーボタンをショートカットキーでスイッチしたければ、
<!-- keys are appended from the overlay -->
の前に
<keyset id="myKey1">
<key id="sidebar" key="b" control="true"
onkeypress="SidebarShowHide()" />
</keyset>
を書いてください。[ Ctrl + b ] で切り替えられます。
ちなみにたとえば key="s" にすれば
[ Ctrl + s ] になります。
Thanx for
chrome/packages/core/communicator/pref/pref-themes.js
Toshirou Takahashi tato@fureai.or.jp
MDSProject(Mozilla's DOM Sample Project)
NewGameWeb