[Tux4kids-commits] r1384 - tux4kids-admin/trunk/tux4kids-admin/src

Michał Świtakowski swistakers-guest at alioth.debian.org
Wed Aug 5 23:01:39 UTC 2009


Author: swistakers-guest
Date: 2009-08-05 23:01:39 +0000 (Wed, 05 Aug 2009)
New Revision: 1384

Modified:
   tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h
   tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp
   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:
selection setting/getting/clearing in models

Modified: tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp	2009-08-05 22:33:42 UTC (rev 1383)
+++ tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp	2009-08-05 23:01:39 UTC (rev 1384)
@@ -130,3 +130,34 @@
 	}
 }
 
+QList<Class> ClassTableModel::selectedClasses() const
+{
+	QList<Class> result;
+	for (int i = 0; i < m_classesSelection.size(); ++i) {
+		if (m_classesSelection.at(i)) {
+			result.append(m_classes.at(i));
+		}
+	}
+	return result;
+}
+
+void ClassTableModel::setSelectedClasses(const QList<Class> &selectedClasses)
+{
+	for (int i = 0; i < m_classes.size(); ++i) {
+		if (selectedClasses.contains(m_classes.at(i))) {
+			m_classesSelection[i] = true;
+		} else {
+			m_classesSelection[i] = false;
+		}
+	}
+	emit dataChanged(index(0, ClassSelected), index(rowCount() - 1, ClassSelected));
+}
+
+void ClassTableModel::clearSelection()
+{
+	for (int i = 0; i < m_classesSelection.size(); ++i) {
+		m_classesSelection[i] = false;
+	}
+	emit dataChanged(index(0, ClassSelected), index(rowCount() - 1, ClassSelected));
+}
+

Modified: tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h	2009-08-05 22:33:42 UTC (rev 1383)
+++ tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h	2009-08-05 23:01:39 UTC (rev 1384)
@@ -19,6 +19,9 @@
 	Qt::ItemFlags flags(const QModelIndex &index) const;
 	bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::DisplayRole);
 	QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
+	QList<Class> selectedClasses() const;
+	void setSelectedClasses(const QList<Class> &selectedClasses);
+	void clearSelection();
 
 	void setSchoolDatabase(SchoolDatabase *schoolDatabase);
 

Modified: tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp	2009-08-05 22:33:42 UTC (rev 1383)
+++ tux4kids-admin/trunk/tux4kids-admin/src/editClassDialog.cpp	2009-08-05 23:01:39 UTC (rev 1384)
@@ -63,5 +63,7 @@
 void EditClassDialog::setClass(const Class & newClass)
 {
 	m_ui->nameEdit->setText(newClass.name());
+	m_selectTeacherWidget->teacherTableModel()->setSelectedTeachers(newClass.teachers());
+	m_selectStudentWidget->studentTableModel()->setSelectedStudents(newClass.students());
 }
 

Modified: tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.cpp	2009-08-05 22:33:42 UTC (rev 1383)
+++ tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.cpp	2009-08-05 23:01:39 UTC (rev 1384)
@@ -125,3 +125,24 @@
 	return result;
 }
 
+void StudentTableModel::setSelectedStudents(const QStringList &selectedStudentsDirNames)
+{
+	for (int i = 0; i < m_students.size(); ++i) {
+		if (selectedStudentsDirNames.contains(m_students.at(i)->dirName())) {
+			m_studentsSelection[i] = true;
+		} else {
+			m_studentsSelection[i] = false;
+		}
+	}
+	emit dataChanged(index(0, StudentSelected), index(rowCount() - 1, StudentSelected));
+}
+
+void StudentTableModel::clearSelection()
+{
+	for (int i = 0; i < m_studentsSelection.size(); ++i) {
+		m_studentsSelection[i] = false;
+	}
+
+	emit dataChanged(index(0, StudentSelected), index(rowCount() - 1, StudentSelected));
+}
+

Modified: tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.h	2009-08-05 22:33:42 UTC (rev 1383)
+++ tux4kids-admin/trunk/tux4kids-admin/src/studentTableModel.h	2009-08-05 23:01:39 UTC (rev 1384)
@@ -22,6 +22,8 @@
 	Qt::ItemFlags flags(const QModelIndex &index) const;
 	bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
 	QStringList selectedStudentsDirNames() const;
+	void setSelectedStudents(const QStringList &selectedStudentsDirNames);
+	void clearSelection();
 
 	void setSchoolData(const SchoolData *schoolData);
 

Modified: tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp	2009-08-05 22:33:42 UTC (rev 1383)
+++ tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp	2009-08-05 23:01:39 UTC (rev 1384)
@@ -156,3 +156,11 @@
 	emit dataChanged(index(0, TeacherSelected), index(rowCount() - 1, TeacherSelected));
 }
 
+void TeacherTableModel::clearSelection()
+{
+	for (int i = 0; i < m_teachersSelection.size(); ++i) {
+		m_teachersSelection[i] = false;
+	}
+	emit dataChanged(index(0, TeacherSelected), index(rowCount() - 1, TeacherSelected));
+}
+

Modified: tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.h	2009-08-05 22:33:42 UTC (rev 1383)
+++ tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.h	2009-08-05 23:01:39 UTC (rev 1384)
@@ -22,6 +22,7 @@
 	bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::DisplayRole);
 	QList<Teacher> selectedTeachers() const;
 	void setSelectedTeachers(const QList<Teacher> &selectedTeachers);
+	void clearSelection();
 
 	enum TeacherField {
 		TeacherSelected = 0,




More information about the Tux4kids-commits mailing list