グループをまとめるタブの外観を色々改善
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://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 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/
|
||||
|
||||
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/dummy.css appversion>=3.0b3pre
|
||||
override chrome://treestyletab/skin/square/compat.css chrome://treestyletab/skin/square/compat-3.5.css appversion>=3.1b3pre
|
||||
override chrome://treestyletab/skin/metal/tab.css chrome://treestyletab/skin/metal/tab-3.5.css appversion>=3.1b3pre
|
||||
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.1
|
||||
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)
|
||||
.QueryInterface(kRDFLITIID)
|
||||
.Value;
|
||||
var folderTitleURI = TreeStyleTabService.getFolderTabURI(folderTitle);
|
||||
var folderTitleURI = TreeStyleTabService.getGroupTabURI(folderTitle);
|
||||
if (doReplace || index0 < tabCount) {
|
||||
browser.treeStyleTab.partTab(browser.treeStyleTab.getTabs(browser).snapshotItem(index0));
|
||||
tabPanels[index0].loadURI(folderTitleURI);
|
||||
@ -76,7 +76,7 @@ window.addEventListener('load', function() {
|
||||
) {
|
||||
TreeStyleTabService.readyToOpenNewTabGroup();
|
||||
if (TreeStyleTabService.getTreePref('openGroupBookmarkAsTabSubTree.underParent'))
|
||||
urls.unshift(TreeStyleTabService.getFolderTabURI(aFolderTitle));
|
||||
urls.unshift(TreeStyleTabService.getGroupTabURI(aFolderTitle));
|
||||
replaceCurrentTab = false;
|
||||
}
|
||||
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$/, ''));
|
||||
},
|
||||
|
||||
getFolderTabURI : function(aTitle)
|
||||
getGroupTabURI : function(aTitle)
|
||||
{
|
||||
var html = '<title>'+
|
||||
String(aTitle).replace(/&/g, '$amp;')
|
||||
.replace(/</g, '$lt;')
|
||||
.replace(/>/g, '$gt;')+
|
||||
'</title>';
|
||||
return 'data:text/html;charset=UTF-8,'+encodeURIComponent(html);
|
||||
return 'about:treestyletab-group?'+encodeURIComponent(aTitle);
|
||||
},
|
||||
|
||||
/* 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