Exemplo n.º 1
0
class PMRDialog(QtGui.QDialog):
    
    def __init__(self, use_external_git, parent=None):
        super(PMRDialog, self).__init__(parent)
        self._ui = Ui_PMRDialog()
        self._ui.setupUi(self)
        self._ui.searchWidget.setUseExternalGit(use_external_git)
        self._ui.settingsWidget.setUseExternalGit(use_external_git)
        
        pmr_info = PMR()
        self._pmr_tool = PMRTool(pmr_info, use_external_git)

        self._makeConnections()

        self._updateUi()

    def accept(self, *args, **kwargs):
        self._ui.settingsWidget.transferModel()
        return QtGui.QDialog.accept(self, *args, **kwargs)
    
    def _updateUi(self):
        pmr_info = PMR()
        self._pmr_tool.set_info(pmr_info)
        if self._pmr_tool.isActive():
            if self._pmr_tool.hasAccess():
                self._ui.loginStackedWidget.setCurrentIndex(1)
            else:
                self._ui.loginStackedWidget.setCurrentIndex(0)
        else:
            self._ui.loginStackedWidget.setCurrentIndex(2)

    def _makeConnections(self):
        self._ui.registerLabel.linkActivated.connect(self.register)
        self._ui.deregisterLabel.linkActivated.connect(self.deregister)
        self._ui.settingsWidget.hostChanged.connect(self._hostChanged)

    def _hostChanged(self, index):
        self._updateUi()
        
    def register(self, link):
        if link != 'mapclient.register':
            return

        dlg = AuthoriseApplicationDialog(self)
        dlg.setModal(True)
        dlg.exec_()

        self._updateUi()

    def deregister(self):
        pmr_info = PMR()
        self._pmr_tool.set_info(pmr_info)
        self._pmr_tool.deregister()
        self._updateUi()
class PMRRegisterDialog(QtGui.QDialog):
    def __init__(self, external_git, parent=None):
        super(PMRRegisterDialog, self).__init__(parent)
        self._ui = Ui_RegisterDialog()
        self._ui.setupUi(self)

        pmr_info = PMR()
        self._pmr_tool = PMRTool(pmr_info, external_git)

        self._makeConnections()

        self._updateUi()

    def _updateUi(self):
        pmr_info = PMR()
        self._pmr_tool.set_info(pmr_info)
        if self._pmr_tool.isActive():
            self._ui.pushButtonRegister.setEnabled(True)
            if self._pmr_tool.hasAccess():
                self._ui.stackedWidgetRegister.setCurrentIndex(1)
            else:
                self._ui.stackedWidgetRegister.setCurrentIndex(0)
        else:
            self._ui.pushButtonRegister.setEnabled(False)
            self._ui.stackedWidgetRegister.setCurrentIndex(0)

    def _makeConnections(self):
        self._ui.pushButtonRegister.clicked.connect(self._register)
        self._ui.pushButtonDeregister.clicked.connect(self._deregister)
        self._ui.settingsWidget.hostChanged.connect(self._hostChanged)

    def _register(self):
        dlg = AuthoriseApplicationDialog(self)
        dlg.setModal(True)
        dlg.exec_()

        self._updateUi()

    def _deregister(self):
        pmr_info = PMR()
        self._pmr_tool.set_info(pmr_info)
        self._pmr_tool.deregister()
        self._updateUi()

    def _hostChanged(self, index):
        self._updateUi()

    def accept(self, *args, **kwargs):
        self._ui.settingsWidget.transferModel()
        return QtGui.QDialog.accept(self, *args, **kwargs)