Beispiel #1
0
 def addSpellDialog(self, qitem=None):
     vdict = MispellQuirkDialog(self).getPercentage()
     if vdict is None:
         return
     vdict["type"] = "spelling"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
Beispiel #2
0
 def addSpellDialog(self, qitem=None):
     vdict = MispellQuirkDialog(self).getPercentage()
     if vdict is None:
         return
     vdict["type"] = "spelling"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
Beispiel #3
0
 def addSuffixDialog(self, qitem=None):
     d = {"label": "Value:", "inputname": "value"}
     if qitem is not None:
         d["value"] = qitem.quirk.quirk["value"]
     vdict = MultiTextDialog("ENTER SUFFIX", self, d).getText()
     if vdict is None:
         return
     vdict["type"] = "suffix"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
Beispiel #4
0
 def addPrefixDialog(self, qitem=None):
     d = {"label": "Value:", "inputname": "value"}
     if qitem is not None:
         d["value"] = qitem.quirk.quirk["value"]
     pdict = MultiTextDialog("ENTER PREFIX", self, d).getText()
     if pdict is None:
         return
     pdict["type"] = "prefix"
     prefix = pesterQuirk(pdict)
     if qitem is None:
         pitem = PesterQuirkItem(prefix, self.quirkList)
         self.quirkList.addItem(pitem)
     else:
         qitem.update(prefix)
Beispiel #5
0
 def addSuffixDialog(self, qitem=None):
     d = {"label": "Value:", "inputname": "value" }
     if qitem is not None:
         d["value"] = qitem.quirk.quirk["value"]
     vdict = MultiTextDialog("ENTER SUFFIX", self, d).getText()
     if vdict is None:
         return
     vdict["type"] = "suffix"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
Beispiel #6
0
 def addPrefixDialog(self, qitem=None):
     d = {"label": "Value:", "inputname": "value" }
     if qitem is not None:
         d["value"] = qitem.quirk.quirk["value"]
     pdict = MultiTextDialog("ENTER PREFIX", self, d).getText()
     if pdict is None:
         return
     pdict["type"] = "prefix"
     prefix = pesterQuirk(pdict)
     if qitem is None:
         pitem = PesterQuirkItem(prefix, self.quirkList)
         self.quirkList.addItem(pitem)
     else:
         qitem.update(prefix)
Beispiel #7
0
 def addSimpleReplaceDialog(self, qitem=None):
     d = [{"label": "Replace:", "inputname": "from"}, {"label": "With:", "inputname": "to"}]
     if qitem is not None:
         d[0]["value"] = qitem.quirk.quirk["from"]
         d[1]["value"] = qitem.quirk.quirk["to"]
     vdict = MultiTextDialog("REPLACE", self, *d).getText()
     if vdict is None:
         return
     vdict["type"] = "replace"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
Beispiel #8
0
 def addSimpleReplaceDialog(self, qitem=None):
     d = [{
         "label": "Replace:",
         "inputname": "from"
     }, {
         "label": "With:",
         "inputname": "to"
     }]
     if qitem is not None:
         d[0]["value"] = qitem.quirk.quirk["from"]
         d[1]["value"] = qitem.quirk.quirk["to"]
     vdict = MultiTextDialog("REPLACE", self, *d).getText()
     if vdict is None:
         return
     vdict["type"] = "replace"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
Beispiel #9
0
class PesterChooseQuirks(QtGui.QDialog):
    def __init__(self, config, theme, parent):
        QtGui.QDialog.__init__(self, parent)
        self.setModal(False)
        self.config = config
        self.theme = theme
        self.mainwindow = parent
        self.setStyleSheet(self.theme["main/defaultwindow/style"])
        self.setWindowTitle("Set Quirks")

        self.quirkList = PesterQuirkList(self.mainwindow, self)

        self.addPrefixButton = QtGui.QPushButton("ADD PREFIX", self)
        self.connect(self.addPrefixButton, QtCore.SIGNAL('clicked()'), self,
                     QtCore.SLOT('addPrefixDialog()'))
        self.addSuffixButton = QtGui.QPushButton("ADD SUFFIX", self)
        self.connect(self.addSuffixButton, QtCore.SIGNAL('clicked()'), self,
                     QtCore.SLOT('addSuffixDialog()'))
        self.addSimpleReplaceButton = QtGui.QPushButton("SIMPLE REPLACE", self)
        self.connect(self.addSimpleReplaceButton, QtCore.SIGNAL('clicked()'),
                     self, QtCore.SLOT('addSimpleReplaceDialog()'))
        self.addRegexpReplaceButton = QtGui.QPushButton("REGEXP REPLACE", self)
        self.connect(self.addRegexpReplaceButton, QtCore.SIGNAL('clicked()'),
                     self, QtCore.SLOT('addRegexpDialog()'))
        self.addRandomReplaceButton = QtGui.QPushButton("RANDOM REPLACE", self)
        self.connect(self.addRandomReplaceButton, QtCore.SIGNAL('clicked()'),
                     self, QtCore.SLOT('addRandomDialog()'))

        self.addMispellingButton = QtGui.QPushButton("MISPELLER", self)
        self.connect(self.addMispellingButton, QtCore.SIGNAL('clicked()'),
                     self, QtCore.SLOT('addSpellDialog()'))

        layout_1 = QtGui.QHBoxLayout()
        layout_1.addWidget(self.addPrefixButton)
        layout_1.addWidget(self.addSuffixButton)
        layout_1.addWidget(self.addSimpleReplaceButton)
        layout_2 = QtGui.QHBoxLayout()
        layout_2.addWidget(self.addRegexpReplaceButton)
        layout_2.addWidget(self.addRandomReplaceButton)
        layout_2.addWidget(self.addMispellingButton)

        self.editSelectedButton = QtGui.QPushButton("EDIT", self)
        self.connect(self.editSelectedButton, QtCore.SIGNAL('clicked()'), self,
                     QtCore.SLOT('editSelected()'))
        self.removeSelectedButton = QtGui.QPushButton("REMOVE", self)
        self.connect(self.removeSelectedButton, QtCore.SIGNAL('clicked()'),
                     self.quirkList, QtCore.SLOT('removeCurrent()'))
        layout_3 = QtGui.QHBoxLayout()
        layout_3.addWidget(self.editSelectedButton)
        layout_3.addWidget(self.removeSelectedButton)

        self.ok = QtGui.QPushButton("OK", self)
        self.ok.setDefault(True)
        self.connect(self.ok, QtCore.SIGNAL('clicked()'), self,
                     QtCore.SLOT('accept()'))
        self.cancel = QtGui.QPushButton("CANCEL", self)
        self.connect(self.cancel, QtCore.SIGNAL('clicked()'), self,
                     QtCore.SLOT('reject()'))
        layout_ok = QtGui.QHBoxLayout()
        layout_ok.addWidget(self.cancel)
        layout_ok.addWidget(self.ok)

        layout_0 = QtGui.QVBoxLayout()
        layout_0.addWidget(self.quirkList)
        layout_0.addLayout(layout_1)
        layout_0.addLayout(layout_2)
        layout_0.addLayout(layout_3)
        layout_0.addLayout(layout_ok)
        self.setLayout(layout_0)

    def quirks(self):
        return [
            self.quirkList.item(i).quirk
            for i in range(0, self.quirkList.count())
        ]

    @QtCore.pyqtSlot()
    def editSelected(self):
        q = self.quirkList.currentQuirk()
        quirk = q.quirk
        if quirk.type == "prefix":
            self.addPrefixDialog(q)
        elif quirk.type == "suffix":
            self.addSuffixDialog(q)
        elif quirk.type == "replace":
            self.addSimpleReplaceDialog(q)
        elif quirk.type == "regexp":
            self.addRegexpDialog(q)
        elif quirk.type == "random":
            self.addRandomDialog(q)
        elif quirk.type == "spelling":
            self.addSpellDialog(q)

    @QtCore.pyqtSlot()
    def addPrefixDialog(self, qitem=None):
        d = {"label": "Value:", "inputname": "value"}
        if qitem is not None:
            d["value"] = qitem.quirk.quirk["value"]
        pdict = MultiTextDialog("ENTER PREFIX", self, d).getText()
        if pdict is None:
            return
        pdict["type"] = "prefix"
        prefix = pesterQuirk(pdict)
        if qitem is None:
            pitem = PesterQuirkItem(prefix, self.quirkList)
            self.quirkList.addItem(pitem)
        else:
            qitem.update(prefix)
        #self.quirkList.sortItems()

    @QtCore.pyqtSlot()
    def addSuffixDialog(self, qitem=None):
        d = {"label": "Value:", "inputname": "value"}
        if qitem is not None:
            d["value"] = qitem.quirk.quirk["value"]
        vdict = MultiTextDialog("ENTER SUFFIX", self, d).getText()
        if vdict is None:
            return
        vdict["type"] = "suffix"
        newquirk = pesterQuirk(vdict)
        if qitem is None:
            item = PesterQuirkItem(newquirk, self.quirkList)
            self.quirkList.addItem(item)
        else:
            qitem.update(newquirk)
        #self.quirkList.sortItems()

    @QtCore.pyqtSlot()
    def addSimpleReplaceDialog(self, qitem=None):
        d = [{
            "label": "Replace:",
            "inputname": "from"
        }, {
            "label": "With:",
            "inputname": "to"
        }]
        if qitem is not None:
            d[0]["value"] = qitem.quirk.quirk["from"]
            d[1]["value"] = qitem.quirk.quirk["to"]
        vdict = MultiTextDialog("REPLACE", self, *d).getText()
        if vdict is None:
            return
        vdict["type"] = "replace"
        newquirk = pesterQuirk(vdict)
        if qitem is None:
            item = PesterQuirkItem(newquirk, self.quirkList)
            self.quirkList.addItem(item)
        else:
            qitem.update(newquirk)
        #self.quirkList.sortItems()

    @QtCore.pyqtSlot()
    def addRegexpDialog(self, qitem=None):
        d = [{
            "label": "Regexp:",
            "inputname": "from"
        }, {
            "label": "Replace With:",
            "inputname": "to"
        }]
        if qitem is not None:
            d[0]["value"] = qitem.quirk.quirk["from"]
            d[1]["value"] = qitem.quirk.quirk["to"]
        vdict = MultiTextDialog("REGEXP REPLACE", self, *d).getText()
        if vdict is None:
            return
        vdict["type"] = "regexp"
        try:
            re.compile(vdict["from"])
        except re.error, e:
            quirkWarning = QtGui.QMessageBox(self)
            quirkWarning.setText("Not a valid regular expression!")
            quirkWarning.setInformativeText("H3R3S WHY DUMP4SS: %s" % (e))
            quirkWarning.exec_()
            return

        newquirk = pesterQuirk(vdict)
        if qitem is None:
            item = PesterQuirkItem(newquirk, self.quirkList)
            self.quirkList.addItem(item)
        else:
            qitem.update(newquirk)
Beispiel #10
0
     if qitem is not None:
         values["list"] = qitem.quirk.quirk["randomlist"]
         values["regexp"] = qitem.quirk.quirk["from"]
     vdict = RandomQuirkDialog(self, values).getText()
     if vdict is None:
         return
     vdict["type"] = "random"
     try:
         re.compile(vdict["from"])
     except re.error, e:
         quirkWarning = QtGui.QMessageBox(self)
         quirkWarning.setText("Not a valid regular expression!")
         quirkWarning.setInformativeText("H3R3S WHY DUMP4SS: %s" % (e))
         quirkWarning.exec_()
         return
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
     #self.quirkList.sortItems()
 @QtCore.pyqtSlot()
 def addSpellDialog(self, qitem=None):
     vdict = MispellQuirkDialog(self).getPercentage()
     if vdict is None:
         return
     vdict["type"] = "spelling"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
Beispiel #11
0
     if qitem is not None:
         values["list"] = qitem.quirk.quirk["randomlist"]
         values["regexp"] = qitem.quirk.quirk["from"]
     vdict = RandomQuirkDialog(self, values).getText()
     if vdict is None:
         return
     vdict["type"] = "random"
     try:
         re.compile(vdict["from"])
     except re.error, e:
         quirkWarning = QtGui.QMessageBox(self)
         quirkWarning.setText("Not a valid regular expression!")
         quirkWarning.setInformativeText("H3R3S WHY DUMP4SS: %s" % (e))
         quirkWarning.exec_()
         return
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)
         self.quirkList.addItem(item)
     else:
         qitem.update(newquirk)
     #self.quirkList.sortItems()
 @QtCore.pyqtSlot()
 def addSpellDialog(self, qitem=None):
     vdict = MispellQuirkDialog(self).getPercentage()
     if vdict is None:
         return
     vdict["type"] = "spelling"
     newquirk = pesterQuirk(vdict)
     if qitem is None:
         item = PesterQuirkItem(newquirk, self.quirkList)