Draw navigation bar in the titlebar for Australis on Windows

This commit is contained in:
Piro / YUKI Hiroshi 2013-11-20 23:38:12 +09:00
parent 507a5a2bdf
commit 0f82638570
6 changed files with 61 additions and 14 deletions

View File

@ -37,6 +37,7 @@ override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Darwin-base.css os=Darwin appversion>=28.0a1 override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Darwin-base.css os=Darwin appversion>=28.0a1
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Linux-base.css os=Linux override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Linux-base.css os=Linux
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/dummy.css os=WINNT override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/dummy.css os=WINNT
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/WINNT-base.css os=WINNT appversion>=28.0a1
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/Darwin-styled.css os=Darwin override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/Darwin-styled.css os=Darwin
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/dummy.css os=Linux override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/dummy.css os=Linux
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/WINNT-styled.css os=WINNT override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/WINNT-styled.css os=WINNT

View File

@ -94,6 +94,10 @@ pref("extensions.treestyletab.platform.Linux.tabbar.style", "plain");
* Aero Glass will be applied for the vertical tab bar, if you set this to "true". * Aero Glass will be applied for the vertical tab bar, if you set this to "true".
*/ */
pref("extensions.treestyletab.tabbar.style.aero", false); pref("extensions.treestyletab.tabbar.style.aero", false);
/**
* Allow/disallow to show toolbox in the titlebar, for Australis.
*/
pref("extensions.treestyletab.toolbox.allowShowInTitlebar", true);
/** /**
* AutoHide style for the vertical tab bar. * AutoHide style for the vertical tab bar.

View File

@ -59,6 +59,7 @@ const TreeStyleTabConstants = Object.freeze({
kCOLLAPSING_PHASE_TO_BE_COLLAPSED : 'collapse', kCOLLAPSING_PHASE_TO_BE_COLLAPSED : 'collapse',
kCOLLAPSING_PHASE_TO_BE_EXPANDED : 'expand', kCOLLAPSING_PHASE_TO_BE_EXPANDED : 'expand',
kALLOW_COLLAPSE : 'treestyletab-allow-subtree-collapse', kALLOW_COLLAPSE : 'treestyletab-allow-subtree-collapse',
kALLOW_TOOLBOX_IN_TITLEBAR : 'treestyletab-allow-toolbox-in-titlebar',
kALLOW_STACK : 'treestyletab-stack-collapsed-tabs', kALLOW_STACK : 'treestyletab-stack-collapsed-tabs',
kREMOVED : 'treestyletab-removed', kREMOVED : 'treestyletab-removed',

View File

@ -393,6 +393,7 @@ TreeStyleTabWindow.prototype = {
this.onPrefChange('extensions.treestyletab.tabbar.autoHide.mode'); this.onPrefChange('extensions.treestyletab.tabbar.autoHide.mode');
this.onPrefChange('extensions.treestyletab.autoCollapseExpandSubtreeOnSelect.whileFocusMovingByShortcut'); this.onPrefChange('extensions.treestyletab.autoCollapseExpandSubtreeOnSelect.whileFocusMovingByShortcut');
this.onPrefChange('extensions.treestyletab.toolbox.allowShowInTitlebar');
this.initialized = true; this.initialized = true;
}, },
@ -1039,8 +1040,10 @@ TreeStyleTabWindow.prototype = {
utils.clearTreePref('tabsOnTop.originalState'); utils.clearTreePref('tabsOnTop.originalState');
} }
} }
if (TabsInTitlebar) if (TabsInTitlebar) {
TabsInTitlebar.allowedBy('TreeStyleTab', isTopTabbar); let allowed = isTopTabbar || utils.getTreePref('toolbox.allowShowInTitlebar');
TabsInTitlebar.allowedBy('TreeStyleTab', allowed);
}
} }
finally { finally {
this.tabsOnTopChangingByTST = false; this.tabsOnTopChangingByTST = false;
@ -1685,6 +1688,10 @@ TreeStyleTabWindow.prototype = {
this.themeManager.set(prefs.getPref('extensions.treestyletab.tabbar.style'), this.position); this.themeManager.set(prefs.getPref('extensions.treestyletab.tabbar.style'), this.position);
break; break;
case 'extensions.treestyletab.toolbox.allowShowInTitlebar':
this.setTabbrowserAttribute(this.kALLOW_TOOLBOX_IN_TITLEBAR, value);
break;
case 'browser.ctrlTab.previews': case 'browser.ctrlTab.previews':
this.autoHideWindow.updateKeyListeners(this.window); this.autoHideWindow.updateKeyListeners(this.window);
case 'extensions.treestyletab.autoCollapseExpandSubtreeOnSelect.whileFocusMovingByShortcut': case 'extensions.treestyletab.autoCollapseExpandSubtreeOnSelect.whileFocusMovingByShortcut':

View File

@ -2,7 +2,6 @@
/** /**
* Cancel "tabs on top" appearance on Australis. * Cancel "tabs on top" appearance on Australis.
* This is possibly moved to /skin/base.css for all platforms.
*/ */
:root:not([treestyletab-tabbar-position="top"]) :root:not([treestyletab-tabbar-position="top"])
#nav-bar:not(:-moz-lwtheme), #nav-bar:not(:-moz-lwtheme),
@ -13,16 +12,10 @@
border-left: none; border-left: none;
border-right: none; border-right: none;
box-shadow: none; box-shadow: none;
} /**
* With Australis, the "back" button in the navigation toolbar is
/** * unexpectedly overwrapped on the border of the expanded titlebar.
* With Australis, the "back" button in the navigation toolbar is * This negative margin solves the overwrapping.
* unexpectedly overwrapped on the border of the expanded titlebar. */
* This negative margin solves the overwrapping.
*/
:root:not([treestyletab-tabbar-position="top"])
#nav-bar:not(:-moz-lwtheme),
:root:not([treestyletab-tabbar-position="top"])
#nav-bar:not(:-moz-lwtheme):-moz-window-inactive {
margin-top: -4px; margin-top: -4px;
} }

View File

@ -0,0 +1,41 @@
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@media (-moz-windows-compositor) {
/**
* Cancel "tabs on top" appearance on Australis.
*/
#main-window[sizemode="normal"]:not([treestyletab-tabbar-position="top"])
#browser-panel
> #navigator-toolbox
> #nav-bar:not(:-moz-lwtheme),
#main-window[sizemode="normal"]:not([treestyletab-tabbar-position="top"])
#browser-panel
> #navigator-toolbox
> #nav-bar:not(:-moz-lwtheme):-moz-window-inactive {
background: transparent;
border-top: none !important;
border-left: none;
border-right: none;
box-shadow: none;
position: relative;
margin-top: -5px;
padding-top: 0;
padding-left: 0;
padding-right: 0;
-moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar-drag");
}
/* show in titlebar mode */
#main-window[sizemode="normal"][treestyletab-allow-toolbox-in-titlebar="true"]:not([treestyletab-tabbar-position="top"])
#browser-panel
> #navigator-toolbox
> #nav-bar:not(:-moz-lwtheme),
#main-window[sizemode="normal"][treestyletab-allow-toolbox-in-titlebar="true"]:not([treestyletab-tabbar-position="top"])
#browser-panel
> #navigator-toolbox
> #nav-bar:not(:-moz-lwtheme):-moz-window-inactive {
margin-top: 1.5em;
}
}