Last update for 13.06.
This commit is contained in:
parent
60f1b8ca0c
commit
b7125bd8a2
112
egon.py
112
egon.py
@ -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 © 2008 Tiril Anette Langfeldt Rødland. No rights reserved.
|
<p>Copyright © 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()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user