home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December / PCWorld_2005-12_cd.bin / komunikace / netscape / nsb-install-8-0.exe / chrome / toolkit.jar / content / global / editTrayDialog.js < prev    next >
Text File  |  2005-09-26  |  5KB  |  170 lines

  1. var thisMultibar;
  2.  
  3. function initDialog() {
  4.   thisMultibar = window.arguments[0];
  5.   thisMultibar.fromEditDialog = true;
  6.   populateList();
  7. }
  8.  
  9. function closeDialog() {
  10.   thisMultibar.fromEditDialog = false;  
  11. }
  12.  
  13. function populateList() {
  14.   // arguments[0] is the multibar object
  15.   
  16.   // populate the tray list
  17.   var trayList = document.getElementById('trayList');
  18.   var listItem = trayList.firstChild;
  19.   while (listItem) {
  20.        listItem.parentNode.removeChild(listItem);
  21.      listItem = trayList.firstChild;     
  22.     }
  23.  
  24.     var orderSplit = thisMultibar.currentSet.split(";");
  25.     for (var i=0; i < orderSplit.length; i++) {
  26.         var trayCSet = orderSplit[i];
  27.         var trayName = trayCSet.split(":").shift();
  28.         dump ("Trying to find the tray called : " + trayName + "\n\n");
  29.         var thisTray = thisMultibar.getTrayByName(trayName);         
  30.         var listElem = document.createElement('listitem');
  31.         var trayIndex = thisMultibar.getIndexOfTray(thisTray)
  32.         listElem.setAttribute('id', 'trayIndex' + trayIndex);
  33.         listElem.setAttribute('label', thisTray.getAttribute('toolbarname'));
  34.         trayList.appendChild(listElem);
  35.   }
  36.   
  37.   updateSelectedTray();
  38.   // grab value of showTrayTitle for checkbox
  39.   var showTrayTitleCheckBox = document.getElementById('showTrayTitleCheckBox');
  40.   if(thisMultibar.showTrayTitle)
  41.   {
  42.     showTrayTitleCheckBox.setAttribute('checked', 'true');
  43.   }
  44.   else
  45.   {
  46.     showTrayTitleCheckBox.setAttribute('checked', 'false');
  47.   }
  48. }
  49.  
  50. function updateSelectedTray() 
  51. {
  52.     // Get the 
  53.     var currentListItem = document.getElementById('trayIndex' + window.arguments[0].currentTrayIndex);
  54.   var trayList = document.getElementById('trayList');
  55.   trayList.selectItem(currentListItem);
  56. }
  57.  
  58. function changeSelectedTray()
  59. {  
  60.         var trayList = document.getElementById('trayList');
  61.         var trayItem = trayList.selectedItem;
  62.         if (trayItem)
  63.         {
  64.             var trayIndex = trayItem.id.substring('trayIndex'.length);
  65.             thisMultibar.showTray(trayIndex);
  66.         }
  67.     
  68. }
  69.  
  70. function selectedTray()
  71. {
  72.   return thisMultibar.getTrayByName(document.getElementById('trayList').selectedItem.getAttribute('label'));
  73. }
  74.  
  75. function addTray() {
  76.   // we set this value so tray will get added to listbox as well
  77.   window.openDialog("chrome://global/content/addRenameTrayDialog.xul", "addRenameTrayDialog",
  78.                     "centerscreen,modal=yes", 'add', window.arguments[0]);
  79. }
  80.  
  81. function renameTray() {
  82.   // we set this value so tray will get renamed in listbox as well
  83.   window.openDialog("chrome://global/content/addRenameTrayDialog.xul", "addRenameTrayDialog",
  84.                     "centerscreen,modal=yes", 'rename', thisMultibar);
  85. }
  86.  
  87. function deleteTray() {
  88.   var trayList = document.getElementById('trayList');
  89.  
  90.   // get selected list item
  91.  // var idx = trayList.selectedIndex;
  92.   var item = trayList.selectedItem;
  93.   var selectedTray = thisMultibar.getTrayByName(item.getAttribute('label'));
  94.   var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
  95.                     .getService(Components.interfaces.nsIPromptService);
  96.   var promptTitle = "Confirm Delete Tray";
  97.   var promptMsg = "You are about to delete the tray '" + item.label + "' permanently.  Are you sure you wish to proceed?";
  98.  
  99.   // if Cancel on confirm dialog, do nothing
  100.   if(!promptService.confirm(window, promptTitle, promptMsg)) return;
  101.  
  102.   // delete from multibar
  103.   thisMultibar.deleteTrayByObj(selectedTray);
  104.   
  105.   populateList();
  106. }
  107. function moveTrayUp() {
  108.     thisMultibar.moveTrayUp(thisMultibar.currentTray);    
  109.     populateList();
  110. }
  111. function moveTrayDown() {
  112.     thisMultibar.moveTrayDown(thisMultibar.currentTray);    
  113.     populateList();
  114. }
  115.  
  116. // disables dialog buttons according the the following rules
  117. // 1) if top item selected, disable Move Up
  118. // 2) if bottom item selected, disable Move Down
  119. // 3) if one element in list, disable Delete
  120. function disableButtons()
  121. {
  122.   var trayList = document.getElementById('trayList');
  123.  
  124.   // must have at least 1 tray
  125.   if(trayList.childNodes.length == 1)
  126.   {
  127.     document.getElementById('removeTrayButton').setAttribute('disabled', 'true');
  128.   }
  129.   else
  130.   {
  131.     document.getElementById('removeTrayButton').removeAttribute('disabled');
  132.   }
  133.  
  134.   // maximum of 10 trays
  135.   if(trayList.childNodes.length == 10)
  136.   {
  137.     document.getElementById('addTrayButton').setAttribute('disabled', 'true');
  138.   }
  139.   else
  140.   {
  141.     document.getElementById('addTrayButton').removeAttribute('disabled');
  142.   }
  143.  
  144.   // if top elem selected disable Move Up
  145.   if(trayList.selectedItem == trayList.firstChild)
  146.   {
  147.     document.getElementById('moveUpTrayButton').setAttribute('disabled', 'true');
  148.   }
  149.   else
  150.   {
  151.     document.getElementById('moveUpTrayButton').removeAttribute('disabled');
  152.   }
  153.  
  154.   // if bottom elem selected disable Move Down  
  155.   if(trayList.selectedItem == trayList.lastChild)
  156.   {
  157.     document.getElementById('moveDownTrayButton').setAttribute('disabled', 'true');
  158.   }
  159.   else
  160.   {
  161.     document.getElementById('moveDownTrayButton').removeAttribute('disabled');
  162.   }
  163. }
  164.  
  165. function toggleShowTrayTitle()
  166. {
  167.   thisMultibar.showTrayTitle = !thisMultibar.showTrayTitle;
  168. }
  169.  
  170.