- add support for Zotero as a separate tab (currently only via loading chrome://zotero/content/tab.xul)

- tweak twisty appearance on OS X (highlight-on-click is gone, but this seems preferable to the previous behavior)
- simplify chrome.manifest for standalone
This commit is contained in:
Simon Kornblith 2011-01-24 10:29:36 +00:00
parent c9bd1b015b
commit 1a3d616c2d
12 changed files with 132 additions and 11 deletions

View file

@ -396,4 +396,49 @@
#zotero-items-tree treechildren::-moz-tree-cell,
#zotero-items-tree treechildren::-moz-tree-column {
border-right: 1px solid #d7dad7;
}
treechildren::-moz-tree-twisty {
-moz-appearance: none;
width: 11px;
height: 11px;
list-style-image: url("chrome://zotero/skin/mac/twisty.png");
-moz-padding-start: 5px;
-moz-padding-end: 6px;
}
treechildren::-moz-tree-twisty(open) {
-moz-appearance: none;
width: 11px;
height: 11px;
list-style-image: url("chrome://zotero/skin/mac/twisty-open.png");
-moz-padding-start: 4px;
-moz-padding-end: 7px;
}
/* How to get active twisty?
treechildren::-moz-tree-twisty(active) {
-moz-appearance: none;
list-style-image: url("chrome://zotero/skin/mac/twisty-active.png") !important;
}
treechilren::-moz-tree-twisty(active) {
-moz-appearance: none;
list-style-image: url("chrome://zotero/skin/mac/twisty-active-open.png");
}
*/
:root[active] treechildren::-moz-tree-twisty(selected) {
-moz-appearance: none;
list-style-image: url("chrome://zotero/skin/mac/twisty-selected.png");
}
:root[active] treechildren::-moz-tree-twisty(selected, open) {
-moz-appearance: none;
list-style-image: url("chrome://zotero/skin/mac/twisty-selected-open.png");
}
treechildren::-moz-tree-image {
height: 16px;
padding-bottom: 1px;
}

View file

@ -104,7 +104,12 @@ var Zotero_Browser = new function() {
* Initialize some variables and prepare event listeners for when chrome is done loading
*/
function init() {
if (!Zotero || !Zotero.initialized || Zotero.isStandalone) {
try {
var gb = gBrowser;
} catch(e) {
return;
}
if (!Zotero || !Zotero.initialized || !gb) {
return;
}

View file

@ -90,6 +90,7 @@ var ZoteroPane = new function()
var self = this;
var _loaded = false;
var _isStandaloneOrTab = false;
var titlebarcolorState, toolbarCollapseState, titleState;
// Also needs to be changed in collectionTreeView.js
@ -100,9 +101,11 @@ var ZoteroPane = new function()
*/
function onLoad()
{
_isStandaloneOrTab = Zotero.isStandalone || document.getElementById('zotero-tab');
if (!Zotero) return;
if (!Zotero.initialized) {
if(Zotero.isStandalone) {
if(_isStandaloneOrTab) {
_loaded = true;
this.toggleDisplay();
}
@ -229,7 +232,7 @@ var ZoteroPane = new function()
document.getElementById('zotero-tb-actions-showDuplicates').hidden = false;
}
if(Zotero.isStandalone) {
if(_isStandaloneOrTab) {
this.toggleDisplay(true);
this.fullScreen(true);
}
@ -350,7 +353,7 @@ var ZoteroPane = new function()
var isCollapsed = true;
}
if (isHidden || isCollapsed || Zotero.isStandalone) {
if (isHidden || isCollapsed || _isStandaloneOrTab) {
var makeVisible = true;
}
@ -510,7 +513,7 @@ var ZoteroPane = new function()
*/
function _setFullWindowMode(set) {
// hide or show navigation toolbars
if(Zotero.isStandalone) return;
if(_isStandaloneOrTab) return;
var toolbox = getNavToolbox();
if(set) {

View file

@ -478,11 +478,11 @@
Zotero.getString('errorReport.reportErrors'));
}
var fx36Icon = document.getElementById('zotero-status-bar-icon');
var addonBar = document.getElementById('addon-bar');
// Check whether standalone is running, and return if so
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
var isStandalone = appInfo.ID === "zotero@chnm.gmu.edu";
if(isStandalone) return;
if(!addonBar && !fx36Icon) return;
// THE FOLLOWING CODE IS NOT APPLIED IN STANDALONE
// (It relates almost entirely to the Zotero icon)
@ -491,10 +491,12 @@
.getService(Components.interfaces.nsIPrefService)
.getBranch('extensions.zotero.').getIntPref('statusBarIcon');
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
var isFx36 = appInfo.platformVersion.indexOf('1.9') === 0;
// Status bar in Fx3.6
if (isFx36) {
var icon = document.getElementById('zotero-status-bar-icon');
var icon = fx36Icon;
}
// In >=Fx4, add to add-on bar
else {
@ -502,7 +504,6 @@
icon.id = 'zotero-addon-bar-icon';
icon.setAttribute('oncommand', 'ZoteroPane.toggleDisplay()');
icon.setAttribute('hidden', true);
var addonBar = document.getElementById('addon-bar');
addonBar.appendChild(icon);
if (addonBar.collapsed) {
// If no Zotero or icon isn't set to hidden, show add-on bar

View file

@ -1,8 +1,11 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://zotero/skin/zotero.css" type="text/css"?>
<?xml-stylesheet href="chrome://zotero/skin/standalone.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<?xul-overlay href="chrome://zotero/content/overlay.xul"?>
<?xul-overlay href="chrome://zotero/content/itemPane.xul"?>
<!DOCTYPE window [
<!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">

View file

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://zotero/skin/zotero.css" type="text/css"?>
<?xml-stylesheet href="chrome://zotero/skin/standalone.css" type="text/css"?>
<?xul-overlay href="chrome://zotero/content/overlay.xul"?>
<?xul-overlay href="chrome://zotero/content/itemPane.xul"?>
<!DOCTYPE window [
<!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
<!ENTITY % charsetDTD SYSTEM "chrome://global/locale/charsetOverlay.dtd" >
%charsetDTD;
<!ENTITY % textcontextDTD SYSTEM "chrome://global/locale/textcontext.dtd" >
%textcontextDTD;
<!ENTITY % standaloneDTD SYSTEM "chrome://zotero/locale/standalone.dtd" >
%standaloneDTD;
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
%brandDTD;
]>
<window id="zotero-tab" title="Zotero"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
flex="1">
<popup id="contentAreaContextMenu">
<menuitem id="context-undo"
label="&undoCmd.label;"
accesskey="&undoCmd.accesskey;"
command="cmd_undo"/>
<menuseparator id="context-sep-undo"/>
<menuitem id="context-cut"
label="&cutCmd.label;"
accesskey="&cutCmd.accesskey;"
command="cmd_cut"/>
<menuitem id="context-copy"
label="&copyCmd.label;"
accesskey="&copyCmd.accesskey;"
command="cmd_copy"/>
<menuitem id="context-paste"
label="&pasteCmd.label;"
accesskey="&pasteCmd.accesskey;"
command="cmd_paste"/>
<menuitem id="context-delete"
label="&deleteCmd.label;"
accesskey="&deleteCmd.accesskey;"
command="cmd_delete"/>
<menuseparator id="context-sep-paste"/>
<menuitem id="context-selectall"
label="&selectAllCmd.label;"
accesskey="&selectAllCmd.accesskey;"
command="cmd_selectAll"/>
</popup>
<hbox flex="1" id="browser">
<vbox id="appcontent" flex="1">
<tabbrowser id="content" disablehistory="true"
flex="1" contenttooltip="aHTMLTooltip"
contentcontextmenu="contentAreaContextMenu"
onnewtab="BrowserOpenTab();"
autocompletepopup="PopupAutoComplete"
onclick="return contentAreaClick(event, false);"/>
</vbox>
</hbox>
<keyset id="mainKeyset"/>
</window>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB