From 22d4dcbf8b7b66d6ce44b1577f8ab2c93b50df5b Mon Sep 17 00:00:00 2001 From: piro Date: Thu, 1 Apr 2010 11:19:31 +0000 Subject: [PATCH] =?UTF-8?q?plain=E5=BE=A9=E6=B4=BB=EF=BC=88=E9=9A=A0?= =?UTF-8?q?=E3=81=97=E8=A8=AD=E5=AE=9A=E3=81=A8=E3=81=97=E3=81=A6=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@6545 599a83e7-65a4-db11-8015-0010dcdd6dc2 --- content/treestyletab/treestyletabbrowser.js | 91 ++++++++++++------- .../treestyletab/square/dropshadow.css | 40 ++++---- skin/classic/treestyletab/square/square.css | 32 +++---- 3 files changed, 92 insertions(+), 71 deletions(-) diff --git a/content/treestyletab/treestyletabbrowser.js b/content/treestyletab/treestyletabbrowser.js index 4e079eee..79116653 100644 --- a/content/treestyletab/treestyletabbrowser.js +++ b/content/treestyletab/treestyletabbrowser.js @@ -1446,44 +1446,12 @@ TreeStyleTabBrowser.prototype = { break; case 'extensions.treestyletab.tabbar.style': - if ( - value == 'default' || // old name (for compatibility) - ( // dropshadow is available only on Firefox 3.5 or later. - value == 'mixed' && - this.Comparator.compare(this.XULAppInfo.version, '3.5') < 0 - ) - ) { - this.setTreePref('tabbar.style', value = 'flat'); - } - if (value) { - if (/^(flat|mixed|vertigo)$/.test(value)) - value = 'square '+value; - this.setTabbrowserAttribute(this.kSTYLE, value); - } - else { - this.removeTabbrowserAttribute(this.kSTYLE); - } + this.setTabbarStyle(value); value = this.getTreePref('twisty.style'); - if (value != 'auto') { + if (value != 'auto') break; - } case 'extensions.treestyletab.twisty.style': - if (value == 'auto') { - if (this.getTreePref('tabbar.style') == 'sidebar') { - value = 'osx'; - } - else if ( - window['piro.sakura.ne.jp'].extensions.isAvailable('informationaltab@piro.sakura.ne.jp') && - this.getPref('extensions.informationaltab.thumbnail.enabled') && - this.getPref('extensions.informationaltab.thumbnail.position') < 100 - ) { - value = 'retro'; - } - else { - value = 'modern-black'; - } - } - this.setTabbrowserAttribute(this.kTWISTY_STYLE, value); + this.setTwistyStyle(value); break; case 'extensions.treestyletab.showBorderForFirstTab': @@ -1523,6 +1491,59 @@ TreeStyleTabBrowser.prototype = { break; } }, + setTabbarStyle : function TSTBrowser_setTabbarStyle(aStyle) + { + if (/^(default|plain|flat|mixed|vertigo|metal|sidebar)$/.test(aStyle)) + aStyle = aStyle.toLowerCase(); + + if (aStyle == 'default') { // old name (for compatibility) + this.setTreePref('tabbar.style', aStyle = 'plain'); + } + else if (// dropshadow is available only on Firefox 3.5 or later. + aStyle == 'mixed' && + this.Comparator.compare(this.XULAppInfo.version, '3.5') < 0 + ) { + this.setTreePref('tabbar.style', aStyle = 'flat'); + } + + if (aStyle) { + let additionalValues = []; + if (/^(plain|flat|mixed|vertigo)$/.test(aStyle)) + additionalValues.push('square'); + if (/^(plain|flat|mixed)$/.test(aStyle)) + additionalValues.push('border'); + if (/^(flat|mixed)$/.test(aStyle)) + additionalValues.push('color'); + if (/^(plain|mixed)$/.test(aStyle)) + additionalValues.push('shadow'); + if (additionalValues.length) + aStyle = additionalValues.join(' ')+' '+aStyle; + + this.setTabbrowserAttribute(this.kSTYLE, aStyle); + } + else { + this.removeTabbrowserAttribute(this.kSTYLE); + } + }, + setTwistyStyle : function TSTBrowser_setTwistyStyle(aStyle) + { + if (aStyle == 'auto') { + if (this.getTreePref('tabbar.style') == 'sidebar') { + aStyle = 'osx'; + } + else if ( + window['piro.sakura.ne.jp'].extensions.isAvailable('informationaltab@piro.sakura.ne.jp') && + this.getPref('extensions.informationaltab.thumbnail.enabled') && + this.getPref('extensions.informationaltab.thumbnail.position') < 100 + ) { + aStyle = 'retro'; + } + else { + aStyle = 'modern-black'; + } + } + this.setTabbrowserAttribute(this.kTWISTY_STYLE, aStyle); + }, /* DOM Event Handling */ diff --git a/skin/classic/treestyletab/square/dropshadow.css b/skin/classic/treestyletab/square/dropshadow.css index 064071fd..55bbc516 100644 --- a/skin/classic/treestyletab/square/dropshadow.css +++ b/skin/classic/treestyletab/square/dropshadow.css @@ -3,22 +3,22 @@ /* drop-shadow of vertival tabs */ -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabbrowser-tab { -moz-box-shadow: -0.3em 0.3em 0.2em rgba(0, 0, 0, 0.15) !important; } -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] .tabbrowser-tab { -moz-box-shadow: 0.3em 0.3em 0.2em rgba(0, 0, 0, 0.15) !important; } -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabs-container:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, #TabsToolbar - .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) + .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox { background: url("newtab-shadow.png") repeat-x bottom !important; @@ -26,81 +26,81 @@ /* hide new tab button by Tab Mix Plus https://addons.mozilla.org/firefox/addon/1122 */ -.tabbrowser-tabs[newTabButton="false"][treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] +.tabbrowser-tabs[newTabButton="false"][treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabs-container:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, #TabsToolbar - .tabbrowser-tabs[newTabButton="false"][treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) + .tabbrowser-tabs[newTabButton="false"][treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, /* hide new tab button by Tab Mix Lite https://addons.mozilla.org/firefox/addon/12444 */ -.tabbrowser-tabs[newTabButton="none"][treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] +.tabbrowser-tabs[newTabButton="none"][treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabs-container:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, #TabsToolbar - .tabbrowser-tabs[newTabButton="none"][treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) + .tabbrowser-tabs[newTabButton="none"][treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, /* hide new tab button by Tabberwocky https://addons.mozilla.org/firefox/addon/14439 */ tabbrowser[tabberwocky-hidenewtabbutton="true"] - .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] + .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabs-container:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, #TabsToolbar[tabberwocky-hidenewtabbutton="true"] /* not implemented on 1.1, so this is just a random guess... */ - .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) + .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, /* hide new tab button by Tab Utilities https://addons.mozilla.org/firefox/addon/59961 */ -.tabbrowser-tabs[newbutton="none"][treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] +.tabbrowser-tabs[newbutton="none"][treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabs-container:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, #TabsToolbar - .tabbrowser-tabs[newbutton="none"][treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) + .tabbrowser-tabs[newbutton="none"][treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, /* hide new tab button by others */ :root[treestyletab-hide-newtab-button="true"] - .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] + .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabs-container:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox, :root[treestyletab-hide-newtab-button="true"] #TabsToolbar - .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) + .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox .scrollbox-innerbox { background-image: none !important; } -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"] .tabs-container:not([overflow="true"]) .tabbrowser-arrowscrollbox .tabs-newtab-button, #TabsToolbar - .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) + .tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox .tabs-newtab-button { margin-bottom: 5px !important; } -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"]:not([overflow="true"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"]:not([overflow="true"]) .tabbrowser-arrowscrollbox, -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"][overflow="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"][overflow="true"] .tabbrowser-arrowscrollbox .scrollbox-innerbox { background: url("../metal/shadow-inactive-l.png") repeat-y top right !important; } -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"]:not([overflow="true"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"]:not([overflow="true"]) .tabbrowser-arrowscrollbox, -.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="mixed"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"][overflow="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="shadow"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"][overflow="true"] .tabbrowser-arrowscrollbox .scrollbox-innerbox { background: url("../metal/shadow-inactive-r.png") repeat-y top left !important; diff --git a/skin/classic/treestyletab/square/square.css b/skin/classic/treestyletab/square/square.css index ca331fe1..4bdcfdbf 100644 --- a/skin/classic/treestyletab/square/square.css +++ b/skin/classic/treestyletab/square/square.css @@ -8,7 +8,7 @@ margin: 0; -moz-appearance: none; } -.tabbrowser-strip[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) { +.tabbrowser-strip[treestyletab-style~="square"][treestyletab-style~="border"]:not([treestyletab-tabbar-position="top"]) { background: darkgray !important; -moz-appearance: none; } @@ -231,53 +231,53 @@ /* Mixed style */ -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"])[treestyletab-mode="vertical"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"][treestyletab-mode="vertical"] .tabbrowser-tab { -moz-border-right-colors: transparent transparent !important; -moz-border-left-colors: transparent transparent !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab:not([selected="true"]):hover { background-color: #e0e8f6 !important; -moz-border-top-colors: #e0e8f6 transparent !important; -moz-border-left-colors: #e0e8f6 transparent !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"])[treestyletab-mode="vertical"][treestyletab-firsttab-border="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"][treestyletab-mode="vertical"][treestyletab-firsttab-border="true"] .tabbrowser-tab:first-child:not([selected="true"]):hover { -moz-border-top-colors: ThreeDShadow #e0e8f6 !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"])[treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] .tabbrowser-tab:not([selected="true"]):hover { -moz-border-right-colors: #e0e8f6 transparent !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab[selected="true"] { background-color: #c1d2ee !important; -moz-border-top-colors: #c1d2ee transparent !important; -moz-border-left-colors: #c1d2ee transparent !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"])[treestyletab-mode="vertical"][treestyletab-firsttab-border="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"][treestyletab-mode="vertical"][treestyletab-firsttab-border="true"] .tabbrowser-tab:first-child[selected="true"] { -moz-border-top-colors: ThreeDShadow #c1d2ee !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"])[treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] .tabbrowser-tab[selected="true"] { -moz-border-right-colors: #c1d2ee transparent !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab[selected="true"]:hover { background-color: #d1e2fe !important; -moz-border-top-colors: #d1e2fe transparent !important; -moz-border-left-colors: #d1e2fe transparent !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"])[treestyletab-mode="vertical"][treestyletab-firsttab-border="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"][treestyletab-mode="vertical"][treestyletab-firsttab-border="true"] .tabbrowser-tab:first-child[selected="true"]:hover { -moz-border-top-colors: ThreeDShadow #d1e2fe !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"])[treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"][treestyletab-mode="vertical"][treestyletab-tab-inverted="true"] .tabbrowser-tab[selected="true"]:hover { -moz-border-right-colors: #d1e2fe transparent !important; } @@ -285,29 +285,29 @@ /* tab surface */ -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab, -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab:not([selected="true"]) { background-image: url("tab-bg.png") !important; background-repeat: repeat-x !important; background-position: 1px 1px !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab[selected="true"] { background-image: url("tab-bg-highlighted.png") !important; } /* animation */ -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab:not([selected="true"]):hover { background-color: ThreeDFace !important; background-image: url("tab-bg-hover.png") !important; } -.tabbrowser-tabs[treestyletab-style~="square"]:not([treestyletab-style~="vertigo"]):not([treestyletab-tabbar-position="top"]) +.tabbrowser-tabs[treestyletab-style~="square"][treestyletab-style~="color"]:not([treestyletab-tabbar-position="top"]) .tabbrowser-tab[selected="true"]:hover { background-color: #c1d2ee !important; background-image: url("tab-bg-selected-hover.png") !important;