From b7125bd8a23b54711b9ccae457c50fa04abe1009 Mon Sep 17 00:00:00 2001 From: tirilane Date: Fri, 13 Jun 2008 18:53:23 +0000 Subject: [PATCH] Last update for 13.06. --- egon.db | Bin 15360 -> 15360 bytes egon.py | 112 +++++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 87 insertions(+), 25 deletions(-) diff --git a/egon.db b/egon.db index cf7c8e45c834924f3a169962e743ea7172a47cbb..6936b6f8eaf62dedfa63bb6b87df68eef4342943 100644 GIT binary patch delta 427 zcmZpuXsDPV&6u`P<|#8L(-{VC#&|x)gPXZnwli|*GO`&NhCmABR3_%j49u6AUjWTL&a5lKDlN&+ Y2sI08Hj_B3v^-c4q!nQr<02Ua06GF)#&|BqW1G2HwlnfFonc^=)?{QemS*IYoqUp2n%%LW zpeVmAb@B(+NDfU=s6-%}G%HwQb0OPgRz4QyOh)G0%v+cWE21@NHk6W diff --git a/egon.py b/egon.py index d3d118f..cf88e33 100755 --- a/egon.py +++ b/egon.py @@ -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)) @@ -213,21 +220,19 @@ class MainWindow(QMainWindow): def addLesson(self): 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""" - %s v %s -

Copyright © 2008 Tiril Anette Langfeldt Rødland. No rights reserved. -

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 -

This application is mainly for use by students, and can be used to keep track of assignments, planned readings and the schedule. -

Python %s - Qt %s - PyQt %s on %s -

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""" + %s v %s +

Copyright © 2008 Tiril Anette Langfeldt Rødland. No rights reserved. +

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 +

This application is mainly for use by students, and can be used to keep track of assignments, planned readings and the schedule. +

Python %s - Qt %s - PyQt %s on %s +

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") + 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()