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.

112
egon.py
View File

@ -78,12 +78,12 @@ class MainWindow(QMainWindow):
fileSaveAsAction = self.createAction("Save as...", self.fileSaveAs, None, "filesaveas", "Save plan as...") fileSaveAsAction = self.createAction("Save as...", self.fileSaveAs, None, "filesaveas", "Save plan as...")
filePrintAction = self.createAction("&Print", self.filePrint, QKeySequence.Print, "fileprint", "Print plan") filePrintAction = self.createAction("&Print", self.filePrint, QKeySequence.Print, "fileprint", "Print plan")
fileQuitAction = self.createAction("&Quit", self.close, "Ctrl+Q", "filequit", "Quit program") 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") 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") 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") 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") 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) helpAboutScheduler = self.createAction("&About %s" % self.title)
# Menus # Menus
@ -111,7 +111,7 @@ class MainWindow(QMainWindow):
self.connect(self.reading.deleteReadingButton, SIGNAL("pressed()"), self.deleteReading) self.connect(self.reading.deleteReadingButton, SIGNAL("pressed()"), self.deleteReading)
self.connect(self.reading.readingDoneButton, SIGNAL("pressed()"), self.doneReading) self.connect(self.reading.readingDoneButton, SIGNAL("pressed()"), self.doneReading)
self.connect(self.schedule.addScheduleButton, SIGNAL("pressed()"), self.addLesson) 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) self.connect(self.calendar, SIGNAL("selectionChanged()"), self.changeDay)
# The toolbars # The toolbars
@ -183,9 +183,16 @@ class MainWindow(QMainWindow):
def doneReading(self): def doneReading(self):
table, row = self.getReadingTableAndRow() table, row = self.getReadingTableAndRow()
item = QTableWidgetItem(QString(self.trUtf8("Done"))) if table.item(row, 6).text().compare(QString(self.trUtf8("Not done"))) == 0:
item.setBackground(QBrush(Qt.green, Qt.SolidPattern)) 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.setItem(row, 6, item)
table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
week = (table.item(row, 0).text().toInt())[0] week = (table.item(row, 0).text().toInt())[0]
courseFull = table.item(row, 1).text() courseFull = table.item(row, 1).text()
courseCode = QString(getCourseCode(courseFull)) courseCode = QString(getCourseCode(courseFull))
@ -213,21 +220,19 @@ class MainWindow(QMainWindow):
def addLesson(self): def addLesson(self):
self.asdlg = AddScheduleDlg() self.asdlg = AddScheduleDlg()
self.asdlg.show() self.asdlg.show()
def editLesson(self): def deleteLesson(self):
self.esdlg = EditScheduleDlg() pass
self.connect(self.esdlg, SIGNAL("changed()"), self.refreshTable)
self.esdlg.show()
def helpAbout(self): def helpAbout(self):
QMessageBox.about(self, "About %s" % self.title, u""" QMessageBox.about(self, "About %s" % self.title, u"""
<b>%s</b> v %s <b>%s</b> v %s
<p>Copyright &copy; 2008 Tiril Anette Langfeldt Rødland. No rights reserved. <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>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>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>Python %s - Qt %s - PyQt %s on %s
<p>Developer: Tiril Anette Langfeldt Rødland, tirilane@pvv.ntnu.no <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())) """ % (self.title, __version__, platform.python_version(), QT_VERSION_STR, PYQT_VERSION_STR, platform.system()))
def addActions(self, target, actions): def addActions(self, target, actions):
for action in actions: for action in actions:
@ -613,15 +618,16 @@ class ReadingTab(QWidget):
reading = self.readings[row] reading = self.readings[row]
brush = QBrush(Qt.NoBrush) brush = QBrush(Qt.NoBrush)
brush.setStyle(Qt.SolidPattern)
if reading.getDone(): if reading.getDone():
doneString = self.trUtf8("Done") doneString = self.trUtf8("Done")
brush.setColor(Qt.green) brush.setColor(Qt.green)
brush.setStyle(Qt.SolidPattern)
else: else:
doneString = self.trUtf8("Not done") 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, 1, QTableWidgetItem(QString(reading.getCourse().getFull())))
self.readingTable.setItem(row, 2, QTableWidgetItem(QString(reading.getBook().getTitle()))) self.readingTable.setItem(row, 2, QTableWidgetItem(QString(reading.getBook().getTitle())))
self.readingTable.setItem(row, 3, QTableWidgetItem(QString(reading.getChapter()))) self.readingTable.setItem(row, 3, QTableWidgetItem(QString(reading.getChapter())))
@ -809,7 +815,7 @@ class ScheduleTab(QWidget):
super(ScheduleTab, self).__init__(parent) super(ScheduleTab, self).__init__(parent)
self.addScheduleButton = QPushButton("Add lesson") self.addScheduleButton = QPushButton("Add lesson")
self.editScheduleButton = QPushButton("Edit lesson") self.deleteScheduleButton = QPushButton("Delete lesson")
self.makeTable() self.makeTable()
@ -817,7 +823,8 @@ class ScheduleTab(QWidget):
hlayout = QHBoxLayout() hlayout = QHBoxLayout()
hlayout.addWidget(self.addScheduleButton) hlayout.addWidget(self.addScheduleButton)
hlayout.addWidget(self.editScheduleButton) hlayout.addWidget(self.deleteScheduleButton)
hlayout.addStretch()
vlayout.addWidget(self.scheduleTable) vlayout.addWidget(self.scheduleTable)
vlayout.addLayout(hlayout) vlayout.addLayout(hlayout)
@ -847,9 +854,64 @@ class ScheduleTab(QWidget):
self.updateTable() self.updateTable()
def updateTable(self): def updateTable(self):
for l in range(len(self.schedule)):
self.addLessonToTable(self.schedule[l])
self.scheduleTable.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) self.scheduleTable.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
self.scheduleTable.verticalHeader().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): class ScheduleDlg(QDialog):
@ -879,7 +941,7 @@ class ScheduleDlg(QDialog):
coursesStringList.append(course) coursesStringList.append(course)
self.courseEdit.addItems(coursesStringList) self.courseEdit.addItems(coursesStringList)
self.typeEdit = QComboBox() 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.typeEdit.addItems(types)
self.roomEdit = QLineEdit() self.roomEdit = QLineEdit()