グループをまとめるタブの外観を色々改善
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@4533 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
cb21099f51
commit
6f90bd09ec
@ -5,7 +5,7 @@ overlay chrome://browser/content/browser.xul chrome://treestyletab/content/trees
|
|||||||
overlay chrome://browser/content/bookmarks/bookmarksPanel.xul chrome://treestyletab/content/bookmarksOverlay.xul
|
overlay chrome://browser/content/bookmarks/bookmarksPanel.xul chrome://treestyletab/content/bookmarksOverlay.xul
|
||||||
overlay chrome://multipletab/content/config.xul chrome://treestyletab/content/multipletabConfigOverlay.xul
|
overlay chrome://multipletab/content/config.xul chrome://treestyletab/content/multipletabConfigOverlay.xul
|
||||||
|
|
||||||
style chrome://browser/content/browser.xul chrome://treestyletab/content/treestyletab-3.5.css appversion>=3.1b3pre
|
style chrome://browser/content/browser.xul chrome://treestyletab/content/treestyletab-3.5.css appversion>=3.1
|
||||||
|
|
||||||
locale treestyletab en-US jar:chrome/treestyletab.jar!/locale/en-US/treestyletab/
|
locale treestyletab en-US jar:chrome/treestyletab.jar!/locale/en-US/treestyletab/
|
||||||
locale treestyletab ja jar:chrome/treestyletab.jar!/locale/ja/treestyletab/
|
locale treestyletab ja jar:chrome/treestyletab.jar!/locale/ja/treestyletab/
|
||||||
@ -19,7 +19,11 @@ locale treestyletab pl-PL jar:chrome/treestyletab.jar!/locale/pl-PL/treestyletab
|
|||||||
|
|
||||||
skin treestyletab classic/1.0 jar:chrome/treestyletab.jar!/skin/classic/treestyletab/
|
skin treestyletab classic/1.0 jar:chrome/treestyletab.jar!/skin/classic/treestyletab/
|
||||||
|
|
||||||
|
override chrome://treestyletab/skin/group-icon chrome://treestyletab/skin/group-fx2.png
|
||||||
|
override chrome://treestyletab/skin/group-icon chrome://treestyletab/skin/group-fx3.png appversion>=3.0
|
||||||
|
override chrome://treestyletab/skin/group-icon chrome://treestyletab/skin/group-fx3-aero.png appversion>=3.0 os=WINNT osversion>=6
|
||||||
|
|
||||||
override chrome://treestyletab/skin/square/compat.css chrome://treestyletab/skin/square/compat-2.css
|
override chrome://treestyletab/skin/square/compat.css chrome://treestyletab/skin/square/compat-2.css
|
||||||
override chrome://treestyletab/skin/square/compat.css chrome://treestyletab/skin/dummy.css appversion>=3.0b3pre
|
override chrome://treestyletab/skin/square/compat.css chrome://treestyletab/skin/dummy.css appversion>=3.0
|
||||||
override chrome://treestyletab/skin/square/compat.css chrome://treestyletab/skin/square/compat-3.5.css appversion>=3.1b3pre
|
override chrome://treestyletab/skin/square/compat.css chrome://treestyletab/skin/square/compat-3.5.css appversion>=3.1
|
||||||
override chrome://treestyletab/skin/metal/tab.css chrome://treestyletab/skin/metal/tab-3.5.css appversion>=3.1b3pre
|
override chrome://treestyletab/skin/metal/tab.css chrome://treestyletab/skin/metal/tab-3.5.css appversion>=3.1
|
||||||
|
141
components/AboutGroup.js
Normal file
141
components/AboutGroup.js
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
/*
|
||||||
|
***** BEGIN LICENSE BLOCK *****
|
||||||
|
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
|
||||||
|
The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
http://www.mozilla.org/MPL/
|
||||||
|
|
||||||
|
Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
for the specific language governing rights and limitations under the
|
||||||
|
License.
|
||||||
|
|
||||||
|
The Original Code is the Tree Style Tab.
|
||||||
|
|
||||||
|
The Initial Developer of the Original Code is SHIMODA Hiroshi.
|
||||||
|
Portions created by the Initial Developer are Copyright (C) 2009
|
||||||
|
the Initial Developer. All Rights Reserved.
|
||||||
|
|
||||||
|
Contributor(s): SHIMODA Hiroshi <piro@p.club.ne.jp>
|
||||||
|
|
||||||
|
Alternatively, the contents of this file may be used under the terms of
|
||||||
|
either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
of those above. If you wish to allow use of your version of this file only
|
||||||
|
under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
use your version of this file under the terms of the MPL, indicate your
|
||||||
|
decision by deleting the provisions above and replace them with the notice
|
||||||
|
and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
the provisions above, a recipient may use your version of this file under
|
||||||
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
|
||||||
|
***** END LICENSE BLOCK *****
|
||||||
|
*/
|
||||||
|
|
||||||
|
const IOService = Components.classes['@mozilla.org/network/io-service;1']
|
||||||
|
.getService(Components.interfaces.nsIIOService);
|
||||||
|
|
||||||
|
function AboutGroup()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
AboutGroup.prototype = {
|
||||||
|
get contractID() {
|
||||||
|
return '@mozilla.org/network/protocol/about;1?what=treestyletab-group';
|
||||||
|
},
|
||||||
|
get classDescription() {
|
||||||
|
return 'about:treestyletab-group handler';
|
||||||
|
},
|
||||||
|
get classID() {
|
||||||
|
return Components.ID('{305122d0-5bdc-11de-8a39-0800200c9a66}');
|
||||||
|
},
|
||||||
|
|
||||||
|
QueryInterface : function(aIID)
|
||||||
|
{
|
||||||
|
if (!aIID.equals(Components.interfaces.nsIAboutModule) &&
|
||||||
|
!aIID.equals(Components.interfaces.nsISupports))
|
||||||
|
throw Components.results.NS_ERROR_NO_INTERFACE;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
|
||||||
|
newChannel : function(aURI)
|
||||||
|
{
|
||||||
|
return IOService.newChannel('chrome://treestyletab/content/group.xul', null, null);
|
||||||
|
},
|
||||||
|
|
||||||
|
getURIFlags : function(aURI)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var gModule = {
|
||||||
|
_firstTime: true,
|
||||||
|
|
||||||
|
registerSelf : function (aComponentManager, aFileSpec, aLocation, aType)
|
||||||
|
{
|
||||||
|
if (this._firstTime) {
|
||||||
|
this._firstTime = false;
|
||||||
|
throw Components.results.NS_ERROR_FACTORY_REGISTER_AGAIN;
|
||||||
|
}
|
||||||
|
aComponentManager = aComponentManager.QueryInterface(Components.interfaces.nsIComponentRegistrar);
|
||||||
|
for (var key in this._objects) {
|
||||||
|
var obj = this._objects[key];
|
||||||
|
aComponentManager.registerFactoryLocation(obj.CID, obj.className, obj.contractID, aFileSpec, aLocation, aType);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
unregisterSelf : function (aComponentManager, aFileSpec, aLocation)
|
||||||
|
{
|
||||||
|
aComponentManager = aComponentManager.QueryInterface(Components.interfaces.nsIComponentRegistrar);
|
||||||
|
for (var key in this._objects) {
|
||||||
|
var obj = this._objects[key];
|
||||||
|
aComponentManager.unregisterFactoryLocation(obj.CID, aFileSpec);
|
||||||
|
|
||||||
|
categoryManager.deleteCategoryEntry('content-policy', obj.contractID, true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getClassObject : function (aComponentManager, aCID, aIID)
|
||||||
|
{
|
||||||
|
if (!aIID.equals(Components.interfaces.nsIFactory))
|
||||||
|
throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
|
||||||
|
|
||||||
|
for (var key in this._objects) {
|
||||||
|
if (aCID.equals(this._objects[key].CID))
|
||||||
|
return this._objects[key].factory;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw Components.results.NS_ERROR_NO_INTERFACE;
|
||||||
|
},
|
||||||
|
|
||||||
|
_objects : {
|
||||||
|
manager : {
|
||||||
|
CID : AboutGroup.prototype.classID,
|
||||||
|
contractID : AboutGroup.prototype.contractID,
|
||||||
|
className : AboutGroup.prototype.classDescription,
|
||||||
|
factory : {
|
||||||
|
createInstance : function (aOuter, aIID)
|
||||||
|
{
|
||||||
|
if (aOuter != null)
|
||||||
|
throw Components.results.NS_ERROR_NO_AGGREGATION;
|
||||||
|
return (new AboutGroup()).QueryInterface(aIID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
canUnload : function (aComponentManager)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function NSGetModule(compMgr, fileSpec)
|
||||||
|
{
|
||||||
|
return gModule;
|
||||||
|
}
|
@ -11,7 +11,7 @@ window.addEventListener('load', function() {
|
|||||||
var folderTitle = BMDS.GetTarget(resource, RDF.GetResource(gNC_NS + 'Name'), true)
|
var folderTitle = BMDS.GetTarget(resource, RDF.GetResource(gNC_NS + 'Name'), true)
|
||||||
.QueryInterface(kRDFLITIID)
|
.QueryInterface(kRDFLITIID)
|
||||||
.Value;
|
.Value;
|
||||||
var folderTitleURI = TreeStyleTabService.getFolderTabURI(folderTitle);
|
var folderTitleURI = TreeStyleTabService.getGroupTabURI(folderTitle);
|
||||||
if (doReplace || index0 < tabCount) {
|
if (doReplace || index0 < tabCount) {
|
||||||
browser.treeStyleTab.partTab(browser.treeStyleTab.getTabs(browser).snapshotItem(index0));
|
browser.treeStyleTab.partTab(browser.treeStyleTab.getTabs(browser).snapshotItem(index0));
|
||||||
tabPanels[index0].loadURI(folderTitleURI);
|
tabPanels[index0].loadURI(folderTitleURI);
|
||||||
@ -76,7 +76,7 @@ window.addEventListener('load', function() {
|
|||||||
) {
|
) {
|
||||||
TreeStyleTabService.readyToOpenNewTabGroup();
|
TreeStyleTabService.readyToOpenNewTabGroup();
|
||||||
if (TreeStyleTabService.getTreePref('openGroupBookmarkAsTabSubTree.underParent'))
|
if (TreeStyleTabService.getTreePref('openGroupBookmarkAsTabSubTree.underParent'))
|
||||||
urls.unshift(TreeStyleTabService.getFolderTabURI(aFolderTitle));
|
urls.unshift(TreeStyleTabService.getGroupTabURI(aFolderTitle));
|
||||||
replaceCurrentTab = false;
|
replaceCurrentTab = false;
|
||||||
}
|
}
|
||||||
else if (!TreeStyleTabService.getPref('browser.tabs.loadFolderAndReplace')) {
|
else if (!TreeStyleTabService.getPref('browser.tabs.loadFolderAndReplace')) {
|
||||||
|
21
content/treestyletab/group.xul
Normal file
21
content/treestyletab/group.xul
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?xml-stylesheet type="text/css" href="chrome://global/skin/"?>
|
||||||
|
<?xml-stylesheet type="text/css" href="chrome://treestyletab/skin/group.css"?>
|
||||||
|
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
|
<hbox align="center">
|
||||||
|
<image id="icon"/>
|
||||||
|
<label id="label"/>
|
||||||
|
</hbox>
|
||||||
|
<link xmlns="http://www.w3.org/1999/xhtml" rel="icon"
|
||||||
|
href="chrome://treestyletab/skin/group-icon"/>
|
||||||
|
<script type="application/x-javascript"><![CDATA[
|
||||||
|
|
||||||
|
var title = location.href.split('?')[1];
|
||||||
|
if (title) {
|
||||||
|
title = decodeURIComponent(title);
|
||||||
|
document.title = title;
|
||||||
|
document.documentElement.setAttribute('title', title);
|
||||||
|
document.getElementById('label').value = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
]]></script>
|
||||||
|
</page>
|
@ -716,14 +716,9 @@ var TreeStyleTabService = {
|
|||||||
return Number(style.getPropertyValue(aProp).replace(/px$/, ''));
|
return Number(style.getPropertyValue(aProp).replace(/px$/, ''));
|
||||||
},
|
},
|
||||||
|
|
||||||
getFolderTabURI : function(aTitle)
|
getGroupTabURI : function(aTitle)
|
||||||
{
|
{
|
||||||
var html = '<title>'+
|
return 'about:treestyletab-group?'+encodeURIComponent(aTitle);
|
||||||
String(aTitle).replace(/&/g, '$amp;')
|
|
||||||
.replace(/</g, '$lt;')
|
|
||||||
.replace(/>/g, '$gt;')+
|
|
||||||
'</title>';
|
|
||||||
return 'data:text/html;charset=UTF-8,'+encodeURIComponent(html);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/* get tab(s) */
|
/* get tab(s) */
|
||||||
|
BIN
skin/classic/treestyletab/group-fx2.png
Normal file
BIN
skin/classic/treestyletab/group-fx2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 629 B |
BIN
skin/classic/treestyletab/group-fx3-aero.png
Normal file
BIN
skin/classic/treestyletab/group-fx3-aero.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 590 B |
BIN
skin/classic/treestyletab/group-fx3.png
Normal file
BIN
skin/classic/treestyletab/group-fx3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 480 B |
17
skin/classic/treestyletab/group.css
Normal file
17
skin/classic/treestyletab/group.css
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
page {
|
||||||
|
background: -moz-dialog;
|
||||||
|
margin: 1em;
|
||||||
|
-moz-appearance: window;
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
color: -moz-dialogtext;
|
||||||
|
font-family: message-box;
|
||||||
|
font-size: large;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
#icon {
|
||||||
|
list-style-image: url("chrome://global/skin/icons/folder-item.png");
|
||||||
|
-moz-image-region: rect(0, 32px, 16px, 16px);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user