import json from itertools import chain from qgis.PyQt.Qsci import QsciScintilla, QsciLexerXML, QsciLexerJSON from qgis.PyQt.QtGui import QFont, QColor, QFontMetrics from qgis.PyQt.QtWidgets import QVBoxLayout from qgis.utils import iface from bridgestyle.qgis import layerStyleAsSld, layerStyleAsMapbox, layerStyleAsMapfile from bridgestyle.qgis.togeostyler import convert from geocatbridge.utils.layers import isSupported from geocatbridge.utils import gui WIDGET, BASE = gui.loadUiType(__file__) class StyleviewerWidget(BASE, WIDGET): def __init__(self, ): super(StyleviewerWidget, self).__init__(iface.mainWindow()) self.setupUi(self) self.txtSld = EditorWidget(QsciLexerXML()) layout = QVBoxLayout() layout.addWidget(self.txtSld) self.widgetSld.setLayout(layout) self.txtGeostyler = EditorWidget(QsciLexerJSON()) layout = QVBoxLayout() layout.addWidget(self.txtGeostyler) self.widgetGeostyler.setLayout(layout)
import webbrowser from urllib import parse from qgis.PyQt.QtGui import QPixmap, QIcon from qgis.core import QgsMessageLog from requests.models import PreparedRequest from geocatbridge.utils.files import getIconPath from geocatbridge.utils.gui import loadUiType from geocatbridge.utils.meta import getTrackerUrl, getAppName WIDGET, BASE = loadUiType(__file__) class ErrorDialog(BASE, WIDGET): def __init__(self, html_error, md_error): super(ErrorDialog, self).__init__() self.setupUi(self) self.setWindowTitle(f"{getAppName()} Error Report") self.setWindowIcon(QIcon(getIconPath('geocat'))) pixmap = QPixmap(getIconPath("bridge_logo")) self.labelIcon.setPixmap(pixmap) self.label.setText( f"The {getAppName()} plugin has caused the following exception:") self.txtError.setHtml(html_error) tracker_url = getTrackerUrl() if not tracker_url: self.btnSendReport.setEnabled(False)