tirilane
/
egon
Archived
1
0
Fork 0
This repository has been archived on 2024-07-04. You can view files and clone it, but cannot push or open issues or pull requests.
egon/reading.py

161 lines
4.5 KiB
Python

#!/usr/bin/env python
#coding: utf-8
import os
import platform
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class ReadingTab(QWidget):
def __init__(self, parent=None):
super(ReadingTab, self).__init__(parent)
self.readingTable = QTableWidget()
self.addReadingButton = QPushButton("Add pages to read")
self.editReadingButton = QPushButton("Edit pages")
self.readingDoneButton = QPushButton("Done")
vlayout = QVBoxLayout()
hlayout = QHBoxLayout()
hlayout.addWidget(self.addReadingButton)
hlayout.addWidget(self.editReadingButton)
hlayout.addWidget(self.readingDoneButton)
vlayout.addWidget(self.readingTable)
vlayout.addLayout(hlayout)
self.setLayout(vlayout)
class ReadingDlg(QDialog):
def __init__(self, parent=None):
super(ReadingDlg, self).__init__(parent)
weekLabel = QLabel(self.trUtf8("&Week"))
courseLabel = QLabel(self.trUtf8("&Course"))
bookLabel = QLabel(self.trUtf8("&Book"))
chapterLabel = QLabel(self.trUtf8("Cha&pter"))
pagesLabel = QLabel(self.trUtf8("&Pages"))
numberOfPagesLabel = QLabel(self.trUtf8("&Number of pages"))
weekEdit = QSpinBox()
weekEdit.setRange(1, 52)
courseEdit = QComboBox()
bookEdit = QComboBox()
chapterEdit = QLineEdit()
pagesEdit = QLineEdit()
numberOfPagesEdit = QLabel()
weekLabel.setBuddy(weekEdit)
courseLabel.setBuddy(courseEdit)
bookLabel.setBuddy(bookEdit)
chapterLabel.setBuddy(chapterEdit)
pagesLabel.setBuddy(pagesEdit)
numberOfPagesLabel.setBuddy(numberOfPagesEdit)
self.layout = QGridLayout()
self.layout.addWidget(weekLabel, 0, 0)
self.layout.addWidget(courseLabel, 1, 0)
self.layout.addWidget(bookLabel, 2, 0)
self.layout.addWidget(chapterLabel, 3, 0)
self.layout.addWidget(pagesLabel, 4, 0)
self.layout.addWidget(numberOfPagesLabel, 5, 0)
self.layout.addWidget(weekEdit, 0, 1)
self.layout.addWidget(courseEdit, 1, 1)
self.layout.addWidget(bookEdit, 2, 1)
self.layout.addWidget(chapterEdit, 3, 1)
self.layout.addWidget(pagesEdit, 4, 1)
self.layout.addWidget(numberOfPagesEdit, 5, 1)
self.setLayout(self.layout)
class AddReadingDlg(ReadingDlg):
def __init__(self, parent=None):
super(AddReadingDlg, self).__init__(parent)
buttonBox = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel)
self.layout.addWidget(buttonBox, 6, 0, 1, 2)
self.connect(buttonBox, SIGNAL("accepted()"), self, SLOT("accept()"))
self.connect(buttonBox, SIGNAL("rejected()"), self, SLOT("reject()"))
self.setWindowTitle(self.trUtf8("Add new reading"))
class EditReadingDlg(ReadingDlg):
def __init__(self, parent=None):
super(EditReadingDlg, self).__init__(parent)
self.setAttribute(Qt.WA_DeleteOnClose)
buttonBox = QDialogButtonBox(QDialogButtonBox.Apply|QDialogButtonBox.Close)
self.layout.addWidget(buttonBox, 6, 0, 1, 2)
self.connect(buttonBox.button(QDialogButtonBox.Apply), SIGNAL("clicked()"), self.apply)
self.connect(buttonBox, SIGNAL("rejected()"), self, SLOT("reject()"))
self.setWindowTitle(self.trUtf8("Edit reading"))
def apply(self):
pass
class ReadingModel():
week = ""
course = ""
book = ""
chapter = ""
pages = ""
def setWeek(self, week):
self.week = week
def getWeek(self):
return self.week
def setCourse(self, course):
self.course = course
def getCourse(self):
return self.course
def setBook(self, book):
self.book = book
def getBook(self):
return self.book
def setChapter(self, chapter):
self.chapter = chapter
def getChapter(self):
return self.chapter
def setPages(self, pages):
self.pages = pages
def getPages(self):
return self.pages
def getNumberOfPages(self):
pages = self.getPages()
pagesArray = pages.split(", ")
nextArray = []
sum = 0
for p in pagesArray:
nextArray.append(p.split("-"))
for n in nextArray:
sum += int(n[1]) - int(n[0])
return sum