Subversion Repositories ExamClock

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 ron.wellst 1
#-----------------------------------------------------------------------------
2
# Name:        mainwindow.py
3
# Purpose:
4
#
5
# Author:      Ron Wellsted
6
#
7
# Created:     2015-10-13
8
# Copyright:   (c) 2015
9
# Licence:     GPL 3.0
10
#-----------------------------------------------------------------------------
11
# Date      Author          Modification
12
#-----------------------------------------------------------------------------
13
# -*- coding: utf-8 -*-
14
from PyQt4 import uic, QtGui
3 ron.wellst 15
from PyQt4.QtCore import pyqtSlot, QTime, QTimer
2 ron.wellst 16
 
17
(Ui_MainWindow, QMainWindow) = uic.loadUiType('mainwindow.ui')
18
 
3 ron.wellst 19
FoundationDuration = '00:55:00'
20
IntermediateDuration = '01:25:00'
21
AdvancedDuration = '02:00:00'
22
 
2 ron.wellst 23
class MainWindow (QMainWindow):
24
    """MainWindow inherits QMainWindow"""
3 ron.wellst 25
    _timer = None
26
    _Foundation = None
27
    _Intermediate = None
28
    _Advanced = None
29
    _running = False
2 ron.wellst 30
 
31
    def __init__ (self, parent = None):
32
        QMainWindow.__init__(self, parent)
33
        self.ui = Ui_MainWindow()
34
        self.ui.setupUi(self)
3 ron.wellst 35
        self._timer = QTimer()
36
        self._timer.timeout.connect(self.slotUpdate)
37
        self._timer.start(1000)
38
        time = QTime.currentTime()
39
        now = time.toString('hh:mm:ss')
40
        self.ui.lcdNow.display(now)
41
        self._Foundation = QTime.fromString(FoundationDuration)
42
        self.ui.lcdFoundation.display(self._Foundation.toString('hh:mm:ss'))
43
        self._Intermediate = QTime.fromString(IntermediateDuration)
44
        self.ui.lcdIntermediate.display(self._Intermediate.toString('hh:mm:ss'))
45
        self._Advanced = QTime.fromString(AdvancedDuration)
46
        self.ui.lcdAdvanced.display(self._Advanced.toString('hh:mm:ss'))
2 ron.wellst 47
 
48
    def closeEvent(self, event):
49
        if QtGui.QMessageBox.question(self, 'Confirmation', 'Close application ?', \
50
                QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) != QtGui.QMessageBox.Yes:
51
            event.ignore()
52
        else:
53
            event.accept()
54
 
55
    @pyqtSlot()
56
    def slotHelpAbout(self):
57
        from HelpAbout import HelpAbout
58
        dlg = HelpAbout(self)
59
        dlg.exec_()
60
 
3 ron.wellst 61
    @pyqtSlot()
62
    def slotUpdate(self):
63
        time = QTime.currentTime()
64
        now = time.toString('hh:mm:ss')
65
        self.ui.lcdNow.display(now)
66
        if self._running:
67
            self._Foundation = self._Foundation.addSecs(-1)
68
            self._Intermediate = self._Intermediate.addSecs(-1)
69
            self._Advanced = self._Advanced.addSecs(-1)
70
        self.ui.lcdFoundation.display(self._Foundation.toString('hh:mm:ss'))
71
        self.ui.lcdIntermediate.display(self._Intermediate.toString('hh:mm:ss'))
72
        self.ui.lcdAdvanced.display(self._Advanced.toString('hh:mm:ss'))
73
 
74
    @pyqtSlot()
75
    def slotStart(self):
76
        self._running = True
77
 
78
    @pyqtSlot()
79
    def slotFoundation(self):
80
        pass
81
 
82
    @pyqtSlot()
83
    def slotIntermediate(self):
84
        pass
85
 
86
    @pyqtSlot()
87
    def slotAdvanced(self):
88
        pass