Make sure on a mouse release event that we have a current item.  If
        no item is current, then our edit item will become current.
        
        :param      event | <QMouseReleaseEvent>

def mousePressEvent( self, event ):
        """
        Make sure on a mouse release event that we have a current item.  If
        no item is current, then our edit item will become current.
        
        :param      event | <QMouseReleaseEvent>
        """
        item = self.itemAt(event.pos())
        
        # set the tag creation item as active
        if item is None:
            create_item = self.createItem()
            if create_item:
                self.setCurrentItem(create_item)
                self.editItem(create_item)
        
        # check to see if we're removing a tag
        else:
            rect = self.visualItemRect(item)
            if ( rect.right() - 14 < event.pos().x()  ):
                # make sure the item is allowed to be removed via the widget
                if ( self.itemsRemovable() ):
                    self.takeItem(self.row(item))
                
                # emit the removed signal
                if ( not self.signalsBlocked() ):
                    self.tagRemoved.emit(item.text())
                
                event.ignore()
                return
        
        super(XMultiTagEdit, self).mousePressEvent(event)