Pushes the url into the history stack at the current index.
        
        :param      url | <str>
        
        :return     <bool> | changed

def push(self, url, title=''):
        """
        Pushes the url into the history stack at the current index.
        
        :param      url | <str>
        
        :return     <bool> | changed
        """
        # ignore refreshes of the top level
        if self.currentUrl() == url or self._blockStack:
            return False
        
        self._blockStack = True
        
        self._stack = self._stack[:self._index+1]
        self._stack.append((nativestring(url), nativestring(title)))
        
        over = len(self._stack) - self.maximum()
        if over > 0:
            self._stack = self._stack[over:]
        
        self._index = len(self._stack) - 1
        
        self.canGoBackChanged.emit(self.canGoBack())
        self.canGoForwardChanged.emit(self.canGoForward())
        
        self._blockStack = False
        return True