Changeset 1389


Ignore:
Timestamp:
02/08/18 21:48:48 (10 months ago)
Author:
gogo
Message:

#1422 - Incorrect (but working) procedure for updating fontname/size and format selects.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XinhaCore.js

    r1384 r1389  
    51005100            // button name in the toolbar. 
    51015101            var options = this.config[cmd]; 
    5102             var sIndex = 0; 
     5102            var selectedValue = null; 
    51035103            for ( var j in options ) 
    51045104            { 
     
    51085108              if ( ( j.toLowerCase() == value ) || ( options[j].substr(0, value.length).toLowerCase() == value ) ) 
    51095109              { 
    5110                 btn.element.selectedIndex = sIndex; 
    5111                 throw "ok"; 
     5110                selectedValue = options[j]; 
     5111                break; 
    51125112              } 
    51135113               
     
    51255125                if ( ( fixedOpt.substr(0, value.length).toLowerCase() == value ) ) 
    51265126                { 
    5127                   btn.element.selectedIndex = sIndex; 
    5128                   throw "ok"; 
     5127                  selectedValue = options[j]; 
     5128                  break; 
    51295129                } 
    51305130              } 
    5131                
    5132               ++sIndex; 
    51335131            } 
    5134             btn.element.selectedIndex = 0; 
     5132             
     5133            if(selectedValue != null) 
     5134            { 
     5135              // Find the selected value in the toolbar element 
     5136              for(var i = 0; i < this._toolbarObjects[cmd].element.options.length; i++) 
     5137              { 
     5138                if(this._toolbarObjects[cmd].element.options[i].value == selectedValue) 
     5139                { 
     5140                  this._toolbarObjects[cmd].element.selectedIndex = i; 
     5141                  break; 
     5142                } 
     5143              } 
     5144            } 
     5145            else 
     5146            { 
     5147              this._toolbarObjects[cmd].element.selectedIndex = 0; 
     5148            } 
    51355149          } catch(ex) {} 
    51365150        } 
     
    51555169        var match = this._getFirstAncestorAndWhy(this.getSelection(), blocks); 
    51565170        var deepestAncestor = match[0]; 
    5157         var matchIndex = match[1]; 
    5158  
    51595171 
    51605172        if ( deepestAncestor ) 
    51615173        { 
    5162           // the function can return null for its second element even if a match is found, 
    5163           // but we passed in an array, so we know it will be a numerical index. 
    5164           btn.element.selectedIndex = matchIndex; 
     5174          // Find the selected value in the toolbar element 
     5175          deepestAncestor = deepestAncestor.tagName.toLowerCase(); 
     5176          for(var i = 0; i < this._toolbarObjects[cmd].element.options.length; i++) 
     5177          { 
     5178            if(this._toolbarObjects[cmd].element.options[i].value == deepestAncestor) 
     5179            { 
     5180              this._toolbarObjects[cmd].element.selectedIndex = i; 
     5181              break; 
     5182            } 
     5183          } 
    51655184        } 
    51665185        else 
Note: See TracChangeset for help on using the changeset viewer.