[Tux4kids-commits] r1385 - in tux4kids-admin/trunk: libtux4kidsadmin tux4kids-admin/src

Michał Świtakowski swistakers-guest at alioth.debian.org
Thu Aug 6 17:39:45 UTC 2009


Author: swistakers-guest
Date: 2009-08-06 17:39:45 +0000 (Thu, 06 Aug 2009)
New Revision: 1385

Modified:
   tux4kids-admin/trunk/libtux4kidsadmin/class.cpp
   tux4kids-admin/trunk/libtux4kidsadmin/class.h
   tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.cpp
   tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.h
   tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase_p.h
   tux4kids-admin/trunk/libtux4kidsadmin/studentDir.cpp
   tux4kids-admin/trunk/libtux4kidsadmin/studentDir.h
   tux4kids-admin/trunk/libtux4kidsadmin/studentDir_p.h
   tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp
   tux4kids-admin/trunk/libtux4kidsadmin/teacher.h
   tux4kids-admin/trunk/libtux4kidsadmin/teacher_p.h
   tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.h
   tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.h
   tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.h
Log:
work on synchronizing models

Modified: tux4kids-admin/trunk/libtux4kidsadmin/class.cpp
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/class.cpp	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/class.cpp	2009-08-06 17:39:45 UTC (rev 1385)
@@ -1,5 +1,7 @@
 #include "class.h"
 #include "class_p.h"
+#include "teacher.h"
+
 #include <QDebug>
 
 /***************************** ClassPrivate *********************/
@@ -64,29 +66,29 @@
 	d->id = id;
 }
 
-QStringList Class::students() const
+QStringList *Class::students()
 {
-	Q_D(const Class);
-	return d->students;
+	Q_D(Class);
+	return &d->students;
 }
 
-void Class::setStudents(const QStringList &students)
+/*void Class::setStudents(const QStringList &students)
 {
 	Q_D(Class);
 	d->students = students;
-}
+}*/
 
-QList<Teacher> Class::teachers() const
+QList<Teacher> *Class::teachers()
 {
-	Q_D(const Class);
-	return d->teachers;
+	Q_D(Class);
+	return &d->teachers;
 }
 
-void Class::setTeachers(const QList<Teacher> &teachers)
+/*void Class::setTeachers(const QList<Teacher> &teachers)
 {
 	Q_D(Class);
 	d->teachers = teachers;
-}
+}*/
 
 Class &Class::operator=(const Class &other)
 {

Modified: tux4kids-admin/trunk/libtux4kidsadmin/class.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/class.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/class.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -5,10 +5,10 @@
 #include <QString>
 
 #include "libtux4kidsadmin_global.h"
-#include "teacher.h"
 
 class ClassPrivate;
 class QStringList;
+class Teacher;
 
 class LIBTUX4KIDSADMIN_SHARED_EXPORT Class
 {
@@ -21,10 +21,10 @@
 	void setName(QString name);
 	int id() const;
 	void setId(int id);
-	QStringList students() const;
-	void setStudents(const QStringList &students);
-	QList<Teacher> teachers() const;
-	void setTeachers(const QList<Teacher> &teachers);
+	QStringList *students();
+	//void setStudents(const QStringList &students);
+	QList<Teacher> *teachers();
+	//void setTeachers(const QList<Teacher> &teachers);
 	Class &operator=(const Class&);
 	bool operator==(const Class &other) const;
 

Modified: tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.cpp
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.cpp	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.cpp	2009-08-06 17:39:45 UTC (rev 1385)
@@ -289,9 +289,9 @@
 	}
 }
 
-bool SchoolDatabasePrivate::addClassTeachers(const Class &newClass)
+bool SchoolDatabasePrivate::addClassTeachers(Class &newClass)
 {
-	foreach (Teacher teacher, newClass.teachers()) {
+	foreach (Teacher teacher, *newClass.teachers()) {
 		QSqlQuery addTeacher;
 		addTeacher.prepare("INSERT INTO class_teachers(id_class, id_teacher) VALUES(:id_class, :id_teacher);");
 		addTeacher.bindValue(":id_class", newClass.id());
@@ -307,9 +307,9 @@
 	return true;
 }
 
-bool SchoolDatabasePrivate::addClassStudents(const Class &newClass)
+bool SchoolDatabasePrivate::addClassStudents(Class &newClass)
 {
-	foreach (QString studentDirName, newClass.students()) {
+	foreach (QString studentDirName, *newClass.students()) {
 		QSqlQuery findStudentId;
 		findStudentId.prepare("SELECT id FROM students WHERE profile_name = :profile_name;");
 		findStudentId.bindValue(":profileName", studentDirName);
@@ -342,7 +342,7 @@
 	return true;
 }
 
-void SchoolDatabasePrivate::updateClass(const Class &updatedClass)
+void SchoolDatabasePrivate::updateClass(Class &updatedClass)
 {
 	if (!db.isOpen()) {
 		error = true;
@@ -369,7 +369,7 @@
 	emit q->classUpdated(updatedClass);
 }
 
-void SchoolDatabasePrivate::deleteClass(const Class &deletedClass)
+void SchoolDatabasePrivate::deleteClass(Class &deletedClass)
 {
 	if (!db.isOpen()) {
 		error = true;
@@ -438,7 +438,7 @@
 	}
 }
 
-void SchoolDatabasePrivate::updateTeacher(const Teacher &updatedTeacher)
+void SchoolDatabasePrivate::updateTeacher(Teacher &updatedTeacher)
 {
 	if (!db.isOpen()) {
 		error = true;
@@ -466,7 +466,7 @@
 	emit q->teacherUpdated(updatedTeacher);
 }
 
-void SchoolDatabasePrivate::deleteTeacher(const Teacher &deletedTeacher)
+void SchoolDatabasePrivate::deleteTeacher(Teacher &deletedTeacher)
 {
 	if (!db.isOpen()) {
 		error = true;
@@ -717,13 +717,13 @@
 	d->addClass(newClass);
 }
 
-void SchoolDatabase::updateClass(const Class &updatedClass)
+void SchoolDatabase::updateClass(Class &updatedClass)
 {
 	Q_D(SchoolDatabase);
 	d->updateClass(updatedClass);
 }
 
-void SchoolDatabase::deleteClass(const Class &deletedClass)
+void SchoolDatabase::deleteClass(Class &deletedClass)
 {
 	Q_D(SchoolDatabase);
 	d->deleteClass(deletedClass);
@@ -735,13 +735,13 @@
 	d->addTeacher(newTeacher);
 }
 
-void SchoolDatabase::updateTeacher(const Teacher &updatedTeacher)
+void SchoolDatabase::updateTeacher(Teacher &updatedTeacher)
 {
 	Q_D(SchoolDatabase);
 	d->updateTeacher(updatedTeacher);
 }
 
-void SchoolDatabase::deleteTeacher(const Teacher &deletedTeacher)
+void SchoolDatabase::deleteTeacher(Teacher &deletedTeacher)
 {
 	Q_D(SchoolDatabase);
 	d->deleteTeacher(deletedTeacher);

Modified: tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -23,12 +23,12 @@
 	bool error();
 	QString lastError();
 	void addClass(Class &newClass);
-	void updateClass(const Class &updatedClass);
-	void deleteClass(const Class &deletedClass);
+	void updateClass(Class &updatedClass);
+	void deleteClass(Class &deletedClass);
 
 	void addTeacher(Teacher &newTeacher);
-	void updateTeacher(const Teacher &updatedTeacher);
-	void deleteTeacher(const Teacher &deletedTeacher);
+	void updateTeacher(Teacher &updatedTeacher);
+	void deleteTeacher(Teacher &deletedTeacher);
 
 	QList<Class> classList() const;
 	QList<Teacher> teacherList() const;
@@ -39,13 +39,13 @@
 	SchoolDatabase(SchoolDatabasePrivate &dd, QObject *parent = 0);
 
 signals:
-	void classAdded(const Class &newClass);
-	void classUpdated(const Class &updatedClass);
-	void classDeleted(const Class &deletedClass);
+	void classAdded(Class &newClass);
+	void classUpdated(Class &updatedClass);
+	void classDeleted(Class &deletedClass);
 
-	void teacherAdded(const Teacher &newTeacher);
-	void teacherUpdated(const Teacher &updatedTeacher);
-	void teacherDeleted(const Teacher &deletedTeacher);
+	void teacherAdded(Teacher &newTeacher);
+	void teacherUpdated(Teacher &updatedTeacher);
+	void teacherDeleted(Teacher &deletedTeacher);
 
 private:
 	Q_DECLARE_PRIVATE(SchoolDatabase)

Modified: tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase_p.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase_p.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/schoolDatabase_p.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -19,15 +19,15 @@
 	void createTables();
 	void createTriggers();
 	void addClass(Class &newClass);
-	void updateClass(const Class &updatedClass);
-	void deleteClass(const Class &deletedClass);
+	void updateClass(Class &updatedClass);
+	void deleteClass(Class &deletedClass);
 
 	void addTeacher(Teacher &newTeacher);
-	void updateTeacher(const Teacher &updatedTeacher);
-	void deleteTeacher(const Teacher &deletedTeacher);
+	void updateTeacher(Teacher &updatedTeacher);
+	void deleteTeacher(Teacher &deletedTeacher);
 
-	bool addClassTeachers(const Class &newClass);
-	bool addClassStudents(const Class &newClass);
+	bool addClassTeachers(Class &newClass);
+	bool addClassStudents(Class &newClass);
 
 	QList<Class> classList() const;
 	QList<Teacher> teacherList() const;

Modified: tux4kids-admin/trunk/libtux4kidsadmin/studentDir.cpp
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/studentDir.cpp	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/studentDir.cpp	2009-08-06 17:39:45 UTC (rev 1385)
@@ -132,3 +132,15 @@
 	return d->mainDir.dirName();
 }
 
+QList<Class> *StudentDir::classes()
+{
+	Q_D(StudentDir);
+	return &d->classes;
+}
+
+/*void StudentDir::setClasses(const QList<Class> &classes)
+{
+	Q_D(StudentDir);
+	d->classes = classes;
+}*/
+

Modified: tux4kids-admin/trunk/libtux4kidsadmin/studentDir.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/studentDir.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/studentDir.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -4,6 +4,7 @@
 #include <QObject>
 
 #include "libtux4kidsadmin_global.h"
+#include "class.h"
 
 class StudentDirPrivate;
 class ProfileDir;
@@ -30,6 +31,8 @@
 	void setLastName(const QString &lastName);
 	void addProfileDir(ProfileDir *profileDir);
 	ProfileDir *addProfileDir(QString profileType);
+	QList<Class> *classes();
+	//void setClasses(const QList<Class>& classes);
 
 protected:
 	StudentDirPrivate * const d_ptr;

Modified: tux4kids-admin/trunk/libtux4kidsadmin/studentDir_p.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/studentDir_p.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/studentDir_p.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -7,6 +7,7 @@
 #include <QList>
 #include <QPointer>
 #include "libtux4kidsadmin_global.h"
+#include "class.h"
 
 class QString;
 class ProfileDir;
@@ -28,6 +29,7 @@
 	QSettings *attributes;
 	QDir mainDir;
 	QList< QPointer<ProfileDir> > profiles;
+	QList<Class> classes;
 };
 
 #endif // STUDENTDIR_P_H

Modified: tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp	2009-08-06 17:39:45 UTC (rev 1385)
@@ -100,4 +100,10 @@
 	}
 }
 
+QList<Class> *Teacher::classes()
+{
+	Q_D(Teacher);
+	return &d->classes;
+}
 
+

Modified: tux4kids-admin/trunk/libtux4kidsadmin/teacher.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/teacher.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/teacher.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -3,8 +3,10 @@
 
 #include <QtGlobal>
 #include <QString>
+#include <QList>
 
 #include "libtux4kidsadmin_global.h"
+#include "class.h"
 
 class TeacherPrivate;
 
@@ -23,6 +25,7 @@
 	void setId(int id);
 	Teacher &operator=(const Teacher &other);
 	bool operator==(const Teacher &other) const;
+	QList<Class> *classes();
 
 protected:
 

Modified: tux4kids-admin/trunk/libtux4kidsadmin/teacher_p.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/teacher_p.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/libtux4kidsadmin/teacher_p.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -17,7 +17,7 @@
 	int id;
 	QString firstName;
 	QString lastName;
-
+	QList<Class> classes;
 };
 
 #endif // TEACHER_P_H

Modified: tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp	2009-08-06 17:39:45 UTC (rev 1385)
@@ -54,16 +54,16 @@
 	Class result;
 
 	result.setName(m_ui->nameEdit->text());
-	result.setStudents(m_selectStudentWidget->studentTableModel()->selectedStudentsDirNames());
-	result.setTeachers(m_selectTeacherWidget->teacherTableModel()->selectedTeachers());
+	*result.students() = m_selectStudentWidget->studentTableModel()->selectedStudentsDirNames();
+	*result.teachers() = m_selectTeacherWidget->teacherTableModel()->selectedTeachers();
 
 	return result;
 }
 
-void EditClassDialog::setClass(const Class & newClass)
+void EditClassDialog::setClass(Class & newClass)
 {
 	m_ui->nameEdit->setText(newClass.name());
-	m_selectTeacherWidget->teacherTableModel()->setSelectedTeachers(newClass.teachers());
-	m_selectStudentWidget->studentTableModel()->setSelectedStudents(newClass.students());
+	m_selectTeacherWidget->teacherTableModel()->setSelectedTeachers(*newClass.teachers());
+	m_selectStudentWidget->studentTableModel()->setSelectedStudents(*newClass.students());
 }
 

Modified: tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -23,7 +23,7 @@
 	~EditClassDialog();
 
 	Class getClass() const;
-	void setClass(const Class & newClass);
+	void setClass(Class & newClass);
 
 private:
 	Ui::EditClassDialog *m_ui;

Modified: tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.cpp	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.cpp	2009-08-06 17:39:45 UTC (rev 1385)
@@ -1,6 +1,8 @@
 #include "studentTableModel.h"
 #include "schoolData.h"
 #include "studentDir.h"
+#include "schoolDatabase.h"
+#include "class.h"
 
 #include <QDebug>
 #include <QStringList>
@@ -95,7 +97,7 @@
 	return false;
 }
 
-void StudentTableModel::setSchoolData(const SchoolData *schoolData)
+void StudentTableModel::setSchoolData(SchoolData *schoolData)
 {
 	m_students = schoolData->students();
 
@@ -104,6 +106,10 @@
 	}
 	connect(schoolData, SIGNAL(studentAdded(StudentDir*)), this,
 		SLOT(addStudent(StudentDir*)));
+	connect(schoolData->schoolDatabase(), SIGNAL(classAdded()), this, SLOT(addClass(const Class &)));
+	connect(schoolData->schoolDatabase(), SIGNAL(classUpdated(const Class &)), this, SLOT(updateClass(const Class &)));
+	connect(schoolData->schoolDatabase(), SIGNAL(classDeleted(const Class &)), this, SLOT(deleteClass(const Class &)));
+
 	reset();
 }
 
@@ -146,3 +152,29 @@
 	emit dataChanged(index(0, StudentSelected), index(rowCount() - 1, StudentSelected));
 }
 
+void StudentTableModel::addClass(Class &newClass)
+{
+	foreach (StudentDir * student, m_students) {
+		if (newClass.students()->contains(student->dirName())) {
+			student->classes()->append(newClass);
+		}
+	}
+}
+
+void StudentTableModel::updateClass(Class &updatedClass)
+{
+	foreach (StudentDir *student, m_students) {
+		student->classes()->removeOne(updatedClass);
+		if (updatedClass.students()->contains(student->dirName())) {
+			student->classes()->append(updatedClass);
+		}
+	}
+}
+
+void StudentTableModel::deleteClass(Class &deletedClass)
+{
+	foreach (StudentDir *student, m_students) {
+		student->classes()->removeOne(deletedClass);
+	}
+}
+

Modified: tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -7,6 +7,7 @@
 
 class StudentDir;
 class SchoolData;
+class Class;
 
 class StudentTableModel : public QAbstractTableModel
 {
@@ -25,7 +26,7 @@
 	void setSelectedStudents(const QStringList &selectedStudentsDirNames);
 	void clearSelection();
 
-	void setSchoolData(const SchoolData *schoolData);
+	void setSchoolData(SchoolData *schoolData);
 
 	enum StudentField {
 		StudentSelected = 0,
@@ -40,6 +41,9 @@
 
 private slots:
 	void addStudent(StudentDir *newStudent);
+	void addClass(Class &newClass);
+	void updateClass(Class &updatedClass);
+	void deleteClass(Class &deletedClass);
 };
 
 #endif // STUDENTTABLEMODEL_H

Modified: tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp	2009-08-06 17:39:45 UTC (rev 1385)
@@ -1,6 +1,9 @@
 #include "teacherTableModel.h"
 #include "schoolDatabase.h"
+#include "class.h"
+
 #include <QDebug>
+#include <QStringList>
 
 TeacherTableModel::TeacherTableModel(QObject *parent)
 		: QAbstractTableModel(parent)
@@ -101,11 +104,17 @@
 		this, SLOT(updateTeacher(const Teacher &)));
 	connect(m_schoolDatabase, SIGNAL(teacherDeleted(const Teacher &)),
 		this, SLOT(deleteTeacher(const Teacher &)));
+	connect(schoolDatabase, SIGNAL(classAdded()),
+		this, SLOT(addClass(const Class &)));
+	connect(schoolDatabase, SIGNAL(classUpdated(const Class &)),
+		this, SLOT(updateClass(const Class &)));
+	connect(schoolDatabase, SIGNAL(classDeleted(const Class &)),
+		this, SLOT(deleteClass(const Class &)));
 	reset();
 
 }
 
-void TeacherTableModel::addTeacher(const Teacher &teacher)
+void TeacherTableModel::addTeacher(Teacher &teacher)
 {
 	beginInsertRows(QModelIndex(), m_teachers.size(), m_teachers.size());
 	m_teachers.append(teacher);
@@ -113,7 +122,7 @@
 	endInsertRows();
 }
 
-void TeacherTableModel::updateTeacher(const Teacher &teacher)
+void TeacherTableModel::updateTeacher(Teacher &teacher)
 {
 	int pos = m_teachers.indexOf(teacher);
 	if (pos != -1) {
@@ -122,7 +131,7 @@
 	}
 }
 
-void TeacherTableModel::deleteTeacher(const Teacher &teacher)
+void TeacherTableModel::deleteTeacher(Teacher &teacher)
 {
 	int pos = m_teachers.indexOf(teacher);
 	if (pos != -1) {
@@ -164,3 +173,29 @@
 	emit dataChanged(index(0, TeacherSelected), index(rowCount() - 1, TeacherSelected));
 }
 
+void TeacherTableModel::addClass(Class &newClass)
+{
+	for (int i = 0; i < m_teachers.size(); ++i) {
+		if (newClass.teachers()->contains(m_teachers.at(i))) {
+			m_teachers[i].classes()->append(newClass);
+		}
+	}
+}
+
+void TeacherTableModel::updateClass(Class &updatedClass)
+{
+	for(int i = 0; i < m_teachers.size(); ++i) {
+		m_teachers[i].classes()->removeOne(updatedClass);
+		if (updatedClass.teachers()->contains(m_teachers.at(i))) {
+			m_teachers[i].classes()->append(updatedClass);
+		}
+	}
+}
+
+void TeacherTableModel::deleteClass(Class &deletedClass)
+{
+	for (int i = 0; i < m_teachers.size(); ++i) {
+		m_teachers[i].classes()->removeOne(deletedClass);
+	}
+}
+

Modified: tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.h	2009-08-05 23:01:39 UTC (rev 1384)
+++ tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.h	2009-08-06 17:39:45 UTC (rev 1385)
@@ -7,6 +7,7 @@
 #include "teacher.h"
 
 class SchoolDatabase;
+class Class;
 
 class TeacherTableModel : public QAbstractTableModel
 {
@@ -37,9 +38,12 @@
 	QList<bool> m_teachersSelection;
 
 private slots:
-	void addTeacher(const Teacher &teacher);
-	void updateTeacher(const Teacher &teacher);
-	void deleteTeacher(const Teacher &teacher);
+	void addTeacher(Teacher &teacher);
+	void updateTeacher(Teacher &teacher);
+	void deleteTeacher(Teacher &teacher);
+	void addClass(Class &newClass);
+	void updateClass(Class &updatedClass);
+	void deleteClass(Class &deletedClass);
 
 };
 




More information about the Tux4kids-commits mailing list