Changeset 2320b05


Ignore:
Timestamp:
May 19, 2008, 2:20:07 PM (14 years ago)
Author:
rene <rene@…>
Branches:
master
Children:
44f60b
Parents:
aeaf9c
Message:

major cleanup in NotificationBar? and Debug-Area

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chrome/content/v_identity/vI_notificationBar.js

    raeaf9c r2320b05  
    3232        .getBranch("extensions.virtualIdentity."),
    3333   
     34    prefroot : Components.classes["@mozilla.org/preferences-service;1"]
     35            .getService(Components.interfaces.nsIPrefService)
     36            .getBranch(null).QueryInterface(Components.interfaces.nsIPrefBranch2),
     37
    3438    Obj_vINotification : null,
    3539    Obj_DebugBox : null,
    36    
     40    Obj_DebugBoxSplitter : null,
     41
    3742    versionOk : false,
    3843   
     
    5358    },
    5459
     60    observe: function() {
     61        var showDebugArea = vI_notificationBar.preferences.getBoolPref("debug_notification")
     62        vI_notificationBar.Obj_DebugBox.setAttribute("hidden", !showDebugArea)
     63        vI_notificationBar.Obj_DebugBoxSplitter.setAttribute("hidden", !showDebugArea)
     64    },
     65   
     66    addObserver: function() {
     67        vI_notificationBar.prefroot.addObserver("extensions.virtualIdentity.debug_notification", vI_notificationBar, false);
     68    },
     69   
     70    removeObserver: function() {
     71        vI_notificationBar.prefroot.removeObserver("extensions.virtualIdentity.debug_notification", vI_notificationBar);
     72    },
     73
    5574    init : function() {
    5675        vI_notificationBar.Obj_DebugBox = document.getElementById("vIDebugBox");
    57         if (!vI_notificationBar.Obj_DebugBox) return;
    58         if (vI_notificationBar.Obj_DebugBox.getAttribute("upgrade")) return;
     76        if (!vI_notificationBar.Obj_DebugBox) return false;
     77       
     78        // nothing else to do for the upgrade dialog
     79        if (vI_notificationBar.Obj_DebugBox.getAttribute("upgrade")) return true;
     80       
    5981        vI_notificationBar.Obj_vINotification = document.getElementById("vINotification");
     82        vI_notificationBar.Obj_DebugBoxSplitter = document.getElementById("vIDebugBoxSplitter")
     83       
     84        vI_notificationBar.addObserver();
     85        vI_notificationBar.observe();
    6086        vI_notificationBar.checkVersion();
    61         if (!vI_notificationBar.preferences.getBoolPref("debug_notification")) return;
    62         vI_notificationBar.Obj_DebugBox.setAttribute("hidden","false");
    63         document.getElementById("vIDebugBoxSplitter").setAttribute("hidden","false");
    6487        vI_notificationBar.dump_app_version();
     88
     89        return true;
    6590    },
    6691   
     
    88113            var protohandler = Components.classes["@mozilla.org/network/protocol;1?name=http"]
    89114                .getService(Components.interfaces.nsIHttpProtocolHandler);
    90             vI_notificationBar.dump(appInfo.name + " " + appInfo.version + " (" + appInfo.appBuildID + "; " + protohandler.oscpu + ")\n")
    91         }
    92         else vI_notificationBar.dump("mail-client seems not supported by Virtual Identity Extension")
     115            vI_notificationBar.__dumpDebugBox(appInfo.name + " " + appInfo.version + " (" + appInfo.appBuildID + "; " + protohandler.oscpu + ")\n")
     116        }
     117        else vI_notificationBar.__dumpDebugBox("mail-client seems not supported by Virtual Identity Extension")
    93118       
    94119        // copied and adapted from nightly tester tools from Dave Townsend (http://www.oxymoronical.com/web/firefox/nightly)
     
    112137                }
    113138                catch (e) { }
    114                 vI_notificationBar.dump(output + "\n")
     139                vI_notificationBar.__dumpDebugBox(output + "\n")
    115140            }
    116141        }
    117142        catch (e) {};
    118         vI_notificationBar.dump("--------------------------------------------------------------------------------\n")
     143        vI_notificationBar.__dumpDebugBox("--------------------------------------------------------------------------------\n")
    119144    },
    120145   
    121146    dump : function(note) {
    122         if (vI_notificationBar.quiet) return;
    123         if (!vI_notificationBar.Obj_DebugBox) vI_notificationBar.init();
    124         if (!vI_notificationBar.Obj_DebugBox) return;
    125         if (!vI_notificationBar.Obj_DebugBox.getAttribute("upgrade") &&
    126             !vI_notificationBar.preferences.getBoolPref("debug_notification")) {
    127             vI_notificationBar.Obj_DebugBox.setAttribute("hidden","true");
    128             document.getElementById("vIDebugBoxSplitter").setAttribute("hidden","true");
    129             vI_notificationBar.Obj_DebugBox = null;
    130             return
    131         }
     147        if (!vI_notificationBar.preferences.getBoolPref("debug_notification")) return;
     148        dump(note); vI_notificationBar.__dumpDebugBox(note);
     149    },
     150
     151    __dumpDebugBox : function(note) {
     152        if (!vI_notificationBar.preferences.getBoolPref("debug_notification") ||
     153            vI_notificationBar.quiet) return;
     154        if (!vI_notificationBar.Obj_DebugBox &&
     155            !vI_notificationBar.init()) return;
     156
    132157        var new_text = document.createTextNode(note);
    133158        var new_br = document.createElementNS("http://www.w3.org/1999/xhtml", 'br');
     
    177202   
    178203}
     204window.addEventListener("unload", function(e) { try {vI_notificationBar.removeObserver();} catch (ex) { } }, false);
Note: See TracChangeset for help on using the changeset viewer.