Last update for 13.06.

This commit is contained in:
Tiril Anette Langfeldt Rødland 2008-06-13 18:53:23 +00:00
parent 60f1b8ca0c
commit b7125bd8a2
2 changed files with 87 additions and 25 deletions

BIN
egon.db

Binary file not shown.

106
egon.py
View File

@ -78,12 +78,12 @@ class MainWindow(QMainWindow):
fileSaveAsAction = self.createAction("Save as...", self.fileSaveAs, None, "filesaveas", "Save plan as...")
filePrintAction = self.createAction("&Print", self.filePrint, QKeySequence.Print, "fileprint", "Print plan")
fileQuitAction = self.createAction("&Quit", self.close, "Ctrl+Q", "filequit", "Quit program")
editAddCourse = self.createAction("A&dd course", self.addCourse, "Ctrl+D", None, "Add a new course")
editAddCourse = self.createAction("Add &course", self.addCourse, "Ctrl+C", None, "Add a new course")
editAddBook = self.createAction("Add &book", self.addBook, "Ctrl+B", None, "Add a new book")
editAddAssignment = self.createAction("Add &assignment", self.addAssignment, "Ctrl+A", None, "Add a new assignment")
editAddReading = self.createAction("Add &reading", self.addReading, "Ctrl+R", None, "Add a new reading")
editAddLesson = self.createAction("Add &lesson", self.addLesson, "Ctrl+L", None, "Add a new lesson")
editShowCalendar = self.createAction("&Calendar", self.showCalendar, "Ctrl+C", None, "Show the calendar")
editShowCalendar = self.createAction("Cal&endar", self.showCalendar, "Ctrl+E", None, "Show the calendar")
helpAboutScheduler = self.createAction("&About %s" % self.title)
# Menus
@ -111,7 +111,7 @@ class MainWindow(QMainWindow):
self.connect(self.reading.deleteReadingButton, SIGNAL("pressed()"), self.deleteReading)
self.connect(self.reading.readingDoneButton, SIGNAL("pressed()"), self.doneReading)
self.connect(self.schedule.addScheduleButton, SIGNAL("pressed()"), self.addLesson)
self.connect(self.schedule.editScheduleButton, SIGNAL("pressed()"), self.editLesson)
self.connect(self.schedule.deleteScheduleButton, SIGNAL("pressed()"), self.deleteLesson)
self.connect(self.calendar, SIGNAL("selectionChanged()"), self.changeDay)
# The toolbars
@ -183,9 +183,16 @@ class MainWindow(QMainWindow):
def doneReading(self):
table, row = self.getReadingTableAndRow()
item = QTableWidgetItem(QString(self.trUtf8("Done")))
item.setBackground(QBrush(Qt.green, Qt.SolidPattern))
if table.item(row, 6).text().compare(QString(self.trUtf8("Not done"))) == 0:
done = True
item = QTableWidgetItem(self.trUtf8("Done"))
item.setBackground(QBrush(Qt.green, Qt.SolidPattern))
else:
done = False
item = QTableWidgetItem(self.trUtf8("Not done"))
item.setBackground(QBrush(Qt.red, Qt.SolidPattern))
table.setItem(row, 6, item)
table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
week = (table.item(row, 0).text().toInt())[0]
courseFull = table.item(row, 1).text()
courseCode = QString(getCourseCode(courseFull))
@ -214,20 +221,18 @@ class MainWindow(QMainWindow):
self.asdlg = AddScheduleDlg()
self.asdlg.show()
def editLesson(self):
self.esdlg = EditScheduleDlg()
self.connect(self.esdlg, SIGNAL("changed()"), self.refreshTable)
self.esdlg.show()
def deleteLesson(self):
pass
def helpAbout(self):
QMessageBox.about(self, "About %s" % self.title, u"""
<b>%s</b> v %s
<p>Copyright &copy; 2008 Tiril Anette Langfeldt Rødland. No rights reserved.
<p>You may modify and redistribute the program under the terms of the GPL. The license can be found here: http://www.gnu.org/licenses/gpl.html
<p>This application is mainly for use by students, and can be used to keep track of assignments, planned readings and the schedule.
<p>Python %s - Qt %s - PyQt %s on %s
<p>Developer: Tiril Anette Langfeldt Rødland, tirilane@pvv.ntnu.no
""" % (self.title, __version__, platform.python_version(), QT_VERSION_STR, PYQT_VERSION_STR, platform.system()))
QMessageBox.about(self, "About %s" % self.title, u"""
<b>%s</b> v %s
<p>Copyright &copy; 2008 Tiril Anette Langfeldt Rødland. No rights reserved.
<p>You may modify and redistribute the program under the terms of the GPL. The license can be found here: http://www.gnu.org/licenses/gpl.html
<p>This application is mainly for use by students, and can be used to keep track of assignments, planned readings and the schedule.
<p>Python %s - Qt %s - PyQt %s on %s
<p>Developer: Tiril Anette Langfeldt Rødland, tirilane@pvv.ntnu.no
""" % (self.title, __version__, platform.python_version(), QT_VERSION_STR, PYQT_VERSION_STR, platform.system()))
def addActions(self, target, actions):
for action in actions:
@ -613,15 +618,16 @@ class ReadingTab(QWidget):
reading = self.readings[row]
brush = QBrush(Qt.NoBrush)
brush.setStyle(Qt.SolidPattern)
if reading.getDone():
doneString = self.trUtf8("Done")
brush.setColor(Qt.green)
brush.setStyle(Qt.SolidPattern)
else:
doneString = self.trUtf8("Not done")
brush.setColor(Qt.red)
self.readingTable.setItem(row, 0, QTableWidgetItem(QString(reading.getWeek())))
self.readingTable.setItem(row, 0, QTableWidgetItem(QString("%02s" % reading.getWeek())))
self.readingTable.setItem(row, 1, QTableWidgetItem(QString(reading.getCourse().getFull())))
self.readingTable.setItem(row, 2, QTableWidgetItem(QString(reading.getBook().getTitle())))
self.readingTable.setItem(row, 3, QTableWidgetItem(QString(reading.getChapter())))
@ -809,7 +815,7 @@ class ScheduleTab(QWidget):
super(ScheduleTab, self).__init__(parent)
self.addScheduleButton = QPushButton("Add lesson")
self.editScheduleButton = QPushButton("Edit lesson")
self.deleteScheduleButton = QPushButton("Delete lesson")
self.makeTable()
@ -817,7 +823,8 @@ class ScheduleTab(QWidget):
hlayout = QHBoxLayout()
hlayout.addWidget(self.addScheduleButton)
hlayout.addWidget(self.editScheduleButton)
hlayout.addWidget(self.deleteScheduleButton)
hlayout.addStretch()
vlayout.addWidget(self.scheduleTable)
vlayout.addLayout(hlayout)
@ -847,9 +854,64 @@ class ScheduleTab(QWidget):
self.updateTable()
def updateTable(self):
for l in range(len(self.schedule)):
self.addLessonToTable(self.schedule[l])
self.scheduleTable.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
self.scheduleTable.verticalHeader().setResizeMode(QHeaderView.ResizeToContents)
def addLessonToTable(self, lesson):
rows = self.getRows(lesson.getFromTime(), lesson.getToTime())
column = self.getColumn(lesson.getDay())
course = lesson.getCourse().getFull()
type = lesson.getType()
room = lesson.getRoom()
for row in rows:
item = QTableWidgetItem(QString("%s\n %s\n %s" % (course, type, room)))
item.setBackground(self.getBackground(QString("%s" % type)))
self.scheduleTable.setItem(row, column, item)
def getColumn(self, dayString):
day = QString("%s" % dayString)
if day.compare(QString(self.trUtf8("Monday"))) == 0:
return 0
elif day.compare(QString(self.trUtf8("Tuesday"))) == 0:
return 1
elif day.compare(QString(self.trUtf8("Wednesday"))) == 0:
return 2
elif day.compare(QString(self.trUtf8("Thursday"))) == 0:
return 3
elif day.compare(QString(self.trUtf8("Friday"))) == 0:
return 4
else:
return -1
def getRows(self, fromtime, totime):
rows = []
fromTime = string.atoi(fromtime)
toTime = string.atoi(totime)
for i in range(fromTime, toTime):
rows.append(i)
return rows
## Type skal bestemme brush, fag skal bestemme farge!!!
def getBackground(self, type):
if type.compare(QString(self.trUtf8("Lecture"))) == 0:
brush = QBrush(Qt.green, Qt.HorPattern)
elif type.compare(QString(self.trUtf8("Assignment lecture"))) == 0:
brush = QBrush(Qt.blue, Qt.CrossPattern)
elif type.compare(QString(self.trUtf8("Assignment help"))) == 0:
brush = QBrush(Qt.blue, Qt.VerPattern)
elif type.compare(QString(self.trUtf8("Lab"))) == 0:
brush = QBrush(Qt.yellow, Qt.BDiagPattern)
elif type.compare(QString(self.trUtf8("Seminar"))) == 0:
brush = QBrush(Qt.red, Qt.FDiagPattern)
elif type.compare(QString(self.trUtf8("Other"))) == 0:
brush = QBrush(Qt.cyan, Qt.DiagCrossPattern)
else:
brush = QBrush(Qt.NoBrush)
return brush
class ScheduleDlg(QDialog):
@ -879,7 +941,7 @@ class ScheduleDlg(QDialog):
coursesStringList.append(course)
self.courseEdit.addItems(coursesStringList)
self.typeEdit = QComboBox()
types = [self.trUtf8("Lecture"), self.trUtf8("Assignment lecture"), self.trUtf8("Assignment help"), self.trUtf8("Assignment"), self.trUtf8("Lab"), self.trUtf8("Seminar"), self.trUtf8("Other")]
types = [self.trUtf8("Lecture"), self.trUtf8("Assignment lecture"), self.trUtf8("Assignment help"), self.trUtf8("Lab"), self.trUtf8("Seminar"), self.trUtf8("Other")]
self.typeEdit.addItems(types)
self.roomEdit = QLineEdit()