ブックマークグループの開き方を制御する機能を加えた
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@1252 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
81e9155879
commit
92957a9466
21
content/treestyletab/config.js
Normal file
21
content/treestyletab/config.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
var gGroupBookmarkRadio, gGroupBookmarkTreeCheck, gGroupBookmarkReplaceCheck;
|
||||||
|
|
||||||
|
function initGroupBookmarkRadio()
|
||||||
|
{
|
||||||
|
gGroupBookmarkRadio = document.getElementById('openGroupBookmarkAsTabSubTree-radiogroup');
|
||||||
|
gGroupBookmarkTree = document.getElementById('extensions.treestyletab.openGroupBookmarkAsTabSubTree');
|
||||||
|
gGroupBookmarkReplace = document.getElementById('browser.tabs.loadFolderAndReplace');
|
||||||
|
|
||||||
|
gGroupBookmarkRadio.value =
|
||||||
|
gGroupBookmarkTree.value && !gGroupBookmarkReplace.value ? 'subtree' :
|
||||||
|
!gGroupBookmarkTree.value && !gGroupBookmarkReplace.value ? 'flat' :
|
||||||
|
'replace';
|
||||||
|
}
|
||||||
|
|
||||||
|
function onChangeGroupBookmarkRadio()
|
||||||
|
{
|
||||||
|
gGroupBookmarkTree.value = gGroupBookmarkRadio.value == 'subtree';
|
||||||
|
gGroupBookmarkReplace.value = gGroupBookmarkRadio.value == 'replace';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -7,9 +7,10 @@
|
|||||||
<prefwindow id="treestyletab-config"
|
<prefwindow id="treestyletab-config"
|
||||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||||
title="&config.title;"
|
title="&config.title;"
|
||||||
onload="sizeToContent();">
|
onload="sizeToContent(); initGroupBookmarkRadio();">
|
||||||
|
|
||||||
<prefpane id="prefpane-general" label="&config.tabs.general;">
|
<prefpane id="prefpane-general" label="&config.tabs.general;"
|
||||||
|
onpaneload="">
|
||||||
<preferences>
|
<preferences>
|
||||||
<preference id="extensions.treestyletab.autoCollapseExpandSubTreeOnSelect"
|
<preference id="extensions.treestyletab.autoCollapseExpandSubTreeOnSelect"
|
||||||
name="extensions.treestyletab.autoCollapseExpandSubTreeOnSelect"
|
name="extensions.treestyletab.autoCollapseExpandSubTreeOnSelect"
|
||||||
@ -27,12 +28,24 @@
|
|||||||
<preference id="extensions.treestyletab.focusMode"
|
<preference id="extensions.treestyletab.focusMode"
|
||||||
name="extensions.treestyletab.focusMode"
|
name="extensions.treestyletab.focusMode"
|
||||||
type="int"/>
|
type="int"/>
|
||||||
|
<preference id="extensions.treestyletab.tabbar.scroll.smooth"
|
||||||
|
name="extensions.treestyletab.tabbar.scroll.smooth"
|
||||||
|
type="bool"/>
|
||||||
|
<preference id="extensions.treestyletab.tabbar.position"
|
||||||
|
name="extensions.treestyletab.tabbar.position"
|
||||||
|
type="string"/>
|
||||||
<preference id="browser.link.open_newwindow"
|
<preference id="browser.link.open_newwindow"
|
||||||
name="browser.link.open_newwindow"
|
name="browser.link.open_newwindow"
|
||||||
type="int"/>
|
type="int"/>
|
||||||
<preference id="browser.link.open_newwindow.restriction"
|
<preference id="browser.link.open_newwindow.restriction"
|
||||||
name="browser.link.open_newwindow.restriction"
|
name="browser.link.open_newwindow.restriction"
|
||||||
type="int"/>
|
type="int"/>
|
||||||
|
<preference id="extensions.treestyletab.openGroupBookmarkAsTabSubTree"
|
||||||
|
name="extensions.treestyletab.openGroupBookmarkAsTabSubTree"
|
||||||
|
type="bool"/>
|
||||||
|
<preference id="browser.tabs.loadFolderAndReplace"
|
||||||
|
name="browser.tabs.loadFolderAndReplace"
|
||||||
|
type="bool"/>
|
||||||
</preferences>
|
</preferences>
|
||||||
|
|
||||||
<checkbox id="extensions.treestyletab.autoCollapseExpandSubTreeOnSelect-check"
|
<checkbox id="extensions.treestyletab.autoCollapseExpandSubTreeOnSelect-check"
|
||||||
@ -52,47 +65,49 @@
|
|||||||
label="&config.focusMode;"
|
label="&config.focusMode;"
|
||||||
onsyncfrompreference="return document.getElementById('extensions.treestyletab.focusMode').value == 0;"
|
onsyncfrompreference="return document.getElementById('extensions.treestyletab.focusMode').value == 0;"
|
||||||
onsynctopreference="return document.getElementById('extensions.treestyletab.focusMode-check').checked ? 0 : 1 ;"/>
|
onsynctopreference="return document.getElementById('extensions.treestyletab.focusMode-check').checked ? 0 : 1 ;"/>
|
||||||
|
<checkbox id="extensions.treestyletab.tabbar.scroll.smooth-check"
|
||||||
|
preference="extensions.treestyletab.tabbar.scroll.smooth"
|
||||||
|
label="&config.tabbar.scroll.smooth;"/>
|
||||||
|
<groupbox>
|
||||||
|
<caption label="&config.tabbar.position.caption;"/>
|
||||||
|
<radiogroup id="extensions.treestyletab.tabbar.position-radiogroup"
|
||||||
|
preference="extensions.treestyletab.tabbar.position"
|
||||||
|
orient="horizontal">
|
||||||
|
<radio value="left" label="&config.tabbar.position.left;"/>
|
||||||
|
<radio value="right" label="&config.tabbar.position.right;"/>
|
||||||
|
</radiogroup>
|
||||||
|
</groupbox>
|
||||||
<groupbox>
|
<groupbox>
|
||||||
<caption label="&config.open_newwindow.caption;"/>
|
<caption label="&config.open_newwindow.caption;"/>
|
||||||
<vbox>
|
|
||||||
<radiogroup id="browser.link.open_newwindow-radiogroup"
|
<radiogroup id="browser.link.open_newwindow-radiogroup"
|
||||||
preference="browser.link.open_newwindow"
|
preference="browser.link.open_newwindow"
|
||||||
orient="vertical">
|
orient="vertical">
|
||||||
<radio value="2" label="&config.open_newwindow.window;"/>
|
<radio value="2" label="&config.open_newwindow.window;"/>
|
||||||
<radio value="3" label="&config.open_newwindow.tab;"/>
|
<radio value="3" label="&config.open_newwindow.tab;"/>
|
||||||
</radiogroup>
|
</radiogroup>
|
||||||
</vbox>
|
|
||||||
</groupbox>
|
</groupbox>
|
||||||
<groupbox>
|
<groupbox>
|
||||||
<caption label="&config.jsopen.caption;"/>
|
<caption label="&config.jsopen.caption;"/>
|
||||||
<vbox>
|
|
||||||
<radiogroup id="browser.link.open_newwindow.restriction-radiogroup"
|
<radiogroup id="browser.link.open_newwindow.restriction-radiogroup"
|
||||||
preference="browser.link.open_newwindow.restriction"
|
preference="browser.link.open_newwindow.restriction"
|
||||||
orient="vertical">
|
orient="vertical">
|
||||||
<radio value="2" label="&config.jsopen.default;"/>
|
<radio value="2" label="&config.jsopen.default;"/>
|
||||||
<radio value="0" label="&config.jsopen.forcetab;"/>
|
<radio value="0" label="&config.jsopen.forcetab;"/>
|
||||||
</radiogroup>
|
</radiogroup>
|
||||||
</vbox>
|
</groupbox>
|
||||||
|
<groupbox>
|
||||||
|
<caption label="&config.openGroupBookmarkAsTabSubTree.caption;"/>
|
||||||
|
<radiogroup id="openGroupBookmarkAsTabSubTree-radiogroup"
|
||||||
|
orient="vertical"
|
||||||
|
oncommand="onChangeGroupBookmarkRadio();">
|
||||||
|
<radio value="subtree" label="&config.openGroupBookmarkAsTabSubTree.subtree;"/>
|
||||||
|
<radio value="flat" label="&config.openGroupBookmarkAsTabSubTree.flat;"/>
|
||||||
|
<radio value="replace" label="&config.openGroupBookmarkAsTabSubTree.replace;"/>
|
||||||
|
</radiogroup>
|
||||||
</groupbox>
|
</groupbox>
|
||||||
</prefpane>
|
</prefpane>
|
||||||
|
|
||||||
<!--
|
<script src="config.js" type="application/x-javascript"/>
|
||||||
<prefpane id="prefpane-selection-menu" label="&config.tabs.selectionMenu;">
|
|
||||||
<preferences id="prefpane-selection-menu-preferences">
|
|
||||||
<preference id="extensions.treestyletab."
|
|
||||||
name="extensions.treestyletab."
|
|
||||||
type="bool"/>
|
|
||||||
</preferences>
|
|
||||||
<groupbox>
|
|
||||||
<caption label="&config..caption;"/>
|
|
||||||
<vbox>
|
|
||||||
<checkbox id="extensions.treestyletab.-check"
|
|
||||||
preference="extensions.treestyletab."
|
|
||||||
label="&popup.;"/>
|
|
||||||
</vbox>
|
|
||||||
</groupbox>
|
|
||||||
</prefpane>
|
|
||||||
-->
|
|
||||||
|
|
||||||
</prefwindow>
|
</prefwindow>
|
||||||
|
|
||||||
|
@ -259,6 +259,7 @@ var TreeStyleTabService = {
|
|||||||
var parentTab = TreeStyleTabService.getTabFromFrame(aOpener, ownerBrowser);
|
var parentTab = TreeStyleTabService.getTabFromFrame(aOpener, ownerBrowser);
|
||||||
|
|
||||||
ownerBrowser.__treestyletab__readyToAttachNewTab = true;
|
ownerBrowser.__treestyletab__readyToAttachNewTab = true;
|
||||||
|
ownerBrowser.__treestyletab__readyToAttachMultiple = false;
|
||||||
ownerBrowser.__treestyletab__parentTab = parentTab.getAttribute(TreeStyleTabService.kID);
|
ownerBrowser.__treestyletab__parentTab = parentTab.getAttribute(TreeStyleTabService.kID);
|
||||||
})(aOpener);
|
})(aOpener);
|
||||||
}
|
}
|
||||||
@ -269,6 +270,31 @@ var TreeStyleTabService = {
|
|||||||
window.QueryInterface(Components.interfaces.nsIDOMChromeWindow).browserDOMWindow = null;
|
window.QueryInterface(Components.interfaces.nsIDOMChromeWindow).browserDOMWindow = null;
|
||||||
window.QueryInterface(Components.interfaces.nsIDOMChromeWindow).browserDOMWindow = new nsBrowserAccess();
|
window.QueryInterface(Components.interfaces.nsIDOMChromeWindow).browserDOMWindow = new nsBrowserAccess();
|
||||||
|
|
||||||
|
eval('BookmarksCommand.openGroupBookmark = '+
|
||||||
|
BookmarksCommand.openGroupBookmark.toSource().replace(
|
||||||
|
'browser.addTab(uri);',
|
||||||
|
<><![CDATA[
|
||||||
|
var openedTab = browser.addTab(uri);
|
||||||
|
if (!TreeStyleTabService.getPref('browser.tabs.loadFolderAndReplace') &&
|
||||||
|
TreeStyleTabService.getPref('extensions.treestyletab.openGroupBookmarkAsTabSubTree') &&
|
||||||
|
!browser.__treestyletab__parentTab) {
|
||||||
|
browser.__treestyletab__readyToAttachNewTab = true;
|
||||||
|
browser.__treestyletab__readyToAttachMultiple = true;
|
||||||
|
browser.__treestyletab__parentTab = openedTab.getAttribute(TreeStyleTabService.kID);
|
||||||
|
}
|
||||||
|
]]></>
|
||||||
|
).replace(
|
||||||
|
'if (index == index0)',
|
||||||
|
<><![CDATA[
|
||||||
|
browser.__treestyletab__readyToAttachNewTab = false;
|
||||||
|
browser.__treestyletab__readyToAttachMultiple = false;
|
||||||
|
browser.__treestyletab__parentTab = null;
|
||||||
|
if (index == index0)]]></>
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ('MultipleTabService' in window) {
|
if ('MultipleTabService' in window) {
|
||||||
eval('MultipleTabService.showHideMenuItems = '+
|
eval('MultipleTabService.showHideMenuItems = '+
|
||||||
MultipleTabService.showHideMenuItems.toSource().replace(
|
MultipleTabService.showHideMenuItems.toSource().replace(
|
||||||
@ -795,6 +821,7 @@ catch(e) {
|
|||||||
if (node.href && isMiddleClick) {
|
if (node.href && isMiddleClick) {
|
||||||
var b = this.getTabBrowserFromChildren(aEvent.currentTarget);
|
var b = this.getTabBrowserFromChildren(aEvent.currentTarget);
|
||||||
b.__treestyletab__readyToAttachNewTab = true;
|
b.__treestyletab__readyToAttachNewTab = true;
|
||||||
|
b.__treestyletab__readyToAttachMultiple = false;
|
||||||
b.__treestyletab__parentTab = b.selectedTab.getAttribute(this.kID);
|
b.__treestyletab__parentTab = b.selectedTab.getAttribute(this.kID);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -851,8 +878,11 @@ catch(e) {
|
|||||||
this.attachTabTo(tab, parent);
|
this.attachTabTo(tab, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!b.__treestyletab__readyToAttachMultiple) {
|
||||||
b.__treestyletab__readyToAttachNewTab = false;
|
b.__treestyletab__readyToAttachNewTab = false;
|
||||||
|
b.__treestyletab__readyToAttachMultiple = false;
|
||||||
b.__treestyletab__parentTab = '';
|
b.__treestyletab__parentTab = '';
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onTabRemoved : function(aEvent)
|
onTabRemoved : function(aEvent)
|
||||||
|
@ -9,9 +9,11 @@ pref("extensions.treestyletab.tabbar.width", 200);
|
|||||||
pref("extensions.treestyletab.tabbar.position", "left");
|
pref("extensions.treestyletab.tabbar.position", "left");
|
||||||
pref("extensions.treestyletab.tabbar.scroll.smooth", true);
|
pref("extensions.treestyletab.tabbar.scroll.smooth", true);
|
||||||
pref("extensions.treestyletab.tabbar.scroll.timeout", 250);
|
pref("extensions.treestyletab.tabbar.scroll.timeout", 250);
|
||||||
|
pref("extensions.treestyletab.openGroupBookmarkAsTabSubTree", true);
|
||||||
|
|
||||||
|
|
||||||
pref("browser.link.open_newwindow.restriction", 0);
|
pref("browser.link.open_newwindow.restriction", 0);
|
||||||
|
pref("browser.tabs.loadFolderAndReplace", false);
|
||||||
|
|
||||||
|
|
||||||
pref("extensions.multipletab.show.multipletab-selection-item-removeTabSubTree", true);
|
pref("extensions.multipletab.show.multipletab-selection-item-removeTabSubTree", true);
|
||||||
|
@ -12,13 +12,24 @@
|
|||||||
|
|
||||||
<!ENTITY config.focusMode "Focus to the next/previous tab even if it is invisible, by Control(Command)-Tab">
|
<!ENTITY config.focusMode "Focus to the next/previous tab even if it is invisible, by Control(Command)-Tab">
|
||||||
|
|
||||||
|
<!ENTITY config.tabbar.scroll.smooth "Scroll the tab bar smoothly">
|
||||||
|
|
||||||
|
<!ENTITY config.tabbar.position.caption "Tab bar position">
|
||||||
|
<!ENTITY config.tabbar.position.left "Leftside">
|
||||||
|
<!ENTITY config.tabbar.position.right "Rightside">
|
||||||
|
|
||||||
<!ENTITY config.open_newwindow.caption "New window opened from links in webpages unexpectedly">
|
<!ENTITY config.open_newwindow.caption "New window opened from links in webpages unexpectedly">
|
||||||
<!ENTITY config.open_newwindow.window "Open as Window">
|
<!ENTITY config.open_newwindow.window "Open as Window">
|
||||||
<!ENTITY config.open_newwindow.tab "Open as Tab (default)">
|
<!ENTITY config.open_newwindow.tab "Open as Tab (Firefox default)">
|
||||||
|
|
||||||
<!ENTITY config.jsopen.caption "New window opened from scripts in webpages">
|
<!ENTITY config.jsopen.caption "New window opened from scripts in webpages">
|
||||||
<!ENTITY config.jsopen.default "Open as Window when it have special width, height, etc. (default)">
|
<!ENTITY config.jsopen.default "Open as Window when it have special width, height, etc. (Firefox default)">
|
||||||
<!ENTITY config.jsopen.forcetab "Open as Tab instead of Window anyway">
|
<!ENTITY config.jsopen.forcetab "Open as Tab instead of Window anyway (Recommended)">
|
||||||
|
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.caption ""Open All in Tabs" from bookmrak folders">
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.subtree "Open as a sub tree (Recommended)">
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.flat "Open as separate tabs">
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.replace "Replace all tabs to the pages in the folder (Firefox default)">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,13 +12,24 @@
|
|||||||
|
|
||||||
<!ENTITY config.focusMode "Control(Command)-Tabでタブを切り替える時、折りたたまれたタブにもフォーカスする">
|
<!ENTITY config.focusMode "Control(Command)-Tabでタブを切り替える時、折りたたまれたタブにもフォーカスする">
|
||||||
|
|
||||||
|
<!ENTITY config.tabbar.scroll.smooth "タブバーをなめらかにスクロールする">
|
||||||
|
|
||||||
|
<!ENTITY config.tabbar.position.caption "タブバーの表示位置">
|
||||||
|
<!ENTITY config.tabbar.position.left "ウィンドウの左側">
|
||||||
|
<!ENTITY config.tabbar.position.right "ウィンドウの右側">
|
||||||
|
|
||||||
<!ENTITY config.open_newwindow.caption "Webページのリンクから勝手に開かれたウィンドウの制御">
|
<!ENTITY config.open_newwindow.caption "Webページのリンクから勝手に開かれたウィンドウの制御">
|
||||||
<!ENTITY config.open_newwindow.window "ウィンドウで開く">
|
<!ENTITY config.open_newwindow.window "ウィンドウで開く">
|
||||||
<!ENTITY config.open_newwindow.tab "タブで開く(初期値)">
|
<!ENTITY config.open_newwindow.tab "タブで開く(Firefox初期状態)">
|
||||||
|
|
||||||
<!ENTITY config.jsopen.caption "Webページのスクリプトで開かれるウィンドウの制御">
|
<!ENTITY config.jsopen.caption "Webページのスクリプトで開かれるウィンドウの制御">
|
||||||
<!ENTITY config.jsopen.default "大きさや位置を指定されたウィンドウはウィンドウとして開く(初期値)">
|
<!ENTITY config.jsopen.default "大きさや位置を指定されたウィンドウはウィンドウとして開く(Firefox初期状態)">
|
||||||
<!ENTITY config.jsopen.forcetab "スクリプトで開かれるウィンドウはすべてタブで開く">
|
<!ENTITY config.jsopen.forcetab "スクリプトで開かれるウィンドウはすべてタブで開く(推奨)">
|
||||||
|
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.caption "ブックマークフォルダの内容をタブで開く時の扱い">
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.subtree "一つのサブツリーとして開く(推奨)">
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.flat "ばらばらのタブとして開く">
|
||||||
|
<!ENTITY config.openGroupBookmarkAsTabSubTree.replace "現在開いているすべてのタブをブックマークの内容で置き換える(Firefox初期状態)">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user