mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-04-27 01:24:42 +00:00
Use separate debug log window.
This commit is contained in:
parent
dcff139d04
commit
ced1b42124
10 changed files with 248 additions and 254 deletions
|
|
@ -9,6 +9,7 @@ Fixes:
|
|||
|
||||
Changes:
|
||||
- gui: Display cancel message in progress window.
|
||||
- gui: Use separate debug log window.
|
||||
- install: Copy and execute the Microsoft Visual C runtime DLL
|
||||
installer. This solves startup error on WinXP systems that don't
|
||||
have this DLL installed.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
- [GUI] Allow login URL to be configured.
|
||||
- [GUI] Move the debug tab someplace else. Perhaps make a separate
|
||||
debug window out of it that gets displayed only on demand.
|
||||
- [GUI] Show detailed URL properties
|
||||
- [GUI] Save options in qsettings or in external file (for each URL?).
|
||||
- [PYTHON3]
|
||||
|
|
|
|||
|
|
@ -243,6 +243,12 @@ Version 2 or later.</p>
|
|||
self.config["verbose"] = self.options.verbose.isChecked()
|
||||
self.config["timeout"] = self.options.timeout.value()
|
||||
self.config["threads"] = self.options.threads.value()
|
||||
if self.options.debug:
|
||||
self.config.set_debug(["all"])
|
||||
# make sure at least one thread is used
|
||||
self.config["threads"] = 1
|
||||
else:
|
||||
self.config.reset_loglevel()
|
||||
|
||||
def log_url (self, url_data):
|
||||
"""Add URL data to tree widget."""
|
||||
|
|
|
|||
|
|
@ -48,4 +48,5 @@ class CheckerThread (QtCore.QThread):
|
|||
|
||||
def run (self):
|
||||
# start checking
|
||||
assert self.aggregate.config["threads"] > 0
|
||||
director.check_urls(self.aggregate)
|
||||
|
|
|
|||
|
|
@ -25,13 +25,10 @@ class LinkCheckerDebug (QtGui.QDialog, Ui_DebugDialog):
|
|||
def __init__ (self, parent=None):
|
||||
super(LinkCheckerDebug, self).__init__(parent)
|
||||
self.setupUi(self)
|
||||
self.textBrowser.setFontFamily("Consolas")
|
||||
self.connect(self, QtCore.SIGNAL("log_msg(QString)"), self.log_msg)
|
||||
|
||||
def log_msg (self, msg):
|
||||
text = self.textBrowser.toPlainText()
|
||||
self.textBrowser.setText(text+msg)
|
||||
self.textBrowser.moveCursor(QtGui.QTextCursor.End)
|
||||
self.textEdit.appendPlainText(msg)
|
||||
|
||||
def reset (self):
|
||||
self.textBrowser.setText(u"")
|
||||
|
||||
self.textEdit.clear()
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Form implementation generated from reading ui file 'ui/debug.ui'
|
||||
#
|
||||
# Created: Thu Oct 14 20:54:43 2010
|
||||
# Created: Sat Oct 16 19:17:16 2010
|
||||
# by: PyQt4 UI code generator 4.7.3
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
|
@ -22,9 +22,12 @@ class Ui_DebugDialog(object):
|
|||
self.frame.setObjectName("frame")
|
||||
self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.textBrowser = QtGui.QTextBrowser(self.frame)
|
||||
self.textBrowser.setObjectName("textBrowser")
|
||||
self.verticalLayout_2.addWidget(self.textBrowser)
|
||||
self.textEdit = QtGui.QPlainTextEdit(self.frame)
|
||||
self.textEdit.setUndoRedoEnabled(False)
|
||||
self.textEdit.setReadOnly(True)
|
||||
self.textEdit.setPlainText("None")
|
||||
self.textEdit.setObjectName("textEdit")
|
||||
self.verticalLayout_2.addWidget(self.textEdit)
|
||||
self.verticalLayout.addWidget(self.frame)
|
||||
|
||||
self.retranslateUi(DebugDialog)
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
# Form implementation generated from reading ui file 'ui/options.ui'
|
||||
#
|
||||
# Created: Wed Mar 4 21:31:00 2009
|
||||
# by: PyQt4 UI code generator 4.4.4
|
||||
# Created: Thu Oct 14 21:28:53 2010
|
||||
# by: PyQt4 UI code generator 4.7.3
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
|
|
@ -12,65 +12,81 @@ from PyQt4 import QtCore, QtGui
|
|||
class Ui_Options(object):
|
||||
def setupUi(self, Options):
|
||||
Options.setObjectName("Options")
|
||||
Options.resize(306, 255)
|
||||
self.resetButton = QtGui.QPushButton(Options)
|
||||
self.resetButton.setGeometry(QtCore.QRect(200, 220, 91, 27))
|
||||
self.resetButton.setObjectName("resetButton")
|
||||
Options.resize(299, 179)
|
||||
self.verticalLayout = QtGui.QVBoxLayout(Options)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.frame = QtGui.QFrame(Options)
|
||||
self.frame.setGeometry(QtCore.QRect(9, 9, 288, 201))
|
||||
self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
|
||||
self.frame.setFrameShadow(QtGui.QFrame.Raised)
|
||||
self.frame.setObjectName("frame")
|
||||
self.formLayout = QtGui.QFormLayout(self.frame)
|
||||
self.formLayout.setObjectName("formLayout")
|
||||
self.label = QtGui.QLabel(self.frame)
|
||||
self.label.setObjectName("label")
|
||||
self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.label)
|
||||
self.recursionlevel = QtGui.QSpinBox(self.frame)
|
||||
self.recursionlevel.setGeometry(QtCore.QRect(130, 20, 46, 23))
|
||||
self.recursionlevel.setMinimum(-1)
|
||||
self.recursionlevel.setMaximum(100)
|
||||
self.recursionlevel.setProperty("value", QtCore.QVariant(-1))
|
||||
self.recursionlevel.setProperty("value", -1)
|
||||
self.recursionlevel.setObjectName("recursionlevel")
|
||||
self.label = QtGui.QLabel(self.frame)
|
||||
self.label.setGeometry(QtCore.QRect(30, 20, 111, 20))
|
||||
self.label.setObjectName("label")
|
||||
self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.recursionlevel)
|
||||
self.label_2 = QtGui.QLabel(self.frame)
|
||||
self.label_2.setGeometry(QtCore.QRect(30, 60, 91, 17))
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.label_3 = QtGui.QLabel(self.frame)
|
||||
self.label_3.setGeometry(QtCore.QRect(30, 100, 48, 17))
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.timeout = QtGui.QSpinBox(self.frame)
|
||||
self.timeout.setGeometry(QtCore.QRect(130, 100, 81, 23))
|
||||
self.timeout.setMinimum(2)
|
||||
self.timeout.setMaximum(300)
|
||||
self.timeout.setProperty("value", QtCore.QVariant(60))
|
||||
self.timeout.setObjectName("timeout")
|
||||
self.label_5 = QtGui.QLabel(self.frame)
|
||||
self.label_5.setGeometry(QtCore.QRect(30, 140, 101, 17))
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.threads = QtGui.QSpinBox(self.frame)
|
||||
self.threads.setGeometry(QtCore.QRect(130, 140, 46, 23))
|
||||
self.threads.setMinimum(1)
|
||||
self.threads.setMaximum(20)
|
||||
self.threads.setProperty("value", QtCore.QVariant(10))
|
||||
self.threads.setObjectName("threads")
|
||||
self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_2)
|
||||
self.verbose = QtGui.QCheckBox(self.frame)
|
||||
self.verbose.setEnabled(True)
|
||||
self.verbose.setGeometry(QtCore.QRect(130, 60, 31, 22))
|
||||
self.verbose.setText("")
|
||||
self.verbose.setObjectName("verbose")
|
||||
self.closeButton = QtGui.QPushButton(Options)
|
||||
self.closeButton.setGeometry(QtCore.QRect(10, 220, 75, 27))
|
||||
self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.verbose)
|
||||
self.label_3 = QtGui.QLabel(self.frame)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_3)
|
||||
self.timeout = QtGui.QSpinBox(self.frame)
|
||||
self.timeout.setMinimum(2)
|
||||
self.timeout.setMaximum(300)
|
||||
self.timeout.setProperty("value", 60)
|
||||
self.timeout.setObjectName("timeout")
|
||||
self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.timeout)
|
||||
self.label_5 = QtGui.QLabel(self.frame)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_5)
|
||||
self.threads = QtGui.QSpinBox(self.frame)
|
||||
self.threads.setMinimum(1)
|
||||
self.threads.setMaximum(20)
|
||||
self.threads.setProperty("value", 10)
|
||||
self.threads.setObjectName("threads")
|
||||
self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.threads)
|
||||
self.label_4 = QtGui.QLabel(self.frame)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_4)
|
||||
self.debug = QtGui.QCheckBox(self.frame)
|
||||
self.debug.setText("")
|
||||
self.debug.setObjectName("debug")
|
||||
self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.debug)
|
||||
self.verticalLayout.addWidget(self.frame)
|
||||
self.widget = QtGui.QWidget(Options)
|
||||
self.widget.setObjectName("widget")
|
||||
self.horizontalLayout = QtGui.QHBoxLayout(self.widget)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.resetButton = QtGui.QPushButton(self.widget)
|
||||
self.resetButton.setObjectName("resetButton")
|
||||
self.horizontalLayout.addWidget(self.resetButton)
|
||||
self.closeButton = QtGui.QPushButton(self.widget)
|
||||
self.closeButton.setObjectName("closeButton")
|
||||
self.horizontalLayout.addWidget(self.closeButton)
|
||||
self.verticalLayout.addWidget(self.widget)
|
||||
|
||||
self.retranslateUi(Options)
|
||||
QtCore.QMetaObject.connectSlotsByName(Options)
|
||||
|
||||
def retranslateUi(self, Options):
|
||||
Options.setWindowTitle(_("Dialog"))
|
||||
self.resetButton.setToolTip(_("Reset all options to default values."))
|
||||
self.resetButton.setText(_("Reset"))
|
||||
self.recursionlevel.setToolTip(_("Check recursively all links up to given depth. A negative depth will enable infinite recursion."))
|
||||
self.label.setToolTip(_("Check recursively all links up to given depth. A negative depth will enable infinite recursion."))
|
||||
self.label.setText(_("Recursive depth"))
|
||||
self.recursionlevel.setToolTip(_("Check recursively all links up to given depth. A negative depth will enable infinite recursion."))
|
||||
self.label_2.setToolTip(_("Log all checked URLs once. Default is to log only errors and warnings."))
|
||||
self.label_2.setText(_("Verbose output"))
|
||||
self.verbose.setToolTip(_("Log all checked URLs once. Default is to log only errors and warnings."))
|
||||
self.label_3.setToolTip(_("Set the timeout for connection attempts in seconds."))
|
||||
self.label_3.setText(_("Timeout"))
|
||||
self.timeout.setToolTip(_("Set the timeout for connection attempts in seconds."))
|
||||
|
|
@ -78,6 +94,8 @@ class Ui_Options(object):
|
|||
self.label_5.setToolTip(_("Generate no more than the given number of threads."))
|
||||
self.label_5.setText(_("Number of threads"))
|
||||
self.threads.setToolTip(_("Generate no more than the given number of threads."))
|
||||
self.verbose.setToolTip(_("Log all checked URLs once. Default is to log only errors and warnings."))
|
||||
self.label_4.setText(_("Debug"))
|
||||
self.resetButton.setToolTip(_("Reset all options to default values."))
|
||||
self.resetButton.setText(_("Reset"))
|
||||
self.closeButton.setText(_("Close"))
|
||||
|
||||
|
|
|
|||
|
|
@ -37,4 +37,5 @@ class LinkCheckerOptions (QtGui.QDialog, Ui_Options):
|
|||
self.verbose.setChecked(config["verbose"])
|
||||
self.threads.setValue(config["threads"])
|
||||
self.timeout.setValue(config["timeout"])
|
||||
self.debug.setChecked(False)
|
||||
del config
|
||||
|
|
|
|||
|
|
@ -27,7 +27,17 @@
|
|||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QTextBrowser" name="textBrowser"/>
|
||||
<widget class="QPlainTextEdit" name="textEdit">
|
||||
<property name="undoRedoEnabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="plainText">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
|
|
|||
|
|
@ -1,214 +1,173 @@
|
|||
<ui version="4.0" >
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Options</class>
|
||||
<widget class="QDialog" name="Options" >
|
||||
<property name="geometry" >
|
||||
<widget class="QDialog" name="Options">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>306</width>
|
||||
<height>255</height>
|
||||
<width>299</width>
|
||||
<height>179</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<widget class="QPushButton" name="resetButton" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>200</x>
|
||||
<y>220</y>
|
||||
<width>91</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Reset all options to default values.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Reset</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frame" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>9</x>
|
||||
<y>9</y>
|
||||
<width>288</width>
|
||||
<height>201</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape" >
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow" >
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QSpinBox" name="recursionlevel" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>20</y>
|
||||
<width>46</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Check recursively all links up to given depth. A negative depth will enable infinite recursion.</string>
|
||||
</property>
|
||||
<property name="minimum" >
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="maximum" >
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value" >
|
||||
<number>-1</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>20</y>
|
||||
<width>111</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Check recursively all links up to given depth. A negative depth will enable infinite recursion.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Recursive depth</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>60</y>
|
||||
<width>91</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Log all checked URLs once. Default is to log only errors and warnings.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Verbose output</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>100</y>
|
||||
<width>48</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Set the timeout for connection attempts in seconds.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Timeout</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="timeout" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>100</y>
|
||||
<width>81</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Set the timeout for connection attempts in seconds.</string>
|
||||
</property>
|
||||
<property name="suffix" >
|
||||
<string> seconds</string>
|
||||
</property>
|
||||
<property name="minimum" >
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="maximum" >
|
||||
<number>300</number>
|
||||
</property>
|
||||
<property name="value" >
|
||||
<number>60</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>140</y>
|
||||
<width>101</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Generate no more than the given number of threads.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Number of threads</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="threads" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>140</y>
|
||||
<width>46</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Generate no more than the given number of threads.</string>
|
||||
</property>
|
||||
<property name="minimum" >
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum" >
|
||||
<number>20</number>
|
||||
</property>
|
||||
<property name="value" >
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="verbose" >
|
||||
<property name="enabled" >
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>60</y>
|
||||
<width>31</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip" >
|
||||
<string>Log all checked URLs once. Default is to log only errors and warnings.</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="closeButton" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>220</y>
|
||||
<width>75</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="toolTip">
|
||||
<string>Check recursively all links up to given depth. A negative depth will enable infinite recursion.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Recursive depth</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="recursionlevel">
|
||||
<property name="toolTip">
|
||||
<string>Check recursively all links up to given depth. A negative depth will enable infinite recursion.</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="toolTip">
|
||||
<string>Log all checked URLs once. Default is to log only errors and warnings.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Verbose output</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="verbose">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Log all checked URLs once. Default is to log only errors and warnings.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="toolTip">
|
||||
<string>Set the timeout for connection attempts in seconds.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Timeout</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="timeout">
|
||||
<property name="toolTip">
|
||||
<string>Set the timeout for connection attempts in seconds.</string>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> seconds</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>300</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>60</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="toolTip">
|
||||
<string>Generate no more than the given number of threads.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Number of threads</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QSpinBox" name="threads">
|
||||
<property name="toolTip">
|
||||
<string>Generate no more than the given number of threads.</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Debug</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="debug">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="resetButton">
|
||||
<property name="toolTip">
|
||||
<string>Reset all options to default values.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="closeButton">
|
||||
<property name="text">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue