Looks for the inputed text and replaces it with the given replacement \
        text.
        
        :param      text            | <str>
                    repl            | <str>
                    caseSensitive   | <bool>
                    replaceAll      | <bool>
        
        :return     <int> number of items replace

def findRepl( self, 
                  text,
                  repl,
                  caseSensitive = False,
                  replaceAll    = False ):
        """
        Looks for the inputed text and replaces it with the given replacement \
        text.
        
        :param      text            | <str>
                    repl            | <str>
                    caseSensitive   | <bool>
                    replaceAll      | <bool>
        
        :return     <int> number of items replace
        """
        # make sure something is selected
        if ( not text ):
            return 0
        
        # make sure we have some text selected to replace
        if ( self.selectedText() != text ):
            found = self.findNext( text,
                                   False,
                                   caseSensitive,
                                   False,
                                   True )
            
            if ( not found ):
                return 0
        
        sel     = self.getSelection()
        alltext = self.text()
        
        # replace all instances
        if ( replaceAll ):
            sensitivity = Qt.CaseInsensitive
            if ( caseSensitive ):
                sensitivity = Qt.CaseSensitive
                
            count = alltext.count(text, sensitivity)
            alltext.replace(text, repl, sensitivity)
            
        else:
            count    = 1
            startpos = self.positionFromLineIndex(sel[0], sel[1])
            alltext.replace(startpos, len(text), repl)
            
        self.setText(alltext)
        
        if ( count == 1 ):
            sel = list(sel)
            sel[3] += len(repl) - len(text)
            
            self.setSelection(*sel)
        else:
            self.findNext( repl,
                           False,
                           caseSensitive,
                           False,
                           True )
        
        return count