Super Tab Modeによるタブのフォーカス制御を優先
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@6534 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
ab4a1a401a
commit
6364652b44
@ -301,67 +301,6 @@ TreeStyleTabService.overrideExtensionsOnInitBefore = function TSTService_overrid
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Super Tab Mode
|
|
||||||
// https://addons.mozilla.org/firefox/addon/13288
|
|
||||||
if ('stmM' in window) {
|
|
||||||
var observer = {
|
|
||||||
domain : 'extensions.stm.',
|
|
||||||
observe : function(aSubject, aTopic, aData)
|
|
||||||
{
|
|
||||||
switch (aData)
|
|
||||||
{
|
|
||||||
case 'extensions.stm.tabBarMultiRows':
|
|
||||||
case 'extensions.stm.tabBarPosition':
|
|
||||||
if (
|
|
||||||
TreeStyleTabService.getPref('extensions.stm.tabBarMultiRows') &&
|
|
||||||
TreeStyleTabService.getPref('extensions.stm.tabBarPosition') == 0
|
|
||||||
) {
|
|
||||||
TreeStyleTabService.setPref('extensions.stm.tabBarMultiRows.override', false);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
|
|
||||||
case 'extensions.stm.newTabBtnPos':
|
|
||||||
if (TreeStyleTabService.getPref(aData) == 0)
|
|
||||||
document.documentElement.removeAttribute(TreeStyleTabService.kHIDE_NEWTAB);
|
|
||||||
else
|
|
||||||
document.documentElement.setAttribute(TreeStyleTabService.kHIDE_NEWTAB, true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
observer.observe(null, null, 'extensions.stm.tabBarMultiRows');
|
|
||||||
observer.observe(null, null, 'extensions.stm.newTabBtnPos');
|
|
||||||
TreeStyleTabService.addPrefListener(observer);
|
|
||||||
window.addEventListener('unload', function() {
|
|
||||||
window.removeEventListener('unload', arguments.callee, false);
|
|
||||||
TreeStyleTabService.removePrefListener(observer);
|
|
||||||
}, false);
|
|
||||||
|
|
||||||
let warnPref = 'extensions.treestyletab.compatibility.STM.warnForNewTabPosition';
|
|
||||||
if (
|
|
||||||
this.getPref(warnPref) &&
|
|
||||||
this.getPref('extensions.stm.newTabPosition') != 0
|
|
||||||
) {
|
|
||||||
let checked = { value : false };
|
|
||||||
if (this.PromptService.confirmEx(
|
|
||||||
null,
|
|
||||||
this.treeBundle.getString('compatibility_STM_warning_title'),
|
|
||||||
this.treeBundle.getString('compatibility_STM_warning_text'),
|
|
||||||
(this.PromptService.BUTTON_TITLE_IS_STRING * this.PromptService.BUTTON_POS_0) +
|
|
||||||
(this.PromptService.BUTTON_TITLE_IS_STRING * this.PromptService.BUTTON_POS_1),
|
|
||||||
this.treeBundle.getString('compatibility_STM_warning_use_TST'),
|
|
||||||
this.treeBundle.getString('compatibility_STM_warning_use_STM'),
|
|
||||||
null,
|
|
||||||
this.treeBundle.getString('compatibility_STM_warning_never'),
|
|
||||||
checked
|
|
||||||
) == 0) {
|
|
||||||
this.setPref('extensions.stm.newTabPosition', 0);
|
|
||||||
}
|
|
||||||
if (checked.value)
|
|
||||||
this.setPref(warnPref, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TreeStyleTabService.overrideExtensionsOnInitAfter = function TSTService_overrideExtensionsOnInitAfter() {
|
TreeStyleTabService.overrideExtensionsOnInitAfter = function TSTService_overrideExtensionsOnInitAfter() {
|
||||||
@ -1080,6 +1019,71 @@ TreeStyleTabService.overrideExtensionsOnInitAfter = function TSTService_override
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Super Tab Mode
|
||||||
|
// https://addons.mozilla.org/firefox/addon/13288
|
||||||
|
if ('stmM' in window) {
|
||||||
|
var observer = {
|
||||||
|
domain : 'extensions.stm.',
|
||||||
|
observe : function(aSubject, aTopic, aData)
|
||||||
|
{
|
||||||
|
switch (aData)
|
||||||
|
{
|
||||||
|
case 'extensions.stm.tabBarMultiRows':
|
||||||
|
case 'extensions.stm.tabBarPosition':
|
||||||
|
if (
|
||||||
|
TreeStyleTabService.getPref('extensions.stm.tabBarMultiRows') &&
|
||||||
|
TreeStyleTabService.getPref('extensions.stm.tabBarPosition') == 0
|
||||||
|
) {
|
||||||
|
TreeStyleTabService.setPref('extensions.stm.tabBarMultiRows.override', false);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 'extensions.stm.newTabBtnPos':
|
||||||
|
if (TreeStyleTabService.getPref(aData) == 0)
|
||||||
|
document.documentElement.removeAttribute(TreeStyleTabService.kHIDE_NEWTAB);
|
||||||
|
else
|
||||||
|
document.documentElement.setAttribute(TreeStyleTabService.kHIDE_NEWTAB, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
observer.observe(null, null, 'extensions.stm.tabBarMultiRows');
|
||||||
|
observer.observe(null, null, 'extensions.stm.newTabBtnPos');
|
||||||
|
TreeStyleTabService.addPrefListener(observer);
|
||||||
|
window.addEventListener('unload', function() {
|
||||||
|
window.removeEventListener('unload', arguments.callee, false);
|
||||||
|
TreeStyleTabService.removePrefListener(observer);
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
let warnPref = 'extensions.treestyletab.compatibility.STM.warnForNewTabPosition';
|
||||||
|
if (
|
||||||
|
this.getPref(warnPref) &&
|
||||||
|
this.getPref('extensions.stm.newTabPosition') != 0
|
||||||
|
) {
|
||||||
|
let checked = { value : false };
|
||||||
|
if (this.PromptService.confirmEx(
|
||||||
|
null,
|
||||||
|
this.treeBundle.getString('compatibility_STM_warning_title'),
|
||||||
|
this.treeBundle.getString('compatibility_STM_warning_text'),
|
||||||
|
(this.PromptService.BUTTON_TITLE_IS_STRING * this.PromptService.BUTTON_POS_0) +
|
||||||
|
(this.PromptService.BUTTON_TITLE_IS_STRING * this.PromptService.BUTTON_POS_1),
|
||||||
|
this.treeBundle.getString('compatibility_STM_warning_use_TST'),
|
||||||
|
this.treeBundle.getString('compatibility_STM_warning_use_STM'),
|
||||||
|
null,
|
||||||
|
this.treeBundle.getString('compatibility_STM_warning_never'),
|
||||||
|
checked
|
||||||
|
) == 0) {
|
||||||
|
this.setPref('extensions.stm.newTabPosition', 0);
|
||||||
|
}
|
||||||
|
if (checked.value)
|
||||||
|
this.setPref(warnPref, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
TreeStyleTabService.registerTabFocusAllowance(function(aTabBrowser) {
|
||||||
|
return aTabBrowser.treeStyleTab.getPref('extensions.stm.focusAfterCloseTab') == 0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
window.setTimeout(function(aSelf) {
|
window.setTimeout(function(aSelf) {
|
||||||
aSelf.overrideExtensionsDelayed();
|
aSelf.overrideExtensionsDelayed();
|
||||||
|
Loading…
Reference in New Issue
Block a user