Fixes #515, Zotero pane min-height remains in effect when pane is closed
Also: - Changed default Zotero pane min-height to 32px, which lets you shrink it to just the controls -- it would be better if we had a notification popup for the various non-translator save functions, since this way there's no feedback when you click the buttons, but at least it's possible. A dedicated mode with a keyboard shortcut would probably be better. - Fixed bug (I think) whereby resizing the Z pane downward after resizing the tag selector up and then down sometimes caused the Z pane to stay at a fixed size and get pushed below the bottom
This commit is contained in:
parent
bbb1236ae8
commit
9197a8b4de
|
@ -106,7 +106,7 @@ var ZoteroAdvancedSearch = new function() {
|
|||
return;
|
||||
}
|
||||
|
||||
if (lastWin.document.getElementById('zotero-pane').getAttribute('collapsed') == 'true') {
|
||||
if (lastWin.document.getElementById('zotero-pane').getAttribute('hidden') == 'true') {
|
||||
lastWin.ZoteroPane.toggleDisplay();
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ var ZoteroPane = new function()
|
|||
var newPane = document.createElement('hbox');
|
||||
newPane.setAttribute('id','zotero-pane');
|
||||
newPane.setAttribute('persist','height');
|
||||
newPane.setAttribute('collapsed',true);
|
||||
newPane.setAttribute('hidden', true);
|
||||
newPane.height = oldPane.height;
|
||||
while(oldPane.hasChildNodes())
|
||||
newPane.appendChild(oldPane.firstChild);
|
||||
|
@ -98,7 +98,7 @@ var ZoteroPane = new function()
|
|||
|
||||
var newSplitter = document.createElement('splitter');
|
||||
newSplitter.setAttribute('id','zotero-splitter');
|
||||
newSplitter.setAttribute('collapsed',true);
|
||||
newSplitter.setAttribute('hidden', true);
|
||||
newSplitter.setAttribute('resizebefore','closest');
|
||||
newSplitter.setAttribute('resizeafter','closest');
|
||||
newSplitter.setAttribute('onmouseup', 'ZoteroPane.updateTagSelectorSize()');
|
||||
|
@ -168,10 +168,10 @@ var ZoteroPane = new function()
|
|||
function toggleDisplay()
|
||||
{
|
||||
// Visible == target visibility
|
||||
var visible = document.getElementById('zotero-pane').getAttribute('collapsed') == 'true';
|
||||
var visible = document.getElementById('zotero-pane').getAttribute('hidden') == 'true';
|
||||
|
||||
document.getElementById('zotero-pane').setAttribute('collapsed',!visible);
|
||||
document.getElementById('zotero-splitter').setAttribute('collapsed',!visible);
|
||||
document.getElementById('zotero-pane').setAttribute('hidden', !visible);
|
||||
document.getElementById('zotero-splitter').setAttribute('hidden', !visible);
|
||||
|
||||
if (visible) {
|
||||
document.getElementById('zotero-pane').focus();
|
||||
|
@ -191,14 +191,14 @@ var ZoteroPane = new function()
|
|||
// Turn Z-pane flex on to stretch to window in full-screen, but off otherwise so persist works
|
||||
document.getElementById('zotero-pane').setAttribute('flex', collapsed ? "0" : "1");
|
||||
document.getElementById('content').setAttribute('collapsed', !collapsed);
|
||||
document.getElementById('zotero-splitter').setAttribute('collapsed', !collapsed);
|
||||
document.getElementById('zotero-splitter').setAttribute('hidden', !collapsed);
|
||||
document.getElementById('zotero-tb-fullscreen').setAttribute('fullscreenmode', !collapsed);
|
||||
}
|
||||
|
||||
|
||||
function handleKeyPress(event) {
|
||||
// Ignore keystrokes if Zotero pane is closed
|
||||
if (document.getElementById('zotero-pane').getAttribute('collapsed') == 'true') {
|
||||
if (document.getElementById('zotero-pane').getAttribute('hidden') == 'true') {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -367,14 +367,28 @@ var ZoteroPane = new function()
|
|||
zoteroPane.setAttribute('height', zoteroPane.boxObject.height);
|
||||
}
|
||||
|
||||
if (tagSelector.getAttribute('collapsed') != 'true' && !height) {
|
||||
height = parseInt(tagSelector.getAttribute('height'));
|
||||
if (tagSelector.getAttribute('collapsed') == 'true') {
|
||||
// 32px is the default Z pane min-height in overlay.css
|
||||
height = 32;
|
||||
}
|
||||
else {
|
||||
// tS.boxObject.height doesn't exist at startup, so get from attribute
|
||||
if (!height) {
|
||||
height = parseInt(tagSelector.getAttribute('height'));
|
||||
}
|
||||
// 121px seems to be enough room for the toolbar and collections
|
||||
// tree at minimum height
|
||||
height = height + 121;
|
||||
}
|
||||
|
||||
// 170px is the Z-pane min-height sans tag selector; 120px seems to be
|
||||
// enough room for the toolbar and collections tree at minimum height
|
||||
//Zotero.debug('Setting tag selector minheight to ' + (Math.max(170, 120 + height)));
|
||||
zoteroPane.setAttribute('minheight', Math.max(170, 120 + height));
|
||||
Zotero.debug('Setting Zotero pane minheight to ' + height);
|
||||
zoteroPane.setAttribute('minheight', height);
|
||||
|
||||
// Fix bug whereby resizing the Z pane downward after resizing
|
||||
// the tag selector up and then down sometimes caused the Z pane to
|
||||
// stay at a fixed size and get pushed below the bottom
|
||||
tagSelector.height++;
|
||||
tagSelector.height--;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -64,9 +64,9 @@
|
|||
<vbox id="appcontent">
|
||||
<!-- Changes to attributes of zotero-splitter and zotero-pane must be mirrored on overlay.js's onLoad() function -->
|
||||
<!-- onmouseup shouldn't be necessary but seems to help prevent tag selector from sometimes going off the screen -->
|
||||
<splitter id="zotero-splitter" resizebefore="closest" resizeafter="closest" collapsed="true"
|
||||
<splitter id="zotero-splitter" resizebefore="closest" resizeafter="closest" hidden="true"
|
||||
onmouseup="ZoteroPane.updateTagSelectorSize()"/>
|
||||
<hbox id="zotero-pane" persist="height" collapsed="true">
|
||||
<hbox id="zotero-pane" persist="height" hidden="true">
|
||||
<popupset>
|
||||
<popup id="zotero-collectionmenu" onpopupshowing="ZoteroPane.buildCollectionContextMenu();">
|
||||
<menuitem label="&zotero.toolbar.newCollection.label;" oncommand="ZoteroPane.newCollection()"/>
|
||||
|
@ -136,7 +136,7 @@
|
|||
</tree>
|
||||
</vbox>
|
||||
<splitter id="zotero-tags-splitter" onmouseup="ZoteroPane.updateTagSelectorSize()"/>
|
||||
<zoterotagselector id="zotero-tag-selector" persist="height,collapsed,showAutomaticsvn st"
|
||||
<zoterotagselector id="zotero-tag-selector" persist="height,collapsed,showAutomatic"
|
||||
oncommand="ZoteroPane.updateTagFilter()"/>
|
||||
</vbox>
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#zotero-pane
|
||||
{
|
||||
background: #f5f5f5;
|
||||
min-height: 170px;
|
||||
min-height: 32px; /* must match value in ZoteroPane.updateTagSelectorSize() */
|
||||
height: 300px;
|
||||
padding: 4px;
|
||||
overflow: hidden;
|
||||
|
|
Loading…
Reference in New Issue
Block a user