def __init__(self):
        QtGui.QMainWindow.__init__(self)

        # Setup the main window
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Set date to today
        self.date = QtCore.QDate.currentDate()
        self.ui.calendarWidget.setSelectedDate(self.date)

        # Date format for SQLite
        self.date_format = "yyyy-MM-dd"

        # Used to remember the Students Id
        self.student_dict = {}

        # Create Attendance DB Connection Object
        self.db = AttendDB()

        # Create list models
        self.availModel = QtGui.QStandardItemModel(0, 2)
        self.attendModel = QtGui.QStandardItemModel(0, 2)

        self.ui.availListView.setModel(self.availModel)
        self.ui.attendListView.setModel(self.attendModel)

        # Connect signals to handlers
        self.connect(self.ui.addButton, QtCore.SIGNAL("clicked()"), \
                self.on_add_clicked)
        self.connect(self.ui.removeButton, QtCore.SIGNAL("clicked()"), \
                self.on_remove_clicked)
        self.connect(self.ui.calendarWidget, \
                QtCore.SIGNAL("selectionChanged()"), \
                self.on_date_change)

        self.connect(self.ui.actionEdit_Students, \
                QtCore.SIGNAL("triggered()"), \
                self.on_edit_students_select)
        # Update the lists to reflect the current date
        self.update_views()
    def __init__(self):
        QtGui.QDialog.__init__(self)

        # setup
        self.dialog = Ui_studentsDialog()
        self.dialog.setupUi(self)

        self.sid = None
        self.adding = False

        header = ['Sid', 'Apelido', 'First Name', 'Last Name']
        self.dialog.studentTableWidget.setHorizontalHeaderLabels(header)

        self.connect(self.dialog.studentTableWidget, \
                     QtCore.SIGNAL("cellClicked(int, int)"), \
                     self._on_cell_click)
        self.connect(self.dialog.updateButton, QtCore.SIGNAL("clicked()"), \
                    self._on_update_click)
        self.connect(self.dialog.newButton, QtCore.SIGNAL("clicked()"), \
                    self._on_new_click)

        self.db = AttendDB()

        self._update_list()