Changeset 2782


Ignore:
Timestamp:
04/05/13 17:36:58 (11 years ago)
Author:
sroth
Message:

Added server dialog overlay elements.

File:
1 copied

Legend:

Unmodified
Added
Removed
  • DASISH/t5.6/client/trunk/chrome/markingcollection/content/markingcollection/serverDialogOverlay.xul

    r2762 r2782  
    11<?xml version="1.0" encoding="UTF-8" ?>
    2 <!DOCTYPE overlay SYSTEM "chrome://markingcollection/locale/markingcollection.dtd">
    3 <overlay
    4         id="autocacheDialogOverlay"
    5         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    6         xmlns:html="http://www.w3.org/1999/xhtml">
    7         <script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js" />
    8         <script type="application/x-javascript">
    9         <![CDATA[
    10                 function _autocacheDialogOverlayInit(aEvent){
     2<!-- TODO: move stylesheet sourcing to settingDialog.xul (test)  -->
     3<?xml-stylesheet href="chrome://markingcollection/skin/annotator-skin/dasish.css" type="text/css"?>
     4<!-- uncomment at a later stage, dtd file needs to be used for ENTITY translation -->
     5<!-- <!DOCTYPE overlay SYSTEM "chrome://markingcollection/locale/markingcollection.dtd"> -->
     6<overlay id="serverDialogOverlay"
     7         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     8         xmlns:html="http://www.w3.org/1999/xhtml">
     9   
     10    <script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js" /> <!-- Required for access to the Preference Manager component. -->
     11   
     12    <script type="application/x-javascript">
     13    <![CDATA[
     14    // var def_title_mode;
     15    // var def_serverpathtext_mode;
     16    /*
     17     * var def_title_mode;
     18        var def_note_mode;
     19        function _markerDialogOverlayInit(aEvent){ ... }
     20       
     21        function _markerDialogOverlayDone(aEvent){ ... }
     22     */
     23   
     24    function _serverDialogOverlayServerSelectCommand(aEvent){
     25                if(aEvent.target.id=="mcMarkerTitleFormat"){
     26                        document.getElementById("mcMarkerTitleFormatText").disabled = false;
     27                        document.getElementById("mcMarkerTitleFormatText").focus();
     28                }else{
     29                        document.getElementById("mcMarkerTitleFormatText").disabled = true;
     30                        def_title_mode = aEvent.target.value;
     31                }
     32                nsPreferences.setUnicharPref("wiredmarker.marker.initdata.title", aEvent.target.value);
     33    }
     34   
     35    // window.addEventListener("load", _markerDialogOverlayInit, false);
     36    // window.addEventListener("unload", _markerDialogOverlayDone, false);
     37   
     38   
     39   
     40    ]]>
     41    </script>
     42 
     43    <!-- +++ TODO +++ -->     
     44    <!-- TODO (script section above): if default is selected User-spec field cannot be written to; if user spec field radio is selected cursor gets to user spec textbox, textbox becomes writable (like in markerinitDataDialogOverlay.xul) -->   
     45    <!-- +++ END: TODO +++ --> 
     46 
     47    <!-- container used to display a set of tabbed pages of elements -->
     48    <tabbox id="mcSettingTabbox">
     49   
     50        <!-- Create server top level tab in settings window. -->
     51        <tabs id="mcSettingTabs">
     52            <!-- use <!ENTITY markingcollection.server.tab "Server"> in markingcollection.dtd; i.e. label="&markingcollection.server.tab;"  -->
     53            <tab id="mcServerTab" label="Server" image="chrome://markingcollection/skin/annotator-skin/server.png"/>
     54        </tabs>         
     55   
     56        <!-- container to hold the set of pages, i.e. the contents of the pages, in a tabbox -->
     57        <tabpanels id="mcSettingTabPanels">
     58           
     59            <!-- individual panel in a tabpanels element: holds elements in parent tabpanels container -->
     60            <tabpanel id="mcServerTabPanel" orient="vertical" flex="1">
     61           
     62                <!-- use groupbox xul element to group related elements together -->
     63                <groupbox id="serverSelectOption" flex="1">
     64                   
     65                    <!-- caption appears along the top of the parent groupbox -->
     66                    <caption label="Select the back-end server for the annotation client" id="selectServerGbCaption"/>
     67                       
     68                    <!-- hbox element can contain any number of child elements, this container element defaults to horizontal orientation -->
     69                    <hbox>
     70                       
     71                        <!-- <radiogroup id="mcMarkerTitleRadiogroup" oncommand="_markerDialogOverlayTitleCommand(event);"> -->
     72                        <!-- radiogroup element comprises a group of radio buttons, only one radio button inside the group can be selected at a time, defaults to vertical orientation -->
     73                        <radiogroup flex="1" id="mcServerRadiogroup" oncommand="_serverDialogOverlayServerSelectCommand(event);">
     74 
     75                            <grid>
     76                               
     77                                <columns>
     78                                    <column/>
     79                                    <column flex="1" id="textboxColumn"/>
     80                                </columns>
     81                               
     82                                <rows>
    1183
    12                         var manually_exec = nsPreferences.getBoolPref("wiredmarker.autocache.manually.exec", false);
    13                         document.getElementById("bitsSelectDisplayAutocacheManually").checked = manually_exec;
    14                         document.getElementById("bitsSelectDisplayAutocacheManually").setAttribute("disabled","true");
     84                                    <row>
     85                                        <radio id="defaultServerRadio" value="valid" label="Default" selected="true"/>
     86                                        <textbox id="defaultServerTextbox" value="http://pelle.ssd.gu.se:8080/exist/rest/db/annotation-framework/api/annotations.xql" readonly="true" onfocus="this.select()"/>
     87                                    </row>
     88                                       
     89                                    <row>
     90                                        <radio id="userSpecifiedServerRadio" value="valid" label="User-specified"/>
     91                                        <textbox id="userSpecifiedServerTextbox" onfocus="this.select()"/>
     92                                    </row>
     93                                   
     94                                </rows>
     95                               
     96                            </grid>
     97       
     98                        </radiogroup>
     99                             
     100                    </hbox>
     101                             
     102                </groupbox>
     103                                   
     104            </tabpanel>
     105                           
     106        </tabpanels>
     107   
     108    </tabbox>
    15109
    16 
    17                         var manually_confirm = nsPreferences.getBoolPref("wiredmarker.autocache.manually.confirm", true);
    18                         document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").checked = manually_confirm;
    19                         document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").setAttribute("disabled","true");
    20 
    21 
    22                         document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").removeAttribute("disabled");
    23                         document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").removeAttribute("disabled");
    24                         document.getElementById("bitsSelectDisplayAutocacheMarkingValid").removeAttribute("disabled");
    25 
    26                         document.getElementById("bitsAutocacheSaveFolderCheckbox").setAttribute("disabled","true");
    27                         document.getElementById("bitsAutocacheSaveFolderTextbox").setAttribute("disabled","true");
    28                         document.getElementById("bitsAutocacheSaveFolderUserTextbox").setAttribute("disabled","true");
    29                         document.getElementById("bitsAutocacheSaveFolderUserButton").setAttribute("disabled","true");
    30 
    31                         document.getElementById("bitsAutocacheTopmenuDisplay").setAttribute("disabled","true");
    32                         document.getElementById("bitsAutocacheTopmenuDisplayNumber").setAttribute("disabled","true");
    33 
    34                         var autocache_use = nsPreferences.copyUnicharPref("wiredmarker.autocache.use","valid");
    35                         switch(autocache_use){
    36                                 case "switching":
    37                                         document.getElementById("bitsSelectDisplayAutocacheDisabled").removeAttribute("selected");
    38                                         document.getElementById("bitsSelectDisplayAutocacheSwitching").setAttribute("selected","true");
    39                                         document.getElementById("bitsSelectDisplayAutocacheValid").removeAttribute("selected");
    40 
    41                                         document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").removeAttribute("disabled");
    42                                         break;
    43                                 case "valid":
    44                                         document.getElementById("bitsSelectDisplayAutocacheDisabled").removeAttribute("selected");
    45                                         document.getElementById("bitsSelectDisplayAutocacheSwitching").removeAttribute("selected");
    46                                         document.getElementById("bitsSelectDisplayAutocacheValid").setAttribute("selected","true");
    47                                         document.getElementById("bitsSelectDisplayAutocacheMarking").removeAttribute("disabled");
    48                                         break;
    49                                 default:
    50                                         document.getElementById("bitsSelectDisplayAutocacheDisabled").setAttribute("selected","true");
    51                                         document.getElementById("bitsSelectDisplayAutocacheSwitching").removeAttribute("selected");
    52                                         document.getElementById("bitsSelectDisplayAutocacheValid").removeAttribute("selected");
    53 
    54 
    55                                         document.getElementById("bitsSelectDisplayAutocacheManually").removeAttribute("disabled");
    56                                         if(manually_exec){
    57                                                 document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").removeAttribute("disabled");
    58                                         }else{
    59                                                 document.getElementById("bitsSelectDisplayAutocacheManuallyConfirm").setAttribute("disabled","true");
    60                                                 document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").setAttribute("disabled","true");
    61                                                 document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").setAttribute("disabled","true");
    62                                                 document.getElementById("bitsSelectDisplayAutocacheMarkingValid").setAttribute("disabled","true");
    63                                         }
    64                                         break;
    65                         }
    66                         var autocache_marking = nsPreferences.copyUnicharPref("wiredmarker.autocache.marking","confirm");
    67                         switch(autocache_marking){
    68                                 case "confirm":
    69                                         document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").removeAttribute("selected");
    70                                         document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").setAttribute("selected","true");
    71                                         document.getElementById("bitsSelectDisplayAutocacheMarkingValid").removeAttribute("selected");
    72                                         break;
    73                                 case "valid":
    74                                         document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").removeAttribute("selected");
    75                                         document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").removeAttribute("selected");
    76                                         document.getElementById("bitsSelectDisplayAutocacheMarkingValid").setAttribute("selected","true");
    77                                         break;
    78                                 default:
    79                                         document.getElementById("bitsSelectDisplayAutocacheMarkingDisabled").setAttribute("selected","true");
    80                                         document.getElementById("bitsSelectDisplayAutocacheMarkingConfirm").removeAttribute("selected");
    81                                         document.getElementById("bitsSelectDisplayAutocacheMarkingValid").removeAttribute("selected");
    82                                         break;
    83                         }
    84 
    85 
    86                         if(autocache_use != "disabled"){
    87                                 document.getElementById("bitsAutocacheSaveFolderCheckbox").removeAttribute("disabled");
    88                                 var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
    89                                 var browserWindow = wm.getMostRecentWindow("navigator:browser");
    90                                 if(browserWindow && browserWindow.bitsAutocacheService){
    91                                         document.getElementById("bitsAutocacheSaveFolderTextbox").value = browserWindow.bitsAutocacheService.default_cachedir.path;
    92                                 }
    93 
    94                                 var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    95                                 try{
    96                                         var save_folder = prefs.getComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile);
    97                                         document.getElementById("bitsAutocacheSaveFolderUserTextbox").value = save_folder.path;
    98                                 }catch(e){
    99                                         nsPreferences.setBoolPref("wiredmarker.autocache.save.default", true);
    100                                 }
    101 
    102                                 var save_default = nsPreferences.getBoolPref("wiredmarker.autocache.save.default", true);
    103                                 document.getElementById("bitsAutocacheSaveFolderCheckbox").checked = save_default;
    104                                 if(save_default){
    105                                         document.getElementById("bitsAutocacheSaveFolderTextbox").removeAttribute("disabled");
    106                                 }else{
    107                                         document.getElementById("bitsAutocacheSaveFolderUserTextbox").removeAttribute("disabled");
    108                                         document.getElementById("bitsAutocacheSaveFolderUserButton").removeAttribute("disabled");
    109                                 }
    110                         }
    111 
    112                         if(autocache_use != "disabled"){
    113                                 document.getElementById("bitsAutocacheTopmenuDisplay").removeAttribute("disabled");
    114                                 var topmenu_display = nsPreferences.getBoolPref("wiredmarker.autocache.topmenu.display", false);
    115                                 document.getElementById("bitsAutocacheTopmenuDisplay").checked = topmenu_display;
    116                                 if(topmenu_display) document.getElementById("bitsAutocacheTopmenuDisplayNumber").removeAttribute("disabled");
    117 
    118                                 var topmenu_number = nsPreferences.getIntPref("wiredmarker.autocache.topmenu.number", 0);
    119                                 var elem = document.getElementById("bitsAutocacheTopmenuDisplayNumber");
    120                                 elem.valueNumber = topmenu_number;
    121                                 elem.value = topmenu_number;
    122                         }
    123                         window.sizeToContent();
    124                 }
    125                 function _autocacheDialogOverlayDone(aEvent){
    126 
    127                 }
    128                 function _SelectAutocacheCommand(aEvent){
    129                         nsPreferences.setUnicharPref("wiredmarker.autocache.use", aEvent.target.value);
    130                         _autocacheDialogOverlayInit();
    131                 }
    132                 function _CheckAutocacheManuallyCommand(aEvent){
    133                         nsPreferences.setBoolPref("wiredmarker.autocache.manually.exec", aEvent.target.checked);
    134                         _autocacheDialogOverlayInit();
    135                 }
    136                 function _CheckAutocacheManuallyConfirmCommand(aEvent){
    137                         nsPreferences.setBoolPref("wiredmarker.autocache.manually.confirm", aEvent.target.checked);
    138                 }
    139                 function _SelectAutocacheMarkingCommand(aEvent){
    140                         nsPreferences.setUnicharPref("wiredmarker.autocache.marking", aEvent.target.value);
    141                 }
    142 
    143                 function _GetAutocacheSaveFolder(){
    144                         var picker = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
    145                         var result = null;
    146                         try{
    147                                 picker.init(window, "Selected Save Folder", picker.modeGetFolder);
    148                                 var showResult = picker.show();
    149                                 if(showResult == picker.returnOK) result = picker.file;
    150                         }catch(e){
    151                                 result = null;
    152                                 alert(e);
    153                         }
    154                         return result;
    155                 }
    156 
    157                 function _CommandAutocacheSaveFolder(aEvent){
    158                         var folder = _GetAutocacheSaveFolder();
    159                         var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    160                         if(folder){
    161                                 prefs.setComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile, folder);
    162                         }else{
    163                                 try{
    164                                         var save_folder = prefs.getComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile);
    165                                 }catch(e){
    166                                         nsPreferences.setBoolPref("wiredmarker.autocache.save.default", true);
    167                                         try{prefs.clearUserPref("wiredmarker.autocache.save.folder");}catch(e){}
    168                                 }
    169                         }
    170                         _autocacheDialogOverlayInit();
    171                 }
    172 
    173                 function _CheckAutocacheSaveFolder(aEvent){
    174                         nsPreferences.setBoolPref("wiredmarker.autocache.save.default", aEvent.target.checked);
    175                         if(!aEvent.target.checked){
    176                                 try{
    177                                         var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    178                                         var save_folder = prefs.getComplexValue("wiredmarker.autocache.save.folder", Components.interfaces.nsILocalFile);
    179                                 }catch(e){
    180                                         save_folder = undefined;
    181                                 }
    182                                 if(!save_folder){
    183                                         _CommandAutocacheSaveFolder();
    184                                 }else{
    185                                         _autocacheDialogOverlayInit();
    186                                 }
    187                         }else{
    188                                 _autocacheDialogOverlayInit();
    189                         }
    190                 }
    191 
    192                 function _CheckAutocacheDisplay(aEvent){
    193                         nsPreferences.setBoolPref("wiredmarker.autocache.topmenu.display", aEvent.target.checked);
    194                         _autocacheDialogOverlayInit();
    195                 }
    196 
    197                 function _InputAutocacheDisplayNumber(aEvent){
    198                         if(parseInt(aEvent.target.value)>50) aEvent.target.value = 50;
    199                         if(parseInt(aEvent.target.value)<0) aEvent.target.value = 0;
    200                         nsPreferences.setIntPref("wiredmarker.autocache.topmenu.number", aEvent.target.value);
    201                         _autocacheDialogOverlayInit();
    202                 }
    203 
    204                 function _dump(aString){
    205                         var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
    206                         var browserWindow = wm.getMostRecentWindow("navigator:browser");
    207                         if(browserWindow && browserWindow.bitsMarkingCollection) browserWindow.bitsMarkingCollection._dump(aString);
    208                 }
    209 
    210                 window.addEventListener("load", _autocacheDialogOverlayInit, false);
    211                 window.addEventListener("unload", _autocacheDialogOverlayDone, false);
    212         ]]>
    213         </script>
    214         <tabbox id="mcSettingTabbox">
    215                 <tabs id="mcSettingTabs">
    216                         <tab id="mcProjectTab" label="&markingcollection.autocache.tab;" image="chrome://markingcollection/skin/autocache.png"/>
    217                 </tabs>
    218                 <tabpanels id="mcSettingTabPanels">
    219                         <tabpanel id="mcAutocacheTabPanel" orient="vertical" flex="1">
    220                                 <hbox align="center">
    221                                         <groupbox>
    222                                                 <caption label="&markingcollection.autocache.caption;" style="background-color:#fff;"/>
    223                                                 <hbox>
    224                                                         <radiogroup id="" orient="horizontal" oncommand="_SelectAutocacheCommand(event)">
    225                                                                 <radio id="bitsSelectDisplayAutocacheValid"     value="valid"     label="&markingcollection.autocache.valid;"/>
    226                                                                 <radio id="bitsSelectDisplayAutocacheDisabled"  value="disabled"  label="&markingcollection.autocache.disabled;"/>
    227                                                                 <radio id="bitsSelectDisplayAutocacheSwitching" value="switching" label="&markingcollection.autocache.switching;" hidden="true"/>
    228                                                         </radiogroup>
    229                                                         <checkbox id="bitsSelectDisplayAutocacheManually" label="&markingcollection.autocache.manually.caption;" oncommand="_CheckAutocacheManuallyCommand(event)" disabled="true" hidden="true"/>
    230                                                         <checkbox id="bitsSelectDisplayAutocacheManuallyConfirm" label="&markingcollection.autocache.manually.confirm;" oncommand="_CheckAutocacheManuallyConfirmCommand(event)" disabled="true" hidden="true"/>
    231                                                 </hbox>
    232                                         </groupbox>
    233                                         <groupbox id="bitsSelectDisplayAutocacheMarking">
    234                                                 <caption label="&markingcollection.autocache.marking;" style="background-color:#fff;"/>
    235                                                 <radiogroup id="" orient="horizontal" oncommand="_SelectAutocacheMarkingCommand(event)">
    236                                                         <radio id="bitsSelectDisplayAutocacheMarkingDisabled" value="disabled" label="&markingcollection.autocache.marking.disabled;"/>
    237                                                         <radio id="bitsSelectDisplayAutocacheMarkingConfirm"  value="confirm"  label="&markingcollection.autocache.marking.confirm;"/>
    238                                                         <radio id="bitsSelectDisplayAutocacheMarkingValid"    value="valid"    label="&markingcollection.autocache.marking.valid;"/>
    239                                                 </radiogroup>
    240                                         </groupbox>
    241                                 </hbox>
    242                                 <groupbox id="bitsAutocacheSaveFolder">
    243                                         <caption label="&markingcollection.autocache.save.folder;" style="background-color:#fff;"/>
    244                                         <hbox align="center">
    245                                                 <checkbox id="bitsAutocacheSaveFolderCheckbox" label="&markingcollection.autocache.save.default;:" oncommand="_CheckAutocacheSaveFolder(event);"/>
    246                                                 <textbox id="bitsAutocacheSaveFolderTextbox" flex="1" readonly="true"/>
    247                                         </hbox>
    248                                         <hbox align="center">
    249                                                 <label control="bitsAutocacheSaveFolderUserTextbox" value="&markingcollection.autocache.save.user;:"/>
    250                                                 <textbox id="bitsAutocacheSaveFolderUserTextbox" flex="1" readonly="true"/>
    251                                                 <button id="bitsAutocacheSaveFolderUserButton" label="&markingcollection.autocache.save.folder;" oncommand="_CommandAutocacheSaveFolder(event);"/>
    252                                         </hbox>
    253                                 </groupbox>
    254                                 <hbox>
    255                                 <groupbox id="bitsAutocacheTopmenu">
    256                                         <caption label="&markingcollection.autocache.topmenu.caption;" style="background-color:#fff;"/>
    257                                         <hbox align="center">
    258                                                 <checkbox id="bitsAutocacheTopmenuDisplay" label="&markingcollection.autocache.topmenu.display;" oncommand="_CheckAutocacheDisplay(event)"/>
    259                                                 <label control="bitsAutocacheSaveFolderUserTextbox" value="&markingcollection.autocache.topmenu.number;:"/>
    260                                                 <textbox id="bitsAutocacheTopmenuDisplayNumber" type="number" wraparound="true" min="0" max="50" size="2" maxlength="2" onchange="_InputAutocacheDisplayNumber(event)"/>
    261                                         </hbox>
    262                                         <hbox align="center">
    263                                                 <description style="color:#ff0000;padding-left:1em;">&markingcollection.autocache.topmenu.attention;</description>
    264                                         </hbox>
    265                                 </groupbox>
    266                                 </hbox>
    267                         </tabpanel>
    268                 </tabpanels>
    269         </tabbox>
    270110</overlay>
Note: See TracChangeset for help on using the changeset viewer.