mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-08 00:05:09 -04:00
[processing] drop WebView dependency (follow up 38f6ace4c0)
This commit is contained in:
parent
dd69a59655
commit
cc7eb27a27
@ -29,10 +29,11 @@ import os
|
||||
|
||||
from processing.core.Processing import Processing
|
||||
|
||||
|
||||
class ProcessingExampleScriptsPlugin:
|
||||
|
||||
def initGui(self):
|
||||
Processing.addScripts(os.path.join(os.path.dirname(__file__), "scripts"))
|
||||
|
||||
|
||||
def unload(self):
|
||||
Processing.removeScripts(os.path.join(os.path.dirname(__file__), "scripts"))
|
||||
|
@ -1,3 +1,3 @@
|
||||
##text=string
|
||||
|
||||
print text
|
||||
print text
|
||||
|
@ -55,8 +55,8 @@ class GrassAlgorithmProvider(AlgorithmProvider):
|
||||
GrassUtils.grassPath(), valuetype=Setting.FOLDER))
|
||||
if isWindows():
|
||||
ProcessingConfig.addSetting(Setting(self.getDescription(),
|
||||
GrassUtils.GRASS_WIN_SHELL, self.tr('Msys folder'),
|
||||
GrassUtils.grassWinShell(), valuetype=Setting.FOLDER))
|
||||
GrassUtils.GRASS_WIN_SHELL, self.tr('Msys folder'),
|
||||
GrassUtils.grassWinShell(), valuetype=Setting.FOLDER))
|
||||
ProcessingConfig.addSetting(Setting(self.getDescription(),
|
||||
GrassUtils.GRASS_LOG_COMMANDS,
|
||||
self.tr('Log execution commands'), False))
|
||||
|
@ -161,7 +161,7 @@ def executeOtb(commands, progress, addToLog=True):
|
||||
os.putenv('ITK_AUTOLOAD_PATH', otbLibPath())
|
||||
fused_command = ''.join(['"%s" ' % re.sub(r'^"|"$', '', c) for c in commands])
|
||||
proc = subprocess.Popen(fused_command, shell=True, stdout=subprocess.PIPE, stdin=open(os.devnull), stderr=subprocess.STDOUT, universal_newlines=True).stdout
|
||||
if isMac(): #This trick avoids having an uninterrupted system call exception if OTB is not installed
|
||||
if isMac(): # This trick avoids having an uninterrupted system call exception if OTB is not installed
|
||||
time.sleep(1)
|
||||
for line in iter(proc.readline, ""):
|
||||
if "[*" in line:
|
||||
|
@ -222,8 +222,8 @@ class QGISAlgorithmProvider(AlgorithmProvider):
|
||||
from .ExecuteSQL import ExecuteSQL
|
||||
self.alglist.extend([ExecuteSQL()])
|
||||
|
||||
self.externalAlgs = [] #to store algs added by 3rd party plugins as scripts
|
||||
|
||||
self.externalAlgs = [] # to store algs added by 3rd party plugins as scripts
|
||||
|
||||
folder = os.path.join(os.path.dirname(__file__), 'scripts')
|
||||
scripts = ScriptUtils.loadFromFolder(folder)
|
||||
for script in scripts:
|
||||
|
@ -134,7 +134,7 @@ def getSagaInstalledVersion(runSaga=False):
|
||||
stderr=subprocess.STDOUT,
|
||||
universal_newlines=True,
|
||||
).stdout
|
||||
if isMac(): #This trick avoids having an uninterrupted system call exception if SAGA is not installed
|
||||
if isMac(): # This trick avoids having an uninterrupted system call exception if SAGA is not installed
|
||||
time.sleep(1)
|
||||
try:
|
||||
lines = proc.readlines()
|
||||
|
@ -64,11 +64,11 @@ from processing.script.ScriptAlgorithmProvider import ScriptAlgorithmProvider
|
||||
from processing.algs.taudem.TauDEMAlgorithmProvider import TauDEMAlgorithmProvider
|
||||
from processing.preconfigured.PreconfiguredAlgorithmProvider import PreconfiguredAlgorithmProvider
|
||||
|
||||
|
||||
class Processing:
|
||||
|
||||
providers = []
|
||||
|
||||
|
||||
# Same structure as algs in algList
|
||||
actions = {}
|
||||
|
||||
@ -134,8 +134,8 @@ class Processing:
|
||||
ProcessingConfig.initialize()
|
||||
ProcessingConfig.readSettings()
|
||||
RenderingStyles.loadStyles()
|
||||
|
||||
@staticmethod
|
||||
|
||||
@staticmethod
|
||||
def addScripts(folder):
|
||||
Processing.initialize()
|
||||
provider = Processing.getProviderFromName("qgis")
|
||||
@ -145,19 +145,17 @@ class Processing:
|
||||
script.allowEdit = False
|
||||
script._icon = provider._icon
|
||||
script.provider = provider
|
||||
provider.externalAlgs.extend(scripts)
|
||||
provider.externalAlgs.extend(scripts)
|
||||
Processing.reloadProvider("qgis")
|
||||
|
||||
|
||||
|
||||
@staticmethod
|
||||
def removeScripts(folder):
|
||||
provider = Processing.getProviderFromName("qgis")
|
||||
for alg in provider.externalAlgs[::-1]:
|
||||
path = os.path.dirname(alg.descriptionFile)
|
||||
if path == folder:
|
||||
provider.externalAlgs.remove(alg)
|
||||
provider.externalAlgs.remove(alg)
|
||||
Processing.reloadProvider("qgis")
|
||||
|
||||
|
||||
@staticmethod
|
||||
def updateAlgsList():
|
||||
|
@ -27,6 +27,7 @@ __revision__ = '$Format:%H$'
|
||||
|
||||
from qgis.PyQt.QtCore import QObject, pyqtSignal
|
||||
|
||||
|
||||
class AlgorithmList(QObject):
|
||||
|
||||
providerAdded = pyqtSignal(str)
|
||||
@ -76,4 +77,4 @@ class AlgorithmList(QObject):
|
||||
if alg.name == name:
|
||||
return alg
|
||||
|
||||
algList = AlgorithmList()
|
||||
algList = AlgorithmList()
|
||||
|
@ -26,7 +26,6 @@ __copyright__ = '(C) 2016, Victor Olaya'
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
|
||||
|
||||
def loadDefaultProviders():
|
||||
# this is here just to "trigger" the above imports so providers are loaded
|
||||
# and can be found by the Processing.initialize() method
|
||||
|
@ -31,6 +31,7 @@ import webbrowser
|
||||
from qgis.PyQt import uic
|
||||
from qgis.PyQt.QtCore import QCoreApplication, QSettings, QByteArray, QUrl
|
||||
from qgis.PyQt.QtWidgets import QApplication, QDialogButtonBox, QDesktopWidget
|
||||
from qgis.PyQt.QtNetwork import QNetworkRequest, QNetworkReply
|
||||
|
||||
from qgis.utils import iface
|
||||
from qgis.core import QgsNetworkAccessManager
|
||||
@ -63,9 +64,9 @@ class AlgorithmDialogBase(BASE, WIDGET):
|
||||
|
||||
self.setWindowTitle(self.alg.displayName())
|
||||
|
||||
desktop = QDesktopWidget()
|
||||
if desktop.physicalDpiX() > 96:
|
||||
self.textHelp.setZoomFactor(desktop.physicalDpiX() / 96)
|
||||
#~ desktop = QDesktopWidget()
|
||||
#~ if desktop.physicalDpiX() > 96:
|
||||
#~ self.txtHelp.setZoomFactor(desktop.physicalDpiX() / 96)
|
||||
|
||||
algHelp = self.alg.shortHelp()
|
||||
if algHelp is None:
|
||||
@ -83,20 +84,22 @@ class AlgorithmDialogBase(BASE, WIDGET):
|
||||
|
||||
def linkClicked(url):
|
||||
webbrowser.open(url.toString())
|
||||
self.textShortHelp.anchorClicked.connect(linkClicked)
|
||||
|
||||
self.textHelp.page().setNetworkAccessManager(QgsNetworkAccessManager.instance())
|
||||
self.textShortHelp.anchorClicked.connect(linkClicked)
|
||||
|
||||
isText, algHelp = self.alg.help()
|
||||
if algHelp is not None:
|
||||
algHelp = algHelp if isText else QUrl(algHelp)
|
||||
try:
|
||||
if isText:
|
||||
self.textHelp.setHtml(algHelp)
|
||||
self.txtHelp.setHtml(algHelp)
|
||||
else:
|
||||
self.textHelp.settings().clearMemoryCaches()
|
||||
self.textHelp.load(algHelp)
|
||||
except:
|
||||
html = self.tr('<p>Downloading algorithm help... Please wait.</p>')
|
||||
self.txtHelp.setHtml(html)
|
||||
rq = QNetworkRequest(algHelp)
|
||||
self.reply = QgsNetworkAccessManager.instance().get(rq)
|
||||
self.reply.finished.connect(self.requestFinished)
|
||||
except Exception, e:
|
||||
self.tabWidget.removeTab(2)
|
||||
else:
|
||||
self.tabWidget.removeTab(2)
|
||||
@ -104,6 +107,16 @@ class AlgorithmDialogBase(BASE, WIDGET):
|
||||
self.showDebug = ProcessingConfig.getSetting(
|
||||
ProcessingConfig.SHOW_DEBUG_IN_DIALOG)
|
||||
|
||||
def requestFinished(self):
|
||||
"""Change the webview HTML content"""
|
||||
reply = self.sender()
|
||||
if reply.error() != QNetworkReply.NoError:
|
||||
html = self.tr('<h2>No help available for this algorithm</h2><p>{}</p>'.format(reply.errorString()))
|
||||
else:
|
||||
html = unicode(reply.readAll())
|
||||
reply.deleteLater()
|
||||
self.txtHelp.setHtml(html)
|
||||
|
||||
def closeEvent(self, evt):
|
||||
self.settings.setValue("/Processing/dialogBase", self.saveGeometry())
|
||||
super(AlgorithmDialogBase, self).closeEvent(evt)
|
||||
|
@ -35,6 +35,7 @@ from processing.algs.r.RAlgorithm import RAlgorithm
|
||||
from processing.script.ScriptAlgorithm import ScriptAlgorithm
|
||||
from processing.core.alglist import algList
|
||||
|
||||
|
||||
class DeleteScriptAction(ContextAction):
|
||||
|
||||
SCRIPT_PYTHON = 0
|
||||
|
@ -31,6 +31,7 @@ from processing.algs.r.RAlgorithm import RAlgorithm
|
||||
from processing.script.ScriptAlgorithm import ScriptAlgorithm
|
||||
from processing.core.alglist import algList
|
||||
|
||||
|
||||
class EditScriptAction(ContextAction):
|
||||
|
||||
SCRIPT_PYTHON = 0
|
||||
|
@ -208,10 +208,10 @@ class GetScriptsAndModelsDialog(BASE, WIDGET):
|
||||
self.tree.addTopLevelItem(self.notinstalledItem)
|
||||
self.tree.addTopLevelItem(self.uptodateItem)
|
||||
|
||||
self.webView.setHtml(self.HELP_TEXT)
|
||||
self.txtHelp.setHtml(self.HELP_TEXT)
|
||||
|
||||
def setHelp(self, reply, item):
|
||||
"""Change the webview HTML content"""
|
||||
"""Change the HTML content"""
|
||||
QApplication.restoreOverrideCursor()
|
||||
if reply.error() != QNetworkReply.NoError:
|
||||
html = self.tr('<h2>No detailed description available for this script</h2>')
|
||||
@ -223,14 +223,14 @@ class GetScriptsAndModelsDialog(BASE, WIDGET):
|
||||
html += self.tr('<p><b>Created by:</b> %s') % getDescription(ALG_CREATOR, descriptions)
|
||||
html += self.tr('<p><b>Version:</b> %s') % getDescription(ALG_VERSION, descriptions)
|
||||
reply.deleteLater()
|
||||
self.webView.setHtml(html)
|
||||
self.txtHelp.setHtml(html)
|
||||
|
||||
def currentItemChanged(self, item, prev):
|
||||
if isinstance(item, TreeItem):
|
||||
url = self.urlBase + item.filename.replace(' ', '%20') + '.help'
|
||||
self.grabHTTP(url, self.setHelp, item)
|
||||
else:
|
||||
self.webView.setHtml(self.HELP_TEXT)
|
||||
self.txtHelp.setHtml(self.HELP_TEXT)
|
||||
|
||||
def getTreeBranchForState(self, filename, version):
|
||||
if not os.path.exists(os.path.join(self.folder, filename)):
|
||||
|
@ -16,8 +16,6 @@
|
||||
* *
|
||||
***************************************************************************
|
||||
"""
|
||||
from processing.modeler.ModelerAlgorithm import ModelerAlgorithm
|
||||
|
||||
|
||||
__author__ = 'Victor Olaya'
|
||||
__date__ = 'August 2012'
|
||||
@ -34,6 +32,7 @@ from qgis.PyQt import uic
|
||||
from qgis.PyQt.QtWidgets import QDialog, QTreeWidgetItem
|
||||
|
||||
from processing.core.ProcessingLog import ProcessingLog
|
||||
from processing.modeler.ModelerAlgorithm import ModelerAlgorithm
|
||||
|
||||
pluginPath = os.path.split(os.path.dirname(__file__))[0]
|
||||
WIDGET, BASE = uic.loadUiType(
|
||||
@ -138,7 +137,7 @@ class HelpEditionDialog(BASE, WIDGET):
|
||||
self.updateHtmlView()
|
||||
|
||||
def updateHtmlView(self):
|
||||
self.webView.setHtml(self.getHtml())
|
||||
self.txtPreview.setHtml(self.getHtml())
|
||||
|
||||
def getDescription(self, name):
|
||||
if name in self.descriptions:
|
||||
|
@ -26,6 +26,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
import codecs
|
||||
|
||||
from qgis.PyQt import uic
|
||||
from qgis.PyQt.QtCore import QUrl
|
||||
@ -53,7 +54,7 @@ class ResultsDialog(BASE, WIDGET):
|
||||
self.fillTree()
|
||||
|
||||
if self.lastUrl:
|
||||
self.webView.load(self.lastUrl)
|
||||
self.txtResults.setHtml(self.loadResults(self.lastUrl))
|
||||
|
||||
def fillTree(self):
|
||||
elements = ProcessingResults.getResults()
|
||||
@ -64,13 +65,17 @@ class ResultsDialog(BASE, WIDGET):
|
||||
item = TreeResultItem(element)
|
||||
item.setIcon(0, self.keyIcon)
|
||||
self.tree.addTopLevelItem(item)
|
||||
self.lastUrl = QUrl(elements[-1].filename)
|
||||
self.lastUrl = elements[-1].filename
|
||||
|
||||
def changeResult(self):
|
||||
item = self.tree.currentItem()
|
||||
if isinstance(item, TreeResultItem):
|
||||
url = QUrl(item.filename)
|
||||
self.webView.load(url)
|
||||
self.txtResults.setHtml(self.loadResults(item.filename))
|
||||
|
||||
def loadResults(self, fileName):
|
||||
with codecs.open(fileName, encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
return content
|
||||
|
||||
|
||||
class TreeResultItem(QTreeWidgetItem):
|
||||
|
@ -31,6 +31,7 @@ from processing.gui.ContextAction import ContextAction
|
||||
from processing.modeler.ModelerAlgorithm import ModelerAlgorithm
|
||||
from processing.core.alglist import algList
|
||||
|
||||
|
||||
class DeleteModelAction(ContextAction):
|
||||
|
||||
def __init__(self):
|
||||
|
@ -30,6 +30,7 @@ from processing.modeler.ModelerAlgorithm import ModelerAlgorithm
|
||||
from processing.modeler.ModelerDialog import ModelerDialog
|
||||
from processing.core.alglist import algList
|
||||
|
||||
|
||||
class EditModelAction(ContextAction):
|
||||
|
||||
def __init__(self):
|
||||
|
@ -26,8 +26,13 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
from qgis.PyQt.QtCore import Qt, QUrl, QMetaObject
|
||||
from qgis.PyQt.QtWidgets import QDialog, QDialogButtonBox, QLabel, QLineEdit, QFrame, QPushButton, QSizePolicy, QVBoxLayout, QHBoxLayout, QTabWidget, QWidget, QScrollArea, QComboBox, QTableWidgetItem, QMessageBox
|
||||
from qgis.core import QgsWebView
|
||||
from qgis.PyQt.QtWidgets import (QDialog, QDialogButtonBox, QLabel, QLineEdit,
|
||||
QFrame, QPushButton, QSizePolicy, QVBoxLayout,
|
||||
QHBoxLayout, QTabWidget, QWidget, QScrollArea,
|
||||
QComboBox, QTableWidgetItem, QMessageBox)
|
||||
from qgis.PyQt.QtNetwork import QNetworkRequest, QNetworkReply
|
||||
|
||||
from qgis.core import QgsNetworkAccessManager
|
||||
|
||||
from processing.gui.CrsSelectionPanel import CrsSelectionPanel
|
||||
from processing.gui.MultipleInputPanel import MultipleInputPanel
|
||||
@ -194,27 +199,27 @@ class ModelerParametersDialog(QDialog):
|
||||
self.scrollArea.setWidget(self.paramPanel)
|
||||
self.scrollArea.setWidgetResizable(True)
|
||||
self.tabWidget.addTab(self.scrollArea, self.tr('Parameters'))
|
||||
self.webView = QgsWebView()
|
||||
|
||||
self.txtHelp = QTextBrowser()
|
||||
|
||||
html = None
|
||||
url = None
|
||||
isText, help = self._alg.help()
|
||||
if help is not None:
|
||||
if isText:
|
||||
html = help
|
||||
else:
|
||||
url = QUrl(help)
|
||||
else:
|
||||
html = self.tr('<h2>Sorry, no help is available for this '
|
||||
'algorithm.</h2>')
|
||||
try:
|
||||
if html:
|
||||
self.webView.setHtml(html)
|
||||
elif url:
|
||||
self.webView.load(url)
|
||||
except:
|
||||
self.webView.setHtml(self.tr('<h2>Could not open help file :-( </h2>'))
|
||||
self.tabWidget.addTab(self.webView, 'Help')
|
||||
isText, algHelp = self._alg.help()
|
||||
if algHelp is not None:
|
||||
algHelp = algHelp if isText else QUrl(algHelp)
|
||||
try:
|
||||
if isText:
|
||||
self.txtHelp.setHtml(algHelp)
|
||||
else:
|
||||
html = self.tr('<p>Downloading algorithm help... Please wait.</p>')
|
||||
self.txtHelp.setHtml(html)
|
||||
self.reply = QgsNetworkAccessManager.instance().get(QNetworkRequest(algHelp))
|
||||
self.reply.finished.connect(self.requestFinished)
|
||||
except:
|
||||
self.txtHelp.setHtml(self.tr('<h2>No help available for this algorithm</h2>'))
|
||||
|
||||
self.tabWidget.addTab(self.txtHelp, 'Help')
|
||||
|
||||
self.verticalLayout2.addWidget(self.tabWidget)
|
||||
self.verticalLayout2.addWidget(self.buttonBox)
|
||||
self.setLayout(self.verticalLayout2)
|
||||
@ -222,6 +227,16 @@ class ModelerParametersDialog(QDialog):
|
||||
self.buttonBox.rejected.connect(self.cancelPressed)
|
||||
QMetaObject.connectSlotsByName(self)
|
||||
|
||||
def requestFinished(self):
|
||||
"""Change the webview HTML content"""
|
||||
reply = self.sender()
|
||||
if reply.error() != QNetworkReply.NoError:
|
||||
html = self.tr('<h2>No help available for this algorithm</h2><p>{}</p>'.format(reply.errorString()))
|
||||
else:
|
||||
html = unicode(reply.readAll())
|
||||
reply.deleteLater()
|
||||
self.txtHelp.setHtml(html)
|
||||
|
||||
def getAvailableDependencies(self):
|
||||
if self._algName is None:
|
||||
dependent = []
|
||||
|
@ -31,6 +31,7 @@ from processing.gui.ContextAction import ContextAction
|
||||
from processing.preconfigured.PreconfiguredAlgorithm import PreconfiguredAlgorithm
|
||||
from processing.core.alglist import algList
|
||||
|
||||
|
||||
class DeletePreconfiguredAlgorithmAction(ContextAction):
|
||||
|
||||
def __init__(self):
|
||||
|
@ -47,9 +47,6 @@
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="txtLog">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@ -69,13 +66,7 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QgsWebView" name="textHelp">
|
||||
<property name="url">
|
||||
<url>
|
||||
<string>about:blank</string>
|
||||
</url>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextBrowser" name="txtHelp"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@ -131,13 +122,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsWebView</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgis.core</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
|
@ -6,32 +6,20 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>826</width>
|
||||
<height>520</height>
|
||||
<width>504</width>
|
||||
<height>523</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Get scripts and models</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<widget class="QTreeWidget" name="tree">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100000</width>
|
||||
<height>100000</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
@ -59,96 +47,55 @@
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QgsWebView" name="webView">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>10000</width>
|
||||
<height>10000</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="url">
|
||||
<url>
|
||||
<string>about:blank</string>
|
||||
</url>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="txtHelp"/>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<item row="1" column="0">
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsWebView</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgis.core</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -20,18 +20,14 @@
|
||||
<property name="margin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="txtPreview"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<widget class="QgsWebView" name="webView">
|
||||
<property name="url">
|
||||
<url>
|
||||
<string>about:blank</string>
|
||||
</url>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
@ -110,13 +106,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsWebView</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgis.core</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
|
@ -14,24 +14,12 @@
|
||||
<string>Results</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<widget class="QTreeWidget" name="tree">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<attribute name="headerVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
@ -41,19 +29,7 @@
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
<widget class="QgsWebView" name="webView">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="url">
|
||||
<url>
|
||||
<string>about:blank</string>
|
||||
</url>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="txtResults"/>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@ -68,13 +44,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsWebView</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgis.core</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
|
Loading…
x
Reference in New Issue
Block a user