commit 785954f4f5217d529f4e05ead41fa6ebd763e30d
parent c64e5c841f1e08c5ca40e9ecd617a96a29654a37
Author: David Norton <david@nortoncrew.com>
Date: Mon, 17 Jul 2006 14:09:12 +0000
Fixes #116, Make full screen button text.
Fixes #115, Windows should open with Scholar Pane closed.
Fixes #105, search box loses focus after search starts.
Retooled the interface a bit, and removed the top toolbar. The close and fullscreen buttons are located to the right of the items toolbar. The item pane cannot be collapsed.
Diffstat:
6 files changed, 130 insertions(+), 138 deletions(-)
diff --git a/chrome/chromeFiles/content/scholar/collectionTreeView.js b/chrome/chromeFiles/content/scholar/collectionTreeView.js
@@ -25,6 +25,8 @@ Scholar.CollectionTreeView.prototype.setTree = function(treebox)
if(this._treebox)
return;
this._treebox = treebox;
+ //select Library
+ this.selection.select(0);
}
/*
diff --git a/chrome/chromeFiles/content/scholar/itemPane.js b/chrome/chromeFiles/content/scholar/itemPane.js
@@ -55,10 +55,7 @@ ScholarItemPane = new function()
* Loads an item
*/
function viewItem(thisItem)
- {
- if(document.commandDispatcher.focusedElement)
- document.commandDispatcher.focusedElement.blur();
-
+ {
_itemBeingEdited = thisItem;
reloadFields();
@@ -257,6 +254,7 @@ ScholarItemPane = new function()
t.setAttribute('value',value);
t.setAttribute('fieldname',fieldName);
t.setAttribute('flex','1');
+ t.className = 'fieldeditor';
var box = elem.parentNode;
box.replaceChild(t,elem);
diff --git a/chrome/chromeFiles/content/scholar/itemPane.xul b/chrome/chromeFiles/content/scholar/itemPane.xul
@@ -5,7 +5,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="itemPane.js"/>
- <tabbox id="scholar-view-item" height="1000">
+ <tabbox id="scholar-view-item" flex="1">
<tabs>
<tab label="&tabs.info.label;"/>
<tab label="&tabs.notes.label;"/>
diff --git a/chrome/chromeFiles/content/scholar/overlay.js b/chrome/chromeFiles/content/scholar/overlay.js
@@ -34,10 +34,8 @@ var ScholarPane = new function()
//Initialize collections view
collectionsView = new Scholar.CollectionTreeView();
document.getElementById('collections-tree').view = collectionsView;
-
- //select Library
- collectionsView.selection.select(0);
+ /*
if(window.opener)
{
var pane = window.opener.document.getElementById('scholar-pane');
@@ -48,6 +46,7 @@ var ScholarPane = new function()
toggleDisplay();
}
}
+ */
//Create the add menu with each item type
var addMenu = document.getElementById('tb-add').firstChild;
@@ -76,10 +75,10 @@ var ScholarPane = new function()
*/
function toggleDisplay()
{
- var visible = document.getElementById('scholar-pane').getAttribute('collapsed') == 'true';
+ var visible = document.getElementById('scholar-pane').getAttribute('hidden') == 'true';
- document.getElementById('scholar-pane').setAttribute('collapsed',!visible);
- document.getElementById('scholar-splitter').setAttribute('collapsed',!visible);
+ document.getElementById('scholar-pane').setAttribute('hidden',!visible);
+ document.getElementById('scholar-splitter').setAttribute('hidden',!visible);
if(!visible)
document.getElementById('content').setAttribute('collapsed', false);
@@ -89,6 +88,7 @@ var ScholarPane = new function()
{
var visible = document.getElementById('content').getAttribute('collapsed') == 'true';
document.getElementById('content').setAttribute('collapsed', !visible);
+ document.getElementById('scholar-splitter').setAttribute('hidden', !visible);
}
/*
diff --git a/chrome/chromeFiles/content/scholar/overlay.xul b/chrome/chromeFiles/content/scholar/overlay.xul
@@ -15,14 +15,14 @@
<script src="fileInterface.js"/>
<commandset id="mainCommandSet">
- <command id="cmd_scholar_newItem" oncommand="ScholarPane.newItem(1);"/>
+ <command id="cmd_scholar_newItem" oncommand="ScholarPane.newItem(2);"/>
<command id="cmd_scholar_newCollection" oncommand="ScholarPane.newCollection();"/>
<command id="cmd_scholar_search" oncommand="ScholarPane.search();"/>
</commandset>
<vbox id="appcontent">
- <splitter id="scholar-splitter" resizebefore="closest" resizeafter="closest" persist="collapsed"/>
- <vbox id="scholar-pane" flex="1" persist="height collapsed">
+ <splitter id="scholar-splitter" resizebefore="closest" resizeafter="closest" hidden="true"/>
+ <hbox id="scholar-pane" hidden="true" flex="1">
<popupset>
<popup id="scholar-collectionmenu" onpopupshowing="ScholarPane.buildCollectionContextMenu();">
<menuitem label="&toolbar.newCollection.label;" command="cmd_scholar_newCollection"/>
@@ -36,129 +36,127 @@
<menuitem oncommand="ScholarPane.deleteSelectedItem();"/>
</popup>
</popupset>
- <toolbar align="end">
- <label value="Scholar" id="scholar-toolbar-name"/>
- <label value="1.0 Alpha"/>
- <label class="text-link" value="About..." onclick="window.openDialog('chrome://scholar/content/about.xul','about','chrome,modal');"/>
- <spacer flex="1"/>
- <toolbarbutton id="tb-fullscreen" tooltiptext="Toggle Fullscreen" oncommand="ScholarPane.fullScreen();"/>
- <toolbarbutton class="tabs-closebutton" oncommand="ScholarPane.toggleDisplay()"/>
- </toolbar>
- <hbox flex="1">
- <vbox id="collections-pane" persist="width">
- <toolbar>
- <toolbarbutton id="tb-collection-add" tooltiptext="&toolbar.newCollection.label;" command="cmd_scholar_newCollection"/>
- <toolbarbutton id="tb-collection-rename" tooltiptext="&toolbar.renameCollection.label;" oncommand="ScholarPane.renameSelectedCollection();" disabled="true"/>
- <spacer flex="1"/>
- <toolbarbutton id="tb-collection-menu" type="menu">
- <menupopup>
- <menuitem label="Import..." oncommand="Scholar_File_Interface.importFile();"/>
- <menuitem label="Export Library..." oncommand="Scholar_File_Interface.exportFile();"/>
- </menupopup>
- </toolbarbutton>
- </toolbar>
- <tree id="collections-tree" hidecolumnpicker="true" context="scholar-collectionmenu"
- onselect="ScholarPane.onCollectionSelected();" seltype="single"
- ondragdrop="nsDragAndDrop.drop(event,ScholarPane.getCollectionsView())"
- ondraggesture="if (event.target.localName == 'treechildren') nsDragAndDrop.startDrag(event,ScholarPane.getCollectionsView());"
- onkeypress="if(event.keyCode == event.DOM_VK_BACK_SPACE || event.keyCode == event.DOM_VK_DELETE){ ScholarPane.deleteSelectedCollection(); return false; }"
- flex="1">
- <treecols>
- <treecol
- id="name_column"
- label="&collections.name_column;"
- flex="1"
- primary="true"/>
- </treecols>
- <treechildren/>
- </tree>
- </vbox>
- <splitter id="scholar-tree-splitter" resizebefore="closest" resizeafter="closest"/>
- <vbox id="items-pane" persist="width" flex="1">
- <toolbar align="center">
- <toolbarbutton id="tb-add" tooltiptext="&toolbar.newItem.label;" type="menu">
- <menupopup/>
- </toolbarbutton>
- <toolbarbutton label="New Note" oncommand="ScholarPane.openNoteWindow();"/>
- <spacer flex="1"/>
- <label value="&toolbar.search.label;" control="tb-search"/>
- <textbox id="tb-search" type="timed" timeout="250" command="cmd_scholar_search"/>
- </toolbar>
- <hbox id="scholar-search-options" hidden="true">
- <hbox>
- <toolbarbutton type="checkbox" label="Entire Item" checked="true" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
- <toolbarbutton type="checkbox" label="Info" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
- <toolbarbutton type="checkbox" label="Notes" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
- <toolbarbutton type="checkbox" label="Files" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
- </hbox>
- <spacer flex="1"/>
- <toolbarbutton label="Save"/>
- <toolbarbutton label="&scholar.plus;"/>
+ <vbox id="collections-pane" persist="width" flex="1">
+ <toolbar>
+ <toolbarbutton id="tb-collection-add" tooltiptext="&toolbar.newCollection.label;" command="cmd_scholar_newCollection"/>
+ <toolbarbutton id="tb-collection-rename" tooltiptext="&toolbar.renameCollection.label;" oncommand="ScholarPane.renameSelectedCollection();" disabled="true"/>
+ <spacer flex="1"/>
+ <toolbarbutton id="tb-collection-menu" type="menu">
+ <menupopup>
+ <menuitem label="Import..." oncommand="Scholar_File_Interface.importFile();"/>
+ <menuitem label="Export Library..." oncommand="Scholar_File_Interface.exportFile();"/>
+ </menupopup>
+ </toolbarbutton>
+ </toolbar>
+ <tree id="collections-tree" hidecolumnpicker="true" context="scholar-collectionmenu"
+ onselect="ScholarPane.onCollectionSelected();" seltype="single"
+ ondragdrop="nsDragAndDrop.drop(event,ScholarPane.getCollectionsView())"
+ ondraggesture="if (event.target.localName == 'treechildren') nsDragAndDrop.startDrag(event,ScholarPane.getCollectionsView());"
+ onkeypress="if(event.keyCode == event.DOM_VK_BACK_SPACE || event.keyCode == event.DOM_VK_DELETE){ ScholarPane.deleteSelectedCollection(); return false; }"
+ flex="1">
+ <treecols>
+ <treecol
+ id="name_column"
+ label="&collections.name_column;"
+ flex="1"
+ primary="true"/>
+ </treecols>
+ <treechildren/>
+ </tree>
+ </vbox>
+ <splitter id="scholar-tree-splitter" resizebefore="closest" resizeafter="closest"/>
+ <vbox id="items-pane" persist="width" flex="1">
+ <toolbar align="center">
+ <toolbarbutton id="tb-add" tooltiptext="&toolbar.newItem.label;" type="menu">
+ <menupopup/>
+ </toolbarbutton>
+ <toolbarbutton label="New Note" oncommand="ScholarPane.openNoteWindow();"/>
+ <spacer flex="1"/>
+ <label value="&toolbar.search.label;" control="tb-search"/>
+ <textbox id="tb-search" type="timed" timeout="250" command="cmd_scholar_search"/>
+ </toolbar>
+ <hbox id="scholar-search-options" hidden="true">
+ <hbox>
+ <toolbarbutton type="checkbox" label="Entire Item" checked="true" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
+ <toolbarbutton type="checkbox" label="Info" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
+ <toolbarbutton type="checkbox" label="Notes" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
+ <toolbarbutton type="checkbox" label="Files" onclick="var b = this.parentNode.getElementsByAttribute('checked','true'); b[0].checked = false;" command="cmd_scholar_search"/>
</hbox>
- <tree
- id="items-tree" context="scholar-itemmenu"
- enableColumnDrag="true" onkeypress="if(event.keyCode == event.DOM_VK_BACK_SPACE || event.keyCode == event.DOM_VK_DELETE){ ScholarPane.deleteSelectedItem(); return false; }"
- onselect="ScholarPane.itemSelected();"
- ondraggesture="if (event.target.localName == 'treechildren') nsDragAndDrop.startDrag(event,ScholarPane.getItemsView());"
- ondragover="nsDragAndDrop.dragOver(event,ScholarPane.getItemsView())"
- ondragdrop="nsDragAndDrop.drop(event,ScholarPane.getItemsView())"
- ondblclick="document.getElementById('scholar-view-splitter').setAttribute('state','open');"
- flex="1">
- <treecols>
- <treecol
- id="title" primary="true"
- label="&items.title_column;"
- flex="4" persist="width ordinal hidden sortActive sortDirection"/>
- <splitter class="tree-splitter"/>
- <treecol
- id="firstCreator"
- label="&items.creator_column;"
- flex="1" persist="width ordinal hidden sortActive sortDirection"/>
- <splitter class="tree-splitter"/>
- <treecol
- id="numNotes"
- label="&items.numNotes_column;"
- persist="width ordinal hidden sortActive sortDirection"/>
- <splitter class="tree-splitter"/>
- <treecol
- id="typeIcon" hidden="true"
- label="&items.type_column;"
- width="40" persist="width ordinal hidden sortActive sortDirection"/>
- <splitter class="tree-splitter"/>
- <treecol
- id="source" hidden="true"
- label="&items.source_column;"
- flex="1" persist="width ordinal hidden sortActive sortDirection"/>
- <splitter class="tree-splitter"/>
- <treecol
- id="rights" hidden="true"
- label="&items.rights_column;"
- flex="1" persist="width ordinal hidden sortActive sortDirection"/>
- <splitter class="tree-splitter"/>
- <treecol
- id="dateAdded" hidden="true"
- label="&items.dateAdded_column;"
- flex="1" persist="width ordinal hidden sortActive sortDirection"/>
- <splitter class="tree-splitter"/>
- <treecol
- id="dateModified" hidden="true"
- label="&items.dateModified_column;"
- flex="1" persist="width ordinal hidden sortActive sortDirection"/>
- </treecols>
- <treechildren/>
- </tree>
- </vbox>
- <splitter id="scholar-view-splitter" collapse="after" persist="state"><grippy/></splitter>
- <deck id="item-pane" selectedIndex="0">
- <box pack="center" align="center"><label id="scholar-view-selected-label"/></box>
+ <spacer flex="1"/>
+ <toolbarbutton label="Save"/>
+ <toolbarbutton label="&scholar.plus;"/>
+ </hbox>
+ <tree
+ id="items-tree" context="scholar-itemmenu"
+ enableColumnDrag="true" onkeypress="if(event.keyCode == event.DOM_VK_BACK_SPACE || event.keyCode == event.DOM_VK_DELETE){ ScholarPane.deleteSelectedItem(); return false; }"
+ onselect="ScholarPane.itemSelected();"
+ ondraggesture="if (event.target.localName == 'treechildren') nsDragAndDrop.startDrag(event,ScholarPane.getItemsView());"
+ ondragover="nsDragAndDrop.dragOver(event,ScholarPane.getItemsView())"
+ ondragdrop="nsDragAndDrop.drop(event,ScholarPane.getItemsView())"
+ ondblclick="document.getElementById('scholar-view-splitter').setAttribute('state','open');"
+ flex="1">
+ <treecols>
+ <treecol
+ id="title" primary="true"
+ label="&items.title_column;"
+ flex="4" persist="width ordinal hidden sortActive sortDirection"/>
+ <splitter class="tree-splitter"/>
+ <treecol
+ id="firstCreator"
+ label="&items.creator_column;"
+ flex="1" persist="width ordinal hidden sortActive sortDirection"/>
+ <splitter class="tree-splitter"/>
+ <treecol
+ id="numNotes"
+ label="&items.numNotes_column;"
+ persist="width ordinal hidden sortActive sortDirection"/>
+ <splitter class="tree-splitter"/>
+ <treecol
+ id="typeIcon" hidden="true"
+ label="&items.type_column;"
+ width="40" persist="width ordinal hidden sortActive sortDirection"/>
+ <splitter class="tree-splitter"/>
+ <treecol
+ id="source" hidden="true"
+ label="&items.source_column;"
+ flex="1" persist="width ordinal hidden sortActive sortDirection"/>
+ <splitter class="tree-splitter"/>
+ <treecol
+ id="rights" hidden="true"
+ label="&items.rights_column;"
+ flex="1" persist="width ordinal hidden sortActive sortDirection"/>
+ <splitter class="tree-splitter"/>
+ <treecol
+ id="dateAdded" hidden="true"
+ label="&items.dateAdded_column;"
+ flex="1" persist="width ordinal hidden sortActive sortDirection"/>
+ <splitter class="tree-splitter"/>
+ <treecol
+ id="dateModified" hidden="true"
+ label="&items.dateModified_column;"
+ flex="1" persist="width ordinal hidden sortActive sortDirection"/>
+ </treecols>
+ <treechildren/>
+ </tree>
+ </vbox>
+ <splitter id="scholar-view-splitter" resizebefore="closest" resizeafter="closest"/>
+ <vbox>
+ <toolbar align="right">
+ <toolbarbutton id="tb-fullscreen" label="Toggle Fullscreen" oncommand="ScholarPane.fullScreen();"/>
+ <toolbarbutton class="tabs-closebutton" oncommand="ScholarPane.toggleDisplay()"/>
+ </toolbar>
+ <deck id="item-pane" selectedIndex="0" flex="1">
+ <box pack="center" align="center">
+ <label id="scholar-view-selected-label"/>
+ </box>
<tabbox id="scholar-view-item" flex="1"/>
<vbox id="scholar-view-note" flex="1">
<noteeditor id="scholar-note-editor" flex="1"/>
<button label="Edit in a separate window" oncommand="ScholarPane.openNoteWindow(this.getAttribute('noteID'));"/>
</vbox>
</deck>
- </hbox>
- </vbox>
+ </vbox>
+ </hbox>
</vbox>
<statusbar id="status-bar">
diff --git a/chrome/chromeFiles/skin/default/scholar/overlay.css b/chrome/chromeFiles/skin/default/scholar/overlay.css
@@ -1,4 +1,4 @@
-vbox #scholar-pane
+#scholar-pane
{
background: #f5f5f5;
min-height: 150px;
@@ -8,7 +8,6 @@ vbox #scholar-pane
#collections-pane
{
min-width: 150px;
- max-width: 200px;
width: 150px;
}
@@ -17,7 +16,7 @@ vbox #scholar-pane
margin-right: 5px;
}
-#scholar-tree-splitter
+#scholar-pane splitter
{
background: #f5f5f5;
}
@@ -60,11 +59,6 @@ vbox #scholar-pane
font-size: larger;
}
-#tb-fullscreen
-{
- list-style-image: url('chrome://scholar/skin/toolbar-fullscreen.png');
-}
-
#tb-collection-add
{
list-style-image: url('chrome://scholar/skin/toolbar-collection-add.png');