'Register a keyboard shortcut that will trigger the specified ``qaction``. This keyboard shortcut
will become automatically customizable by the user in the Keyboard section of the editor preferences.
:param qaction: A QAction object, it will be triggered when the
configured key combination is pressed by the user.
:param unique_name: A unique name for this shortcut/action. It will be
used internally, it must not be shared by any other actions in this
plugin.
:param default_keys: A list of the default keyboard shortcuts. If not
specified no default shortcuts will be set. If the shortcuts specified
here conflict with either builtin shortcuts or shortcuts from user
configuration/other plugins, they will be ignored. In that case, users
will have to configure the shortcuts manually via Preferences. For example:
``default_keys=(\'Ctrl+J\', \'F9\')``.
:param short_text: An optional short description of this action. If not
specified the text from the QAction will be used.
:param description: An optional longer description of this action, it
will be used in the preferences entry for this shortcut.'

def register_shortcut(self, qaction, unique_name, default_keys=(), short_text=None, description=None, **extra_data):

    short_text = (short_text or unicode(qaction.text()).replace(u'&&', u'\x00').replace(u'&', u'').replace(u'\x00', u'&'))
    self.gui.keyboard.register_shortcut(((self.name + u'_') + unique_name), short_text, default_keys=default_keys, description=(description or u''), group=_(u'Plugins'))
