[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