QGIS/python/pyplugin_installer/qgsplugininstallerrepositorydialog.py
2024-11-29 15:38:02 +01:00

76 lines
3.1 KiB
Python

"""
/***************************************************************************
qgsplugininstallerrepositorydialog.py
Plugin Installer module
-------------------
Date : June 2013
Copyright : (C) 2013 by Borys Jurgiel
Email : info at borysjurgiel dot pl
This module is based on former plugin_installer plugin:
Copyright (C) 2007-2008 Matthew Perry
Copyright (C) 2008-2013 Borys Jurgiel
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
"""
from pathlib import Path
from qgis.PyQt import uic
from qgis.gui import QgsAuthConfigSelect
from qgis.PyQt.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout
from qgis.PyQt.QtCore import Qt
Ui_QgsPluginInstallerRepositoryDetailsDialogBase, _ = uic.loadUiType(
Path(__file__).parent / "qgsplugininstallerrepositorybase.ui"
)
class QgsPluginInstallerRepositoryDialog(
QDialog, Ui_QgsPluginInstallerRepositoryDetailsDialogBase
):
# ----------------------------------------- #
def __init__(self, parent=None):
QDialog.__init__(self, parent)
self.setupUi(self)
self.editURL.setText("http://")
self.editName.textChanged.connect(self.textChanged)
self.editURL.textChanged.connect(self.textChanged)
self.btnClearAuthCfg.clicked.connect(self.editAuthCfg.clear)
self.btnEditAuthCfg.clicked.connect(self.editAuthCfgId)
self.textChanged(None)
# ----------------------------------------- #
def textChanged(self, string):
enable = len(self.editName.text()) > 0 and len(self.editURL.text()) > 0
self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
def editAuthCfgId(self):
dlg = QDialog(self)
dlg.setWindowModality(Qt.WindowModality.WindowModal)
layout = QVBoxLayout()
selector = QgsAuthConfigSelect(self)
if self.editAuthCfg.text():
selector.setConfigId(self.editAuthCfg.text())
layout.addWidget(selector)
buttonBox = QDialogButtonBox(
QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Close
)
buttonBox.accepted.connect(dlg.accept)
buttonBox.rejected.connect(dlg.reject)
layout.addWidget(buttonBox)
dlg.setLayout(layout)
if dlg.exec():
self.editAuthCfg.setText(selector.configId())
del dlg