~ubuntu-branches/ubuntu/lucid/beagle/lucid

« back to all changes in this revision

Viewing changes to mozilla-extension/content/beaglePrefs.js

  • Committer: Bazaar Package Importer
  • Author(s): Emilio Pozuelo Monfort
  • Date: 2007-12-24 17:25:05 UTC
  • mfrom: (1.1.18 upstream)
  • Revision ID: james.westby@ubuntu.com-20071224172505-a5wsz6kdesm45vre
Tags: 0.3.1-2ubuntu1
* Merge from Debian unstable, remaining Ubuntu changes:
  - debian/control:
    + Rename iceweasel-beagle and icedove-beagle to mozilla-beagle and
      thunderbird-beagle, change the Recommends to Depends and update
      them accordingly.
    + Suggest schedutils for beagle.
    + Change Maintainer to Ubuntu Mono Team.
  - debian/rules:
    + Install the mozilla-beagle and thunderbird-beagle extensions.
  - ice{dove,weasel}.dirs:
    + Renamed to {mozilla,thunderbird}-beagle.dirs.
    + Fixed paths to point to usr/lib/{firefox,thunderbird}

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Beagle Extension: Index webpages you visit using the Beagle Indexing Engine.
3
 
 * An Extension for the Firefox (and Mozilla?) Browser.
4
 
 */
5
 
 
6
 
// Initiate a new preference instance.
7
 
var gPref = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
8
 
 
9
 
// Declare form variables.
10
 
var _elementIDs = [
11
 
  'beagle.context.active',
12
 
  'beagle.security.active',
13
 
  'beagle.security.filters'
14
 
];
15
 
 
16
 
function beaglePrefsInit()
17
 
{
18
 
  for( var i = 0; i < _elementIDs.length; i++ )
19
 
  {
20
 
    var elementID = _elementIDs[i];
21
 
    var element = document.getElementById(elementID);
22
 
 
23
 
    if (!element)
24
 
    {
25
 
      continue;
26
 
    }
27
 
    else if (element.localName == 'checkbox')
28
 
    {
29
 
      try { element.checked = gPref.getBoolPref(elementID); }
30
 
      catch(e) { element.checked = false; }
31
 
    }
32
 
    else if (element.localName == 'radiogroup')
33
 
    {
34
 
      try { element.selectedItem = element.childNodes[gPref.getIntPref(elementID)]; }
35
 
      catch(e) { element.selectedItem = element.childNodes[0]; }
36
 
    }
37
 
    else if (element.localName == 'textbox')
38
 
    {
39
 
      if (element.getAttribute('preftype') == 'int')
40
 
      {
41
 
        try { element.value = gPref.getIntPref(elementID); }
42
 
        catch(e) { element.value = 180; }
43
 
      }
44
 
      else
45
 
      {
46
 
        try { element.value = gPref.getCharPref(elementID); }
47
 
        catch(e) { element.value = ''; }
48
 
      }
49
 
    }
50
 
    else if (element.id == 'beagle.security.filters')
51
 
    {
52
 
      try {
53
 
        var val = gPref.getCharPref("beagle.security.filters");
54
 
        var items = val.split(';');
55
 
        var listbox = document.getElementById('beagle.security.filters');
56
 
 
57
 
        for (var j = 0; j < items.length; j++){
58
 
          if(items[j] != ''){
59
 
            var item = listbox.appendItem(items[j], items[j]);
60
 
          }
61
 
        }
62
 
      } catch(e) {
63
 
          // We don't seem to care about this.
64
 
      }
65
 
    }
66
 
  }
67
 
 
68
 
}
69
 
 
70
 
function beaglePrefsSave()
71
 
{
72
 
  for( var i = 0; i < _elementIDs.length; i++ )
73
 
  {
74
 
    var elementID = _elementIDs[i];
75
 
    var element = document.getElementById(elementID);
76
 
 
77
 
    if (!element)
78
 
    {
79
 
      continue;
80
 
    }
81
 
    else if (element.localName == 'checkbox')
82
 
    {
83
 
      gPref.setBoolPref(elementID, element.checked);
84
 
    }
85
 
    else if (element.localName == 'radiogroup')
86
 
    {
87
 
      gPref.setIntPref(elementID, parseInt(element.value));
88
 
    }
89
 
    else if (element.localName == 'textbox')
90
 
    {
91
 
      if (element.getAttribute('preftype') == 'int')
92
 
      {
93
 
        var bOkay = true;
94
 
        var cPref = '';
95
 
        var sPref = element.value.replace(/^[0]*/);
96
 
        var sWork = "0123456789";
97
 
 
98
 
        for (var j = 0; j < sPref.length; j++)
99
 
        {
100
 
          if (sWork.indexOf(sPref.charAt(j)) == -1) bOkay = false;
101
 
          else cPref = cPref + sPref.charAt(j);
102
 
        }
103
 
 
104
 
        if (cPref.length == 0 ) cPref = '0';
105
 
        var iPref = parseInt(cPref);
106
 
        if (iPref < 180) iPref = 180;
107
 
        gPref.setIntPref(elementID, iPref);
108
 
      }
109
 
      else
110
 
      {
111
 
        gPref.setCharPref(elementID, element.value);
112
 
      }
113
 
    }
114
 
    else if (element.id == 'beagle.security.filters')
115
 
    {
116
 
      var val = "";
117
 
      for (var j = 0; j < element.getRowCount(); j++){
118
 
        var listitem = element.getItemAtIndex(j);
119
 
        val += listitem.value + ";";
120
 
      }
121
 
      gPref.setCharPref(element.id, val);
122
 
    }
123
 
  }
124
 
}
125
 
 
126
 
function beaglePrefsAddFilter() {
127
 
  window.openDialog('chrome://beagle/content/beagleAddDomainDialog.xul', 'Add Domain', 'chrome, modal');
128
 
}
129
 
 
130
 
function beaglePrefsRemoveFilter() {
131
 
  var listbox = document.getElementById('beagle.security.filters');
132
 
  listbox.removeItemAt(listbox.selectedIndex);
133
 
}
134
 
 
135
 
function updateFilterAddButton() {
136
 
  var button = document.getElementById('beagle.filter.add');
137
 
  var filter = document.getElementById('beagle.filter');
138
 
 
139
 
  if (filter.value != ''){
140
 
    button.disabled = false;
141
 
  } else {
142
 
    button.disabled = true;
143
 
  }
144
 
}
145
 
 
146
 
function updateFilterRemoveButton() {
147
 
  var button = document.getElementById('beagle.filter.remove');
148
 
  var listbox = document.getElementById('beagle.security.filters');
149
 
 
150
 
  if (listbox.selectedCount > 0){
151
 
    button.disabled = false;
152
 
  } else {
153
 
    button.disabled = true;
154
 
  }
155
 
}