Hallo,
Echt een super programma wat je hebt geschreven! Ik ben een tijd geleden geprobeerd teach2000 via wine te laten draaien, maar dat lukte niet.
Ik heb het net geïnstalleerd op ubuntu 9.04. Installatie (via de synaptic) verliep goed. Alle pakketten die ik nog niet had haalde hij netjes op en installeerde hij. Hij staat gewoon in het menu onder education en het lijkt stabiel te draaien (ik heb hem nu drie kwartier gebruikt). Als ik dit zo zie zou ik echt mee willen helpen met de ontwikkeling ervan...ik heb alleen de ballen verstand van linux en van phyton, maar daar wil ik verandering in gaan brengen.
Ik heb twee dingen die eventueel verbeterd kunnen worden:
- Nadat een overhoring klaar is switched hij van het "Overhoor me!" tabblad naar het "Voeg toe" tabblad. Ik neem woordenlijsten soms 6 of 7 keer achter elkaar door, en dan begint dat best irritant te worden.
- En ik hou van sneltoetsen. Dus misschien is het een idee om het switchen van "Voet toe" naar "Overhoor me!" en weer terug via een sneltoets/sneltoetsen te kunnen doen. Dan kan ook meteen de knop "Toch goedkeuren" en sneltoets krijgen (net als in Teach2000).
Dus als dat aangepast zou kunnen worden (ik ga het zelf ook wel even proberen) dan zou het helemaal geweldig zijn, maar nu werkt het ook al hartstikke fijn. Echt top dit programma!
edit:
Na heel wat geprobeer heb ik het voor elkaar gekregen om mijn eerste punt in het programma te krijgen (dus dat hij in overhoren blijft nadat de overhoring klaar is). Het is niet zo netjes gedaan, maar het lijkt te werken De code:
zoek de volgende code in openteacher.py:
#Stop the lesson
def stopLesson(self):
self.overhoring = False
self.ui.totalQuestionsLabel.setText("0")
self.ui.rightAnswersLabel.setText("0")
self.ui.noteLabel.setText("0")
self.ui.progressBar.setValue(0)
self.ui.tabWidget.setCurrentIndex(0)
voeg aan het eind van dit stuk code het volgende toe:
self.ui.tabWidget.setCurrentIndex(1)
#Stop lessen without loop
def stopLessona(self):
self.overhoring = False
self.ui.totalQuestionsLabel.setText("0")
self.ui.rightAnswersLabel.setText("0")
self.ui.noteLabel.setText("0")
self.ui.progressBar.setValue(0)
self.ui.tabWidget.setCurrentIndex(0)
zoek daarna het volgende stuk code in openteacher.py op (staat in de functie tabChange)
if warn == QtGui.QMessageBox.Yes:
self.stopLesson()
en vervang aan het einde de
self.stopLesson()
in
self.stopLessona()
Wat ik gedaan heb.
Eigenlijk heel simpel. Als hij klaar is en stopt met de overhoring, schakelt hij terug naar de tab "Voeg toe". Na de code van tab verandering laat ik hem meteen weer terugspringen naar de "Overhoor me!" tab (Het was niet mogelijk om bij het overschakelen van de tabs van de "Overhoor me!" tab naar de "Overhoor me!' tab over te schakelen -> ik kreeg één of andere error))
Maar er deed zich een probleem voor. Als je tijdens de overhoring op de "Voeg toe" tab klikt, dan wordt de "Voeg toe" tab getoond. Dit gebeurt via de zelfde functie die na de overhoring de tab veranderd van "Overhoor me!" tab naar de "Voeg toe" tab (de functie die ik dus net had aangepast). Het komt er dus op neer dat je ook als je tijdens de overhoring naar de "Voeg toe" tab wilt je meteen weer terug wordt geschakeld naar de "Overhoor me!" tab. Dit heb ik omzeilt door een nieuwe functie te maken (eigenlijk de oorspronkelijke stopLesson() functie): stopLessona(). Deze springt van de "Overhoor me!" tab naar de "Voeg toe" tab laat springen, maar daarna niet meer terug naar de "Overhoor me!" tab. Probleem opgelost. Hopelijk heeft iemand er wat aan. En als dit in een volgende versie van OpenTeacher wil intergreren met deze code, doe het gerust!
edit 2:
na weer wat geprobeer is het ook gelukt om mijn tweede punt erin te krijgen: het alsnog goed rekenen van een fout antwoord via een sneltoets
open openteachter_ui.py
en voeg helemaal aan het eind van het bestand de volgende regel code toe:
self.correctButton.setShortcut("Ctrl+E")
en thada, de "Toch goedkeuren" button werkt nu via de sneltoets Ctrl+E