Changeset 6d0cd3


Ignore:
Timestamp:
Feb 28, 2009, 2:23:11 AM (11 years ago)
Author:
rene <rene@…>
Branches:
lite_0.1, multiEdit, ng_0.6, ng_0.6_help, ng_0.8, ng_0.9
Children:
a47a4a
Parents:
cc211b
Message:

changed dataEditor and layout of dateTree

Location:
chrome
Files:
6 edited

Legend:

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

    rcc211b r6d0cd3  
    8383    getDuplicate : function() {
    8484        return new identityData(this.email, this.fullName, this.id.key, this.smtp.key, this.extras.getDuplicate(), this.sideDescription);
     85    },
     86
     87    // copys all values of an identity. This way we can create a new object with a different document-context
     88    copy : function(identityData) {
     89        this.email = identityData.email;
     90        this.fullName = identityData.fullName;
     91        this.id.key = identityData.id.key;
     92        this.smtp.key = identityData.smtp.key;
     93        this.sideDescription = identityData.sideDescription;
     94        this.extras.copy(identityData.extras);
    8595    },
    8696
  • chrome/content/v_identity/vI_rdfDataEditor.js

    rcc211b r6d0cd3  
    2828    __type : null,
    2929    __recipient : null,
     30    __identityData : null,
    3031   
    31     storageExtras : null,
    32 
    33     init : function() {
    34         vI_rdfDataEditor.__recipient = window.arguments[0]["recipientCol"];
    35         vI_rdfDataEditor.__type = window.arguments[1];
    36         vI_rdfDataEditor.__rdfDatasource = window.arguments[2];
    37         vI_rdfDataEditor.__rdfDataTree = window.arguments[3];
    38        
    39         document.getElementById("recipient").value = vI_rdfDataEditor.__recipient;
    40        
    41         var typeMenuPopup = document.getElementById("type_menu_popup")
    42 
    43         for each (typeField in Array("email", "maillist", "newsgroup", "filter")) {
    44             var menuitem = document.createElement("menuitem");
    45             var label = document.getElementById("vI_rdfDataTreeBundle").getString("vI_rdfDataTree.dataType." + typeField)
    46             menuitem.setAttribute("label", label)
    47             menuitem.setAttribute("key", typeField)
    48             typeMenuPopup.appendChild(menuitem);
    49             if (typeField == vI_rdfDataEditor.__type) document.getElementById("type_menu").selectedItem = menuitem
    50         }
    51 
    52         document.getElementById("sender").value = window.arguments[0]["senderCol"]
    53        
     32    __populateIdentityMenu : function() {
    5433        var listitem = document.createElement("menuitem");
    5534//      listitem.setAttribute("label", document.getElementById("bundle_messenger").getString("defaultServerTag"));
     
    6443        else                            // TB 2.x
    6544            FillIdentityListPopup(document.getElementById("identity_list_popup"))
     45    },
    6646
    67         var MenuItems = document.getElementById("identity_list_popup").childNodes
     47    init : function() {
     48        vI_rdfDataEditor.__recipient = window.arguments[0]["recipientCol"];
     49        vI_rdfDataEditor.__type = window.arguments[1];
     50        vI_rdfDataEditor.__rdfDatasource = window.arguments[2];
     51        vI_rdfDataEditor.__rdfDataTree = window.arguments[3];
     52        ;
     53        vI_rdfDataEditor.__identityData = new identityData();
     54        vI_rdfDataEditor.__identityData.copy(window.arguments[0].identityData);
     55
    6856       
     57        // set recipient
     58        document.getElementById("recipient").value = vI_rdfDataEditor.__recipient;
     59       
     60        // set type of entry (and populate Menu)
     61        var typeMenuPopup = document.getElementById("type_menu_popup")
     62        for each (typeField in Array("email", "maillist", "newsgroup", "filter")) {
     63            var menuitem = document.createElement("menuitem");
     64            var label = document.getElementById("vI_rdfDataTreeBundle").getString("vI_rdfDataTree.dataType." + typeField)
     65            menuitem.setAttribute("label", label);
     66            menuitem.setAttribute("key", typeField);
     67            typeMenuPopup.appendChild(menuitem);
     68            if (typeField == vI_rdfDataEditor.__type) document.getElementById("type_menu").selectedItem = menuitem
     69        }
     70       
     71        // set sender
     72        document.getElementById("sender").value = vI_rdfDataEditor.__identityData.combinedName;
     73
     74        // set Identity
     75        vI_rdfDataEditor.__populateIdentityMenu();
     76        var MenuItems = document.getElementById("identity_list_popup").childNodes;
    6977        for (var index = 0; index < MenuItems.length; index++) {
    70             if (MenuItems[index].getAttribute("value") == window.arguments[0]["idKey"]) {
     78            if (MenuItems[index].getAttribute("value") == vI_rdfDataEditor.__identityData.id.key) {
    7179                document.getElementById("identity_list").selectedItem =
    7280                        MenuItems[index];
     
    7583        }
    7684
    77         document.getElementById("smtpServerListHbox").smtp = window.arguments[0]["smtpKey"]
     85        // set SMTP
     86        document.getElementById("smtpServerListHbox").smtp = vI_rdfDataEditor.__identityData.smtp.key;
    7887       
    79         vI_rdfDataEditor.storageExtras = new vI_storageExtras()
    80         vI_rdfDataEditor.storageExtras.setEditorValues();
     88        // set extra values
     89        vI_rdfDataEditor.__identityData.extras.setEditorValues();
    8190        vI_storageExtrasHelper.hideUnusedEditorFields();
    8291    },
     
    9099    accept : function() {
    91100        var address = vI_helper.parseAddress(document.getElementById("sender").value)
    92                    
    93         vI_rdfDataEditor.storageExtras.readEditorValues();
    94101       
    95102        var localIdentityData = new identityData(address.email, address.name,
    96103            document.getElementById("identity_list").selectedItem.getAttribute("value"),
    97             document.getElementById("smtp_server_list").selectedItem.getAttribute("key"),
    98             vI_rdfDataEditor.storageExtras)
     104            document.getElementById("smtp_server_list").selectedItem.getAttribute("key"));
     105        localIdentityData.extras.readEditorValues();
    99106
    100107        vI_rdfDataEditor.__rdfDatasource.updateRDF(
     
    107114    }
    108115}
    109 window.addEventListener("load", vI_rdfDataEditor.init, false);
  • chrome/content/v_identity/vI_rdfDataEditor.xul

    rcc211b r6d0cd3  
    3232<dialog id="vI_rdfDataEditor"
    3333    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     34    onload="vI_rdfDataEditor.init();"
    3435    ondialogaccept="window.arguments[3].treeType = vI_rdfDataEditor.accept();"
    3536    title="&vI_rdfDataEditor.dlgTitle.label;" >
  • chrome/content/v_identity/vI_rdfDataTree.js

    rcc211b r6d0cd3  
    9696                senderCol : localIdentityData.combinedName,
    9797                smtpCol : localIdentityData.smtp.value,
    98                 smtpKey : localIdentityData.smtp.key,
     98//              smtpKey : localIdentityData.smtp.key,
    9999                idCol : localIdentityData.id.value,
    100                 idKey : localIdentityData.id.key,
     100//              idKey : localIdentityData.id.key,
    101101                resource : resource,
    102102                identityData : localIdentityData}
     
    106106    },
    107107    sort : function(columnName) {
    108 //      vI_notificationBar.dump("## sort: " + columnName + ".\n");
     108        vI_notificationBar.dump("## sort: " + columnName + ".\n");
    109109        var order = this.treeElem.getAttribute("sortDirection") == "ascending" ? 1 : -1;
    110110        //if the column is passed and it's already sorted by that column, reverse sort
     
    120120            return 0;
    121121        }
    122         this.idTable.sort(columnSort);
     122        if (columnName) this.idTable.sort(columnSort);
    123123       
    124124        //setting these will make the sort option persist
     
    135135                cols[i].setAttribute("sortDirection", order == 1 ? "ascending" : "descending");
    136136        }
    137     },
    138 
     137    }
    139138}
    140139
     
    187186    },
    188187   
    189     //generic custom tree view stuff
     188    get _braille() {
     189        var prefRoot = Components.classes["@mozilla.org/preferences-service;1"]
     190            .getService(Components.interfaces.nsIPrefService).getBranch(null);
     191        var braille = false;
     192        try {   braille = (prefRoot.getCharPref("accessibility.usebrailledisplay") ||
     193                prefRoot.getCharPref("accessibility.usetexttospeech")); }
     194        catch (e) { };
     195        return braille;
     196    },
     197
     198    // generic custom tree view stuff
    190199    treeView : function (table) {
    191200        this.rowCount = table.length;
    192201        this.getCellText = function(row, col) {
    193             return table[row][col.id.substr(0,col.id.indexOf("_"))];
     202            var retValue = table[row][col.id.substr(0,col.id.indexOf("_"))];
     203            if (!vI_rdfDataTree._braille && (retValue == "no" || retValue == "yes"))
     204                return ""; // image will be used as indicator
     205            else return retValue;
    194206        };
    195207        this.getCellValue = function(row, col) {
    196             return table[row][col.id.substr(0,col.id.indexOf("_"))];
     208            return this.getCellText(row, col);
    197209        };
    198210        this.setTree = function(treebox) {
     
    215227                vI_rdfDataTree.trees[treeType].sort(col.id.substr(0,col.id.indexOf("_")));
    216228        };
     229        this.getCellProperties = function(row,col,props){
     230            if (vI_rdfDataTree._braille) return;
     231            var aserv=Components.classes["@mozilla.org/atom-service;1"].
     232                getService(Components.interfaces.nsIAtomService);
     233            switch (table[row][col.id.substr(0,col.id.indexOf("_"))]) {
     234                case "yes": props.AppendElement(aserv.getAtom("yes")); break;
     235                case "no":  props.AppendElement(aserv.getAtom("no")); break;
     236            }
     237        };
    217238    },
    218239
     
    396417        document.getElementById("vI_rdfDataTreeInfoBox").setAttribute("style", "height:0px");
    397418        for each (var treeType in vI_rdfDataTree.treeTypes) {
    398             try { vI_rdfDataTree.trees[treeType].treeElem.view.selection.selectNone() } catch (e) { }
     419            try { if (vI_rdfDataTree.trees[treeType])
     420                vI_rdfDataTree.trees[treeType].treeElem.view.selection.selectNone() } catch (e) { }
    399421        }
    400422    },
     
    414436                idKey : gAccountManager.defaultAccount.defaultIdentity.key,
    415437                resource : null }
     438        // XXXX create useful preset
    416439        var retVar = { treeType: null };
    417440        window.openDialog("chrome://v_identity/content/vI_rdfDataEditor.xul",0,
  • chrome/content/v_identity/vI_storageExtras.js

    rcc211b r6d0cd3  
    111111    },
    112112   
     113    // copys all values of an identity. This way we can create a new object with a different document-context
     114    copy : function(extras) {
     115        if (vI_storageExtrasHelper.seamonkey_to_old()) return;
     116        for( var i = 0; i < this.extras.length; i++ ) {
     117            this.extras[i].value = extras.extras[i].value;
     118        }
     119    },
     120
    113121    equal : function(storageExtras) {
    114122        var equal = true;
     
    183191    setEditorValues : function() {
    184192        if (vI_storageExtrasHelper.seamonkey_to_old()) return;
    185         for( var i = 0; i < this.extras.length; i++ ) {
    186             this.extras[i].value = window.arguments[0][this.extras[i].field + "Col"]
    187             this.extras[i].setEditorValue();
    188 //          vI_notificationBar.dump("## vI_storageExtras setEditorValue "+ this.extras[i].field + "=" + this.extras[i].value + "\n");
    189         }
     193        for( var i = 0; i < this.extras.length; i++ ) this.extras[i].setEditorValue();
    190194    },
    191195    readEditorValues : function() {
     
    201205        if (vI_storageExtrasHelper.seamonkey_to_old()) return;
    202206        for( var i = 0; i < this.extras.length; i++ )
    203             pref[this.extras[i].field + "Col"] = this.extras[i].value;
     207            pref[this.extras[i].field + "Col"] = this.extras[i].valueNice;
    204208    }
    205209}
     
    226230    comp : null,
    227231
    228     get valueHtml() {
     232    // functions to get nicely formatted output
     233    get valueHtml() { return this.valueNice; },
     234    get valueNice() {
    229235        return this.value?gCharsetConvertManager
    230236                    .getCharsetTitle(gCharsetConvertManager.getCharsetAlias(this.value)):"";
     
    264270    },
    265271    // function to set or read the value from the rdfDataEditor
     272    // XXX still Problem if selected Encoding is not (yet) Element of the Menu, repair this
     273
    266274    setEditorValue : function() {
    267275        CreateMenu('mailedit');
     
    269277            document.getElementById("maileditCharsetMenu").selectedItem = document.getElementById(this.value);
    270278            document.getElementById("vI_" + this.option + "_store").setAttribute("checked", "true");
     279           
    271280        }
    272281        document.getElementById("vI_" + this.option + "_store").doCommand();
     
    274283    readEditorValue : function() {
    275284        if (document.getElementById("vI_" + this.option + "_store").getAttribute("checked") == "true")
    276             this.value = document.getElementById("maileditCharsetMenu").selectedItem.id
     285            // check if element is selected (list might not contain relevant entry)
     286            if (document.getElementById("maileditCharsetMenu").selectedItem)
     287                this.value = document.getElementById("maileditCharsetMenu").selectedItem.id
    277288        else    this.value = null;
    278289    }
     
    291302    comp : null,
    292303
    293     get valueHtml() {
     304    // functions to get nicely formatted output
     305    get valueHtml() { return this.valueNice; },
     306    get valueNice() {
    294307        return this.value?document.getElementById(this.value).label:"";
    295308    },
     
    346359    comp : null,
    347360
     361    // functions to get nicely formatted output
    348362    get valueHtml() {
    349363        if (!this.value) return "";
    350364        return  "<div class='bool" + ((this.value=="true")?" checked":"") + "'>" +
    351365                "<label class='screen'>&nbsp;</label>" +
    352                 "<label class='braille'>" + ((this.value=="true")?"yes":"no") + "</label>" +
     366                "<label class='braille'>" + this.valueNice + "</label>" +
    353367            "</div>"
     368    },
     369    get valueNice() {
     370        if (!this.value) return "";
     371        return (this.value=="true")?"yes":"no";
    354372    },
    355373
     
    415433    valueFromIdentityFunction : null,
    416434   
     435    // functions to get nicely formatted output
    417436    get valueHtml() {
    418437        if (!this.value) return "";
    419438        return  "<div class='bool" + ((this.value=="true")?" checked":"") + "'>" +
    420439                "<label class='screen'>&nbsp;</label>" +
    421                 "<label class='braille'>" + ((this.value=="true")?"yes":"no") + "</label>" +
     440                "<label class='braille'>" + this.valueNice + "</label>" +
    422441            "</div>"
     442    },
     443    get valueNice() {
     444        if (!this.value) return "";
     445        return (this.value=="true")?"yes":"no";
    423446    },
    424447
  • chrome/skin/classic/v_identity/v_identity.css

    rcc211b r6d0cd3  
    33@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    44
     5treechildren::-moz-tree-cell(no) {
     6    background-repeat:no-repeat;
     7    background-position: center;
     8    background-image: url("chrome://v_identity/skin/notchecked-unequal.png");
     9}
     10treechildren::-moz-tree-cell(yes) {
     11    background-repeat:no-repeat;
     12    background-position: center;
     13    background-image: url("chrome://v_identity/skin/checked-unequal.png");
     14}
    515
    616#vI_statusMenuTooltip {
Note: See TracChangeset for help on using the changeset viewer.