Prompts the user to edit the config settings for the inputed config \
        plugins.
        
        :param      plugins | [<XConfigPlugin>, ..]
                    parent  | <QWidget>
                    default | <XConfigPlugin> || None
        
        :return     <bool> success

def edit( plugins, parent = None, default = None, modal = True ):
        """
        Prompts the user to edit the config settings for the inputed config \
        plugins.
        
        :param      plugins | [<XConfigPlugin>, ..]
                    parent  | <QWidget>
                    default | <XConfigPlugin> || None
        
        :return     <bool> success
        """
        if ( XConfigDialog._instance ):
            XConfigDialog._instance.show()
            XConfigDialog._instance.activateWindow()
            return True
        
        dlg = XConfigDialog( parent )
        dlg.setPlugins(plugins)
        dlg.setCurrentPlugin(default)
        
        if ( not modal ):
            XConfigDialog._instance = dlg
            dlg.setAttribute(Qt.WA_DeleteOnClose)
            dlg.show()
            return True
            
        if ( dlg.exec_() ):
            return True
        return False