Changeset 736

Show
Ignore:
Timestamp:
04/18/08 03:46:28 (8 months ago)
Author:
ma..@jesperkristensen.dk
Message:

small fixes for pages-overlay

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/manage-ui2/src/chrome/chromeFiles/content/manage.js

    r729 r736  
    1313 
    1414window.addEventListener("unload", function(ev) { 
    15   pagesControl.clear(); 
    1615  config.removeObserver(observer); 
    1716}, false); 
     
    5655var listbox, header, description, chkEnabled, btnEdit, btnUninstall; 
    5756var selectedScript; 
    58 var pagesControl; 
    5957 
    6058function loadControls() { 
     
    6462  btnEdit = document.getElementById("btnEdit"); 
    6563  btnUninstall = document.getElementById("btnUninstall"); 
    66   pagesControl = gPagesControl; 
    6764  chkEnabled = document.getElementById("chkEnabled"); 
    6865 
     
    8279    description.textContent = " "; 
    8380    chkEnabled.checked = true; 
    84     pagesControl.clear(); 
     81    gPagesControl.clear(); 
    8582  } else { 
    8683    selectedScript = listbox.getSelectedItem(0).script; 
     
    10299    description.textContent = desc; 
    103100    chkEnabled.checked = selectedScript.enabled; 
    104     pagesControl.populate(selectedScript); 
     101    gPagesControl.populate(selectedScript); 
    105102  } 
    106103} 
  • branches/manage-ui2/src/chrome/chromeFiles/content/newscript.js

    r702 r736  
    1111 
    1212  // default the includes with the current page's url 
    13   var win = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
    14                       .getService(Components.interfaces.nsIWindowMediator) 
    15                       .getMostRecentWindow("navigator:browser"); 
    16   if (win) { 
    17     var url = win.content.location.href; 
    18     if (GM_isGreasemonkeyable(url)) { 
    19       document.getElementById("includes").value = url; 
    20     } 
    21   } 
     13  document.getElementById("includes").value = GM_getCurrentSite() || "*"; 
    2214}, false); 
    2315 
  • branches/manage-ui2/src/chrome/chromeFiles/content/pages-overlay.js

    r729 r736  
     1window.addEventListener("load", function(ev) { 
     2  var gmManageBundle = document.getElementById("gm-manage-bundle"); 
     3  var defaultSite = gmManageBundle.getString("promptForNewPage.defVal"); 
     4  document.getElementById("locationBox").value = GM_getCurrentSite() || defaultSite; 
     5  gPagesControl.onLocationInput(); 
     6}, false); 
     7 
     8window.addEventListener("unload", function(ev) { 
     9  gPagesControl.clear(); // Don't leak observers 
     10}, false); 
     11 
    112var gPagesControl = { 
    213  notifyEvent: function(script, event, data) { 
     
    415    case "edit-include-add": 
    516      this.includes.push(data); 
    6       this.treeView.treebox.rowCountChanged(this.excludes.length + this.includes.length - 1, 1); 
     17      this.treeView.treebox.rowCountChanged(this.getRowFromPage('include', this.includes.length - 1), 1); 
    718      break; 
    819    case "edit-include-remove": 
    920      this.includes.splice(data, 1); 
    10       this.treeView.treebox.rowCountChanged(this.excludes.length + data, -1); 
     21      this.treeView.treebox.rowCountChanged(this.getRowFromPage('include', data), -1); 
    1122      break; 
    1223    case "edit-exclude-add": 
    1324      this.excludes.push(data); 
    14       this.treeView.treebox.rowCountChanged(this.excludes.length - 1, 1); 
     25      this.treeView.treebox.rowCountChanged(this.getRowFromPage('exclude', this.excludes.length - 1), 1); 
    1526      break; 
    1627    case "edit-exclude-remove": 
    1728      this.excludes.splice(data, 1); 
    18       this.treeView.treebox.rowCountChanged(data, -1); 
     29      this.treeView.treebox.rowCountChanged(this.getRowFromPage('exclude', data), -1); 
    1930      break; 
    2031    } 
     
    2940    this.script = script; 
    3041    this.script.addObserver(this); 
     42 
    3143    document.getElementById("pagesTree").view = this.treeView; 
    32  
    33     var gmManageBundle = document.getElementById("gm-manage-bundle"); 
    34     var wmi = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
    35                         .getService(Components.interfaces.nsIWindowMediator); 
    36     var win = wmi.getMostRecentWindow("navigator:browser"); 
    37     var currentSite = GM_isGreasemonkeyable(win.content.location.href) 
    38                       ? win.content.location.protocol + "//" + 
    39                         win.content.location.hostname + "/*" 
    40                       : gmManageBundle.getString("promptForNewPage.defVal"); 
    41     document.getElementById("locationBox").value = currentSite; 
    42  
    43     this.onLocationInput(); 
    4444    this.onTreeSelect(); 
    4545  }, 
     
    9999  }, 
    100100 
     101  getRowFromPage: function(type, index) { 
     102    switch (type) { 
     103    case 'include': return this.excludes.length + index; 
     104    case 'exclude': return index; 
     105    default: throw new Error('Unknown page type'); 
     106    } 
     107  }, 
     108 
    101109  treeView: { 
    102110    get rowCount() { 
  • branches/manage-ui2/src/chrome/chromeFiles/content/utils.js

    r729 r736  
    9292  parentWindow.openDialog("chrome://greasemonkey/content/newscript.xul", "", 
    9393    "chrome,dependent,centerscreen,resizable,dialog"); 
     94} 
     95 
     96function GM_getCurrentSite() { 
     97  var win = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
     98                      .getService(Components.interfaces.nsIWindowMediator) 
     99                      .getMostRecentWindow("navigator:browser"); 
     100 
     101  if (win) { 
     102    var location = win.content.location; 
     103    if (GM_isGreasemonkeyable(location.href)) { 
     104      return location.protocol + "//" + location.hostname + "/*"; 
     105    } 
     106  } 
     107  return null; 
    94108} 
    95109