예제 #1
0
 def __init__(self, parent=None):
     super(NeueSprache, self).__init__(parent)
     QtGui.QWidget.__init__(self, parent=None)
     self.setupUi(self)
     self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")
     self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), QtCore.SLOT('close()'))
     self.connect(self.btnAnlegen, QtCore.SIGNAL("clicked()"), self.anlegen)
예제 #2
0
    def __init__(self, parent):
        super(Woerterbuch, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)
        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")
        self.connect(self.cBSprache, QtCore.SIGNAL("activated(int)"), self.rewrite_books)
        self.connect(self.cbColor, QtCore.SIGNAL("clicked()"), self.colorisedListener)
        self.connect(self.cbSolid, QtCore.SIGNAL("clicked()"), self.colorisedListener)
        self.connect(self.cbSufficient, QtCore.SIGNAL("clicked()"), self.colorisedListener)
        self.connect(self.cbMiserable, QtCore.SIGNAL("clicked()"), self.colorisedListener)
        self.connect(self.cBBuch, QtCore.SIGNAL("activated(int)"), self.redraw_table)
        self.connect(self.chBBuch, QtCore.SIGNAL("clicked()"), self.redraw_table)
        self.connect(self.tfSuche, QtCore.SIGNAL("textChanged(QString)"), self.redraw_table)
        self.connect(self.btnBearbeiten, QtCore.SIGNAL("clicked()"), self.edit_selection)

        self.headerDaten = ['Buch', 'Lektion', 'Deutsch', 'Fremdsprache']

        datenSprache = self.Datenbank.getDataAsQStringList("select fremdsprache, id from SPRACHE")
        modelSprache = QtGui.QStringListModel(datenSprache)
        self.cBSprache.setModel(modelSprache)
        self.rewrite_books()
        self.tVWoerterbuch.setSelectionBehavior(QtGui.QTableView.SelectRows)
        self.tVWoerterbuch.setSelectionMode(QtGui.QTableView.SingleSelection)
        self.tVWoerterbuch.doubleClicked.connect(self.edit_selection)
        self.EditWindow = None
예제 #3
0
    def __init__(self, vokabelId, debug=False):
        self.vokabelId = vokabelId
        if debug == 0:
            self.debug = False
        else:
            self.debug = True

        if self.debug:
            print "Vokabelid: " +str(self.vokabelId)

        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        #sprache finden

        statement = "select sprache.id from sprache " \
                    "join buecher on (buecher.id_sprache=sprache.id) " \
                    "join lektionen on (lektionen.idbuch=buecher.id) " \
                    "join vokabeln on (vokabeln.idlektion=lektionen.id) " \
                    "where vokabeln.id like "+str(vokabelId)
        self.spracheId = self.datenbank.getDataAsList(statement)[0][0]

        #self.lekionsId = lektionsId



        """
예제 #4
0
    def __init__(self, parent, float_richtige, int_gesamtanzahl, int_liste_lektionen, sonderlektion):
        super(Auswertung, self).__init__(parent)
        self.parent = parent
        self.sonderlektion = sonderlektion
        QtGui.QWidget.__init__(self)
        self.setupUi(self)
        self.connect(self.PbSchliessen, QtCore.SIGNAL("clicked()"), self.fenster_schliessen)
        self.connect(self.pbStatistik, QtCore.SIGNAL("clicked()"), self.statistik_aufrufen)

        self.labRichtigBeantwortete.setText(str(float_richtige)+" von "+str(int_gesamtanzahl)+" richtig beantwortet")
        if float_richtige == 0:
            self.labInProz.setText("Das entspricht 0%")
        else:
            float_anzahl_richtiger_prozent = round(float(float_richtige)/int_gesamtanzahl*100, 2)
            self.labInProz.setText("Das entspricht "+str(float_anzahl_richtiger_prozent)+"%")

        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        insert = "insert into Statistik (datum, richtig, gesamt, lektionen) \
        values ('"+str(Datum.date.today())+"', '"+str(float_richtige)+"',  '"+str(int_gesamtanzahl)+"',  \
        '"+str(self.__liste_to_string(int_liste_lektionen))+"')"

        if not self.sonderlektion:
            self.datenbank.setData(insert)

        if not self.sonderlektion:
            #update lektion zuletztAbgefragt

            updateStatement = "update lektionen set zuletztAbgefragt='"+str(Datum.date.today())+"' where "
            for i in int_liste_lektionen:
                updateStatement = updateStatement + " id like "+str(i)+" or "

            updateStatement = updateStatement[:-3]
            #print(updateStatement)
            self.datenbank.setData(updateStatement)
예제 #5
0
    def __init__(self, parent):
        super(AbfrageEinstellungen, self).__init__(parent)
        QtGui.QWidget.__init__(self)
        self.setupUi(self)
        self.parent = parent
        self.abfrage_einstellung = 0
        self.lektions_liste = []
        self.labKeineLektionGewaehlt.hide()
        
        self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), self.close)
        self.connect(self.cbSprache, QtCore.SIGNAL("activated(int)"), self.BuchZeichnen)
        self.connect(self.cbSprache, QtCore.SIGNAL("activated(int)"), self.Abfragerichtung)
        self.connect(self.cBBuch, QtCore.SIGNAL("activated(int)"), self.LektionZeichnen)
        self.connect(self.btnLektionZuAbfrageHinzu, QtCore.SIGNAL("clicked()"), self.LektionZuAbfrageHinzu)
        self.connect(self.btnLektionLoeschen, QtCore.SIGNAL("clicked()"), self.LektionTrennen)
        self.connect(self.btnAbfrageStarten, QtCore.SIGNAL("clicked()"), self.AbfrageStarten)
        self.connect(self.tfHaeufigkeit, QtCore.SIGNAL("textChanged(QString)"), self.AnzahlAbfragenPaint)
        self.connect(self.btnBuchZuAbfrage, QtCore.SIGNAL("clicked()"), self.BuchZuAbfrageHinzu)

        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        self.sonderCheck = False #keine Sondervokabeln dabei
        self.normalCheck = False #keine normalen Vokabeln dabei

        statement = "select meintenSie, rgva, warteZeit, haeufigkeit, richtung, wiederholen, " \
                    "distanz, zeitZeigen, warteZeitRichtig from Einstellungen where id like 1"
        voreinstellungen = self.datenbank.getDataAsList(statement)

        self.zeitPro10Voks = self.datenbank.getDataAsList("select secPro10Vok from zeit")[0][0]
        #print self.zeitPro10Voks
        
        if voreinstellungen[0][0] == "True":
            self.chBMeintenSie.setChecked(True)
        else:
            self.chBMeintenSie.setChecked(False)
        
        if voreinstellungen[0][1] == "True":
            self.chBRichtigGeschriebeneAnzeigen.setChecked(True)
        else:
            self.chBRichtigGeschriebeneAnzeigen.setChecked(False)

        if voreinstellungen[0][7] == "True":
            self.chShowTime.setChecked(True)
        else:
            self.chShowTime.setChecked(False)

        self.tfZeitWarten.setText(str(voreinstellungen[0][2]))
        self.tfHaeufigkeit.setText(str(voreinstellungen[0][3]))
        self.tfDistanz.setText(str(voreinstellungen[0][6]))
        self.tfZeitWartenRichtig.setText(str(voreinstellungen[0][8]))
        
        self.richtung = voreinstellungen[0][4]
        self.labEstTime.setWordWrap(True)


        self.SpracheZeichnen()
        self.Abfragerichtung()
        self.windowAbfrage = None
예제 #6
0
    def __init__(self, widgetToUpdate=""):
        threading.Thread.__init__(self)
        self.widgetToUpdate = widgetToUpdate
        self.zeit = 0 #in seconds
        self.widgetToUpdate.setText("00:00:00, verbleibende Zeit: 00:00:00")
        self.remainVoks = 5
        self.remainTime = ""

        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")
        self.zeit10Vok = self.datenbank.getDataAsList("select secPro10Vok from zeit")[0][0]

        self.killFlag = False
예제 #7
0
    def __init__(self, parent):
        super(NeuesBuch, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)
        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), QtCore.SLOT('close()'))
        self.connect(self.btnAnlegen, QtCore.SIGNAL("clicked()"), self.anlegen)
        
        daten = self.Datenbank.getDataAsQStringList("select fremdsprache, id from SPRACHE")
        model = QtGui.QStringListModel(daten)
        self.cBSprache.setModel(model)
예제 #8
0
    def __init__(self, model, pool):
        super(CrowdCounter, self).__init__()
        if model == 'base':
            from models.base import base
            self.DME = base(pool)
        if model == 'wide':
            from models.wide import wide
            self.DME = wide(pool)
        if model == 'deep':
            from models.deep import deep
            self.DME = deep(pool)

        self.loss_fn = nn.MSELoss()
예제 #9
0
    def __init__(self, parent):
        super(NeueLektion, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)      
        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")
         
        self.connect(self.btnAbbrechn, QtCore.SIGNAL("clicked()"), QtCore.SLOT("close()"))
        self.connect(self.btnAnwenden, QtCore.SIGNAL("clicked()"), self.LektionAnlegen)
        self.connect(self.btnAnwendenSchliessen, QtCore.SIGNAL("clicked()"), self.LektionAnlegenUndSchliessen)
        self.connect(self.cBSprache, QtCore.SIGNAL("activated(int)"), self.LektionenNeueSchreiben)

        datenSprache = self.Datenbank.getDataAsQStringList("select fremdsprache, id from SPRACHE")
        modelSprache = QtGui.QStringListModel(datenSprache)
        self.cBSprache.setModel(modelSprache)
        
        self.LektionenNeueSchreiben()
예제 #10
0
    def __init__(self, parent):
        super(SpracheAendern, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)

        self.connect(self.cBSpracheAuswaehlen, QtCore.SIGNAL("activated(int)"), self.TextfeldNeuZeichen)
        self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), QtCore.SLOT('close()'))
        self.connect(self.btnSpeichernUndSchliessen, QtCore.SIGNAL("clicked()"), self.Speichern)
        self.connect(self.btnLoeschenUSchliessen, QtCore.SIGNAL("clicked()"), self.loeschenClicked)

        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        daten = self.Datenbank.getDataAsQStringList("select fremdsprache, id from Sprache")
        model = QtGui.QStringListModel(daten)
        self.cBSpracheAuswaehlen.setModel(model)
        self.TextfeldNeuZeichen()
        self.tfNeuerName.setFocus()
예제 #11
0
    def __init__(self, parent):
        super(BuchAendern, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)      
        
       
        self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), QtCore.SLOT('close()'))
        self.connect(self.cBSpracheAuswaehlen, QtCore.SIGNAL("activated(int)"), self.BuecherNeuZeichen)
        self.connect(self.cbBuchAuswaehlen, QtCore.SIGNAL("activated(int)"), self.TextfeldNeuZeichen)
        self.connect(self.btnSpeichernUndSchliessen, QtCore.SIGNAL("clicked()"), self.Speichern)
        self.connect(self.btnBuchLoeschen, QtCore.SIGNAL('clicked()'), self.loeschenClicked)

        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite") 
        
        self.SpracheNeuZeichnen()
        self.TextfeldNeuZeichen()
        self.tfNeuerName.setFocus()
예제 #12
0
    def __init__(self, parent):
        super(FormhinweiseAendern, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)      

        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        # self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), QtCore.SLOT('close()'))
        # self.connect(self.cBSpracheAuswaehlen, QtCore.SIGNAL("activated(int)"), self.BuecherNeuZeichen)
        # self.connect(self.cbBuchAuswaehlen, QtCore.SIGNAL("activated(int)"), self.TextfeldNeuZeichen)
        # self.connect(self.btnSpeichernUndSchliessen, QtCore.SIGNAL("clicked()"), self.Speichern)
        # self.connect(self.btnBuchLoeschen, QtCore.SIGNAL('clicked()'), self.loeschenClicked)
        self.connect(self.cBSpracheAuswaehlen, QtCore.SIGNAL("activated(int)"), self.preSelectNewLanguage)
        self.connect(self.cBSpracheAuswaehlen, QtCore.SIGNAL("activated(int)"), self.paintHints)
        self.connect(self.cbGrammarHint, QtCore.SIGNAL("activated(int)"), self.preSelectTextfield)
        self.connect(self.btnSpeichernUndSchliessen, QtCore.SIGNAL("clicked()"), self.saveAndExit)


        self.paintLanguage()
    def __init__(self, parent=None):
        super(MindestTreffer, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)

        self.connect(self.lENeuerWert, QtCore.SIGNAL("textChanged(QString)"), self.updateHSlider)
        self.connect(self.hSNeuerWert, QtCore.SIGNAL("actionTriggered(int)"), self.updateLineEdit)
        self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), self.abbrechen)
        self.connect(self.btnSpeichernUSchliessen, QtCore.SIGNAL("clicked()"), self.speichernUSchiessen)

        self.hSNeuerWert.setMinimum(50)
        self.hSNeuerWert.setMaximum(100)

        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        self.minTrefferAlt = self.datenbank.getDataAsList("select mindesttreffer from einstellungen")[0][0]

        self.lENeuerWert.setText(str(self.minTrefferAlt))
        self.lENeuerWert.selectAll()

        self.newPaint()
예제 #14
0
    def __init__(self, parent):
        super(NeueVokabelAnlegen, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)  
        
        self.connect(self.cBSprache, QtCore.SIGNAL("activated(int)"), self.BuchZeichnen)
        self.connect(self.cBSprache, QtCore.SIGNAL("activated(int)"), self.paintGrammar)
        self.connect(self.cBBuch, QtCore.SIGNAL("activated(int)"), self.LektionZeichnen)
        self.connect(self.cBLekion, QtCore.SIGNAL("activated(int)"), self.AnzVokabelnZeichen)
        self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), self.close)
        self.connect(self.btnAnwendenUndSchliessen, QtCore.SIGNAL("clicked()"), self.speichernUndSchliessen)
        self.connect(self.btnAnwenden, QtCore.SIGNAL("clicked()"), self.speichern)
        self.connect(self.pBFile, QtCore.SIGNAL("clicked()"), self.LoadFile)

        self.btnAnwenden.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Return))
        self.labFelderAusfuellen.setText("")

        self.pBFileVok.hide()
        
        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")
        self.SpracheZeichnen()
예제 #15
0
    def __init__(self, parent, VokabelId):
        super(WoerterbuchBearbeiten, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)
        self.parent = parent
        self.ersterDurchlauf = True
        self.vokabelid = VokabelId
        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")
        self.connect(self.btnAbbrechen, QtCore.SIGNAL("clicked()"), QtCore.SLOT('close()'))
        self.connect(self.cBSprache, QtCore.SIGNAL("activated(int)"), self.BuchMachen)
        self.connect(self.cBBuch, QtCore.SIGNAL("activated(int)"), self.LektionMachen)
        self.connect(self.btnAnwenden, QtCore.SIGNAL("clicked()"), self.neuenSatzSpeichern)
        #self.connect(self.btnVokabelLoeschen, QtCore.SIGNAL("clicked()"), self.delWithoutClose)
        self.connect(self.btnVokabelLoeschenUSchliessen, QtCore.SIGNAL("clicked()"), self.delete_with_close)

        
        
        statement = "select Buecher.id, Lektionen.id, vokabeln.id, sprache.id from sprache \
        join buecher on (sprache.id=buecher.id_sprache) \
        join lektionen on (lektionen.idBuch = buecher.id) \
        join vokabeln on (vokabeln.idlektion=lektionen.id) \
        where vokabeln.id like "+str(self.vokabelid)
        
        daten = self.Datenbank.getDataAsList(statement)
        self.BuchID = daten[0][0]
        self.LektionID = daten[0][1]
        self.VokabelID = daten[0][2]
        self.SpracheID = daten[0][3]
        
        self.SpracheMachen()
        vokabeln = self.Datenbank.getDataAsList("select deutsch, fremd, richtig, falsch, zuletztrichtig from vokabeln where id like "+str(self.VokabelID))
        self.tfDeutsch.setText(vokabeln[0][0])
        self.tfFremd.setText(vokabeln[0][1])
        self.labRichtig.setText(str(vokabeln[0][2]))
        self.labFalsch.setText(str(vokabeln[0][3]))

        if vokabeln[0][4] == 1:
            self.labZuletzt.setText("richtig")
        else:
            self.labZuletzt.setText("falsch")
예제 #16
0
    def __init__(self, parent):
        super(SonderWoerterbuch, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)
        self.Datenbank = Datenbank.base("VokabelDatenbank.sqlite")
        # self.connect(self.cBSprache, QtCore.SIGNAL("activated(int)"), self.BuecherNeuSchreiben)
        # self.connect(self.cBBuch, QtCore.SIGNAL("activated(int)"), self.TabelleNeuZeichnen)
        # self.connect(self.chBBuch, QtCore.SIGNAL("clicked()"), self.TabelleNeuZeichnen)
        self.connect(self.cBSprache, QtCore.SIGNAL("activated(int)"), self.TabelleNeuZeichnen)
        self.connect(self.cBSprache, QtCore.SIGNAL("clicked()"), self.TabelleNeuZeichnen)
        self.connect(self.tfSuche, QtCore.SIGNAL("textChanged(QString)"), self.TabelleNeuZeichnen)
        # self.connect(self.btnBearbeiten, QtCore.SIGNAL("clicked()"), self.MarkierungBearbeiten)

        self.headerDaten = ["Buch", "Lektion", "Deutsch", "Fremdsprache", "Sonderlektion"]

        datenSprache = self.Datenbank.getDataAsQStringList("select fremdsprache, id from SPRACHE")
        modelSprache = QtGui.QStringListModel(datenSprache)
        self.cBSprache.setModel(modelSprache)

        self.tVWoerterbuch.setSelectionBehavior(QtGui.QTableView.SelectRows)
        self.tVWoerterbuch.setSelectionMode(QtGui.QTableView.SingleSelection)
        # self.tVWoerterbuch.doubleClicked.connect(self.MarkierungBearbeiten)
        self.EditWindow = None
        self.TabelleNeuZeichnen()
예제 #17
0
    def __init__(self, parent):
        super(Statistik, self).__init__(parent)
        QtGui.QWidget.__init__(self)
        self.setupUi(self)

        self.tvStatistik.setSelectionBehavior(QtGui.QTableView.SelectRows)
        self.tvStatistik.setSelectionMode(QtGui.QTableView.SingleSelection)

        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")
        statement = "select datum, richtig, gesamt, lektionen from statistik order by id desc"
        daten = self.datenbank.getDataAsList(statement)
        #print daten
        header = ['datum', 'richtig/von', 'in Prozent', 'lektionen']

        datenZumAnzeigen = []
        for i in daten:
            datum = i[0]
            richtigVon = str(i[1])+"/"+str(i[2])
            inProzent = str(round(float(float(i[1])/int(i[2]))*100, 2))+"%"

            lektionen = ""
            listeLektionId = i[3].split(",")
            statement = "select lektionen.name from lektionen "+self.listeToSql(listeLektionId)
            lektionsAbfrage = self.datenbank.getDataAsList(statement)
            for teil in lektionsAbfrage:
                lektionen = lektionen+unicode(teil[0])+", "
            lektionen = lektionen[:-2]

            datenZumAnzeigen.append([datum, richtigVon, inProzent, lektionen])
            #print statement


        model = StatistikModel.ModelListe(datenZumAnzeigen, header)
        self.tvStatistik.setModel(model)
        self.tvStatistik.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch)
        """
예제 #18
0
    def run(self):
        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        model = Reader.tsvReader(self.path)
        vokList = model.getList()
        zeile = 0
        gesamt = len(vokList)
        for i in vokList:
            zeile += 1
            fremd = i[0]
            deutsch = i[1]
            statement = "insert into vokabeln ('deutsch', fremd, idlektion) values ('"+deutsch+"', " \
                            "'"+fremd+"', "+str(self.idLektion)+")"

            self.datenbank.setDataWithoutCommit(statement)
            prozent = round((zeile / gesamt)*100, 0)
            self.emit(self.ProgressBarUpdate, prozent)
        self.datenbank.commit()
        self.emit(self.showBar, False)

        """
        text = open(self.path).readlines()

        ##self.emit(self.showBar, True)
        gesamt = len(text)
        zeile = 0

        for lines in text:
            zeile += 1
            voks = lines.split("\t")
            #print voks,
            if not voks[0] == "\n":
                #print voks,
                #print str(voks[0]).decode('utf-8').replace(u'\ufeff', "")
                fremd = str(voks[0]).decode('utf-8').replace(u'\ufeff', "")

                for i in range(1, len(voks)):
                    print "sch"
                    print voks
                    if str((voks[len(voks)-i]).strip('\n')).decode('utf-8') == '':
                        print "continued"
                        continue

                    deutsch = str((voks[len(voks)-i]).strip('\n')).decode('utf-8')
                    print deutsch

                statement = "insert into vokabeln ('deutsch', fremd, idlektion) values ('"+deutsch+"', " \
                            "'"+fremd+"', "+str(self.idLektion)+")"

                #print zeile, statement
                self.datenbank.setDataWithoutCommit(statement)
            prozent = round((zeile / gesamt)*100, 0)

            #print prozent
            self.emit(self.ProgressBarUpdate, prozent)
            #self.parent.ProgressBarUpdate(prozent)
        self.datenbank.commit()
        #self.parent.setProgressBarVisible(False)
        self.emit(self.showBar, False)
        """
#test = ReadVoks('', "D:/Mackenbekaempfung29.0.2014/testlade.txt", 1)
#test.run()
#deutsch = str(self.tfDeutsch.text().toUtf8()).decode("utf-8").strip()
예제 #19
0
    def __init__(self, parent, lektionen_ids, abfrage_haeufigkeit, verzoegerung, verzoegerungRichtig, meintenSie,
                 RichtigeAnzeigen, Richtung, distanz, sonderlektion, speicher='None'):
        super(Abfrage, self).__init__(parent)
        QtGui.QWidget.__init__(self, parent=None)
        self.setupUi(self)

        self.labZeit.setParent(self)
        self.labZeitEinblenden.setParent(self)

        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")
        self.sonderlektion = sonderlektion

        self.pBFortschritt.hilfsWidgets(self.hilfsWidget1, self.hilfsWidget2)

        self.cBPunkte.setCheckState(QtCore.Qt.Checked)

        self.labWeitereVokabeln.addWidgetToShow(self.pBFortschritt, self.hilfsWidget1, self.hilfsWidget2)

        self.labWeitereVokabeln.hide()
        self.pBFortschritt.addWidgetToShow(self.labWeitereVokabeln)

        self.cBPunkte.stateChanged.connect(self.sichtbarPunkte)

        self.font_dick = QtGui.QFont()
        self.font_dick.setBold(True)
        self.font_normal = QtGui.QFont()

        self.inGame = True

        self.zeit = Zeiten(self.labZeit)
        self.zeit.start()

        self.showTime = self.datenbank.getDataAsList("select zeitZeigen from einstellungen")[0][0]

        self.answer = True
        if self.showTime == "True":
            self.showTime = True

        else:
            self.showTime = False

        if not self.showTime:
            self.zeitSichtbar = False
            self.labZeit.hide()
        else:
            self.zeitSichtbar = True
            self.labZeitEinblenden.hide()


        #initiate hintfield charactercount
        self.labHint.setParent(self)
        self.labHint.setText("")
        self.hintVisible = True


        if speicher is 'None':
            open('zwischenSpeicher.fs', 'w').close()
            self.pBFortschritt.setValue(0)
            self.distance = distanz
            self.treffer = leve.Treffer(distanz)
            zeit = float(verzoegerung)*10**(-3)
            zeitRichtig = float(verzoegerungRichtig)*10**(-3)
            self.thread = ZeitThread(zeit)
            self.threadRichtig = ZeitThread(zeitRichtig)
            self.meinten_sie = meintenSie
            self.lektionsliste = []
            self.verzoegerung = verzoegerung
            self.verzoegerungRichtig = verzoegerungRichtig
            self.id_aktuell = 0
            self.vokabel_fremd = ""
            self.richtige_anzeigen = RichtigeAnzeigen
            self.richtung = Richtung
            self.labPunkte.setText('0')
            self.lektion = ""
            self.buch = ""
            self.vokabel_deutsch = ""
            self.vokabel_ids = self.lektionsid_to_vokid(lektionen_ids, int(abfrage_haeufigkeit))
            #self.abfragenGesamt = int(len(self.vokabel_ids)*int(abfrage_haeufigkeit))
            self.abfragenGesamt = len(self.vokabel_ids)
            self.lektion_ids = lektionen_ids
        else:
            file = open('zwischenSpeicher.fs', 'r')
            speicher = pickle.load(file)
            file.close()

            self.zeit.setTimeInSecouds(speicher.zeit)
            self.sonderlektion = self.sonderlektion

            self.pBFortschritt.setValue(speicher.Fortschritt)
            self.distance = speicher.distance
            self.treffer = leve.Treffer(speicher.distance)
            self.labGrammarHint.setText(speicher.grammarHint)
            zeit = float(speicher.verzoegerung)*10**(-3)
            #print("verz:"+str(speicher.verzoegerungRichtig))
            zeitRichtig = float(speicher.verzoegerungRichtig)*10**(-3)
            self.thread = ZeitThread(zeit)
            self.threadRichtig = ZeitThread(zeitRichtig)
            self.meinten_sie = speicher.meinten_sie
            self.lektionsliste = []
            self.verzoegerung = speicher.verzoegerung
            self.verzoegerungRichtig = speicher.verzoegerungRichtig
            self.id_aktuell = speicher.id_aktuell
            #print "danach: "+str(speicher.id_aktuell)
            self.vokabel_fremd = ""
            self.richtige_anzeigen = speicher.richtige_anzeigen
            self.richtung = speicher.richtung
            self.labPunkte.setText(speicher.labPunkte)
            self.lektion = ""
            self.buch = ""
            self.vokabel_deutsch = ""
            self.vokabel_ids = speicher.vokabel_ids
            self.abfragenGesamt = speicher.abfragenGesamt
            self.lektion_ids = speicher.lektion_ids
            self.vokabel_fremd = speicher.vokabel_fremd
            self.vokabel_deutsch = speicher.vokabel_deutsch
            self.buch = speicher.buch
            self.lektion = speicher.lektion

            self.labLektion.setText(unicode(self.lektion))
            self.labBuch.setText(str(self.buch))
            self.labRichtigFalsch.setText("")
            self.labBitteEingeben.setText("Bitte eingeben")
            self.labWeitereVokabeln.setText("Noch "+str(len(self.vokabel_ids)-self.id_aktuell)+" weitere Vokabeln")
            self.zeit.setRemainVok(len(self.vokabel_ids)-self.id_aktuell+1)

            if self.richtung == 1:
                self.labVokabelMeintenSie.setText(self.vokabel_deutsch)
            else:
                self.labVokabelMeintenSie.setText(self.vokabel_fremd)
            self.labMeintenSie.setText("")
            self.labMeintenSie.setText("")

            self.labHint.setWordWrap(True)

            # speicher.Info()

        spracheid_statement = "select sprache.id from sprache \
            join buecher on (sprache.id=buecher.id_sprache) \
            join lektionen on (lektionen.idBuch = buecher.id) \
            join vokabeln on (vokabeln.idlektion=lektionen.id) where vokabeln.id like " +str(self.vokabel_ids[0]) +" limit 1"
        # print self.spracheid_statement

        self.spracheid = self.datenbank.getDataAsList(spracheid_statement)[0][0]

        self.parent = parent

        self.connect(self.btnSaveExit, QtCore.SIGNAL("clicked()"), self.SaveAndExit)
        self.connect(self.thread, QtCore.SIGNAL("finished()"), self.weitere_vokabel)
        self.connect(self.threadRichtig, QtCore.SIGNAL("finished()"), self.weitere_vokabel)
        self.connect(self.btnWeiter, QtCore.SIGNAL("clicked()"), self.weitereVokabelKlick)
        self.connect(self.tfInput, QtCore.SIGNAL("textChanged(QString)"), self.repaintHint)




        self.btnWeiter.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Return))

        if speicher is 'None':
            self.weitere_vokabel()

        self.repaintHint()


        self.WindowAuwertung = None
        self.windowMeintenSie = None
예제 #20
0
    def __init__(self):
        #self.r
        QtGui.QMainWindow.__init__(self)
        self.setupUi(self)
        #self.connect(self.btnNeueSprache, QtCore.SIGNAL("clicked()"), self.neue_sprache)
        self.btnNeueSprache.clicked.connect(self.neue_sprache)
        self.connect(self.btnNeuesBuch, QtCore.SIGNAL("clicked()"), self.neues_buch)
        self.connect(self.btnNeueLektion, QtCore.SIGNAL("clicked()"), self.neue_lektion)
        self.connect(self.btnWoerterbuch, QtCore.SIGNAL("clicked()"), self.woerterbuch)
        self.connect(self.btnNeueVok, QtCore.SIGNAL("clicked()"), self.neue_vokabel)
        self.connect(self.btnAbfrageStarten, QtCore.SIGNAL("clicked()"), self.abfrage_einstellungen)
        self.connect(self.btnSpracheBeareiten, QtCore.SIGNAL("clicked()"), self.sprache_aendern)
        self.connect(self.btnBuecherBearbeiten, QtCore.SIGNAL("clicked()"), self.buch_aendern)
        self.connect(self.btnLektionbearbeiten, QtCore.SIGNAL("clicked()"), self.lektioen_aendern)
        self.connect(self.btnStatistik, QtCore.SIGNAL("clicked()"), self.statistik_oeffnen)
        self.connect(self.btnFortsetzen, QtCore.SIGNAL("clicked()"), self.AbfrageFortsetzen)
        self.connect(self.btnZuruecksetzen, QtCore.SIGNAL("clicked()"), self.databaseReseet)
        self.connect(self.pbSonderlektion, QtCore.SIGNAL("clicked()"), self.woerterbuechSonderlektion)
        self.connect(self.pBEditGrammarHints, QtCore.SIGNAL("clicked()"), self.grammar_edit)
        self.infothread = InfoThreadMainWindow(self)

        self.actionMindestuebereinstimmung.triggered.connect(self.MinFit)
        self.actionSchliessen.triggered.connect(self.closeProgram)
        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")

        # Fehlerbekaempfung in Sonderlektion
        statement = "update vokabeln set status=0 where status > 6"
        self.datenbank.setData(statement)

        # add datacol for variabletime in query
        try:
            statement = "select warteZeitRichtig from Einstellungen"
            self.datenbank.getDataAsList(statement)

        except:
            statement = "ALTER TABLE Einstellungen ADD COLUMN warteZeitRichtig INTEGER;"
            self.datenbank.setData(statement)
            statement = "update Einstellungen set warteZeitRichtig=1000 where id like 1"
            self.datenbank.setData(statement)
            print("Datenbank aktualisiert")


        try:
            statement = "select richtig from vokabeln"
            self.datenbank.getDataAsList(statement)
        except:
            print("kann richtig nicht aus Vokabeln lesen, weil nicht verfügbar")
            print("spalte richtig wird erstellt")
            tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN richtig INTEGER DEFAULT 0;"
            self.datenbank.setData(tableUpdateStatement)
            print("Datenbank aktualisiert")

            print("spalte falsch wird erstellt")
            tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN falsch INTEGER DEFAULT 0"
            self.datenbank.setData(tableUpdateStatement)
            print("Datenbank aktualisiert")

            print("spalte zuletztRichtig wird erstellt")
            tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN zuletztRichtig INTEGER;"
            self.datenbank.setData(tableUpdateStatement)
            print("Datenbank aktualisiert")

            #set initvalues
            tableUpdateStatement = "update vokabeln set richtig=3, falsch=0, zuletztRichtig=1"
            self.datenbank.setData(tableUpdateStatement)
            print("Datenbank aktualisiert")

        try:
            statement = "select * from formhinweise"
            self.datenbank.getDataAsList(statement)
        except:
            #create table
            statement = "CREATE  TABLE formhinweise (id INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , idSprache INTEGER, hint TEXT);"
            self.datenbank.setData(statement)

            updateStatement = "ALTER TABLE vokabeln ADD COLUMN idHint INTEGER;"
            self.datenbank.setData(updateStatement)

        try:
            statement = "select zuletztabgefragt from lektionen"
            self.datenbank.getDataAsList(statement)
        except:
            updateStatement = "ALTER TABLE LEKTIONEN ADD COLUMN zuletztAbgefragt DATETIME"
            self.datenbank.setData(updateStatement)

        try:
            statement = "select count(*) from vokabeln where richtig is NULL"
            data = self.datenbank.getDataAsList(statement)
            if data[0][0] > 0:
                statement = "update Vokabeln set richtig=0 where richtig is null"
                self.datenbank.setData(statement)

            statement = "select count(*) from vokabeln where falsch is NULL"
            data = self.datenbank.getDataAsList(statement)
            if data[0][0] > 0:
                statement = "update Vokabeln set falsch=0 where falsch is null"
                self.datenbank.setData(statement)

        except:
            print("Datenbankaenderung fehlgeschagen! Defaultwerte fuer richig und falsch aus vokabeln sollten"
                  " auf 0 gesetzt werden")

        self.wStatistik = None
        self.wLektionAendern = None
        self.wAbfrageForsetzen = None
        self.wVorsichtigSein = None
        self.wBuch_aendern = None
        self.wSprache_aendern = None
        self.wAbfrage_einstellungen = None
        self.wNeue_vokabel = None
        self.wNeues_buch = None
        self.wNeue_sprache = None
        self.wNeue_lektion = None
        self.wWoerterbuch = None
        self.wMinFit = None
        self.wWoerterbuchSonder = None
        self.wGrammarHints = None

        if os.stat('zwischenSpeicher.fs').st_size == 0:
            self.FortsetzenDisable()
        else:
            self.FortsetzenEnable()


        self.datenbank = Datenbank.base("VokabelDatenbank.sqlite")


        self.setInfoInvisible()