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

Michał Świtakowski swistakers-guest at alioth.debian.org
Fri Jul 31 17:16:05 UTC 2009


Author: swistakers-guest
Date: 2009-07-31 17:16:05 +0000 (Fri, 31 Jul 2009)
New Revision: 1307

Modified:
   tux4kids-admin/trunk/libtux4kidsadmin/class.cpp
   tux4kids-admin/trunk/libtux4kidsadmin/class.h
   tux4kids-admin/trunk/libtux4kidsadmin/schoolData.cpp
   tux4kids-admin/trunk/libtux4kidsadmin/schoolData.h
   tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp
   tux4kids-admin/trunk/libtux4kidsadmin/teacher.h
   tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/mainController.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/mainController.h
   tux4kids-admin/trunk/tux4kids-admin/src/mainWindow.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.ui
   tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.cpp
   tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.h
   tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.ui
   tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp
Log:
gui works in read-only way

Modified: tux4kids-admin/trunk/libtux4kidsadmin/class.cpp
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/class.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/libtux4kidsadmin/class.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -1,5 +1,6 @@
 #include "class.h"
 #include "class_p.h"
+#include <QDebug>
 
 /***************************** ClassPrivate *********************/
 
@@ -27,6 +28,12 @@
 {
 }
 
+Class::Class(const Class& other)
+		: d_ptr(new ClassPrivate())
+{
+	*d_ptr = *other.d_ptr;
+}
+
 Class::~Class()
 {
 	Q_D(Class);

Modified: tux4kids-admin/trunk/libtux4kidsadmin/class.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/class.h	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/libtux4kidsadmin/class.h	2009-07-31 17:16:05 UTC (rev 1307)
@@ -14,6 +14,7 @@
 {
 public:
 	Class(QString name = QString());
+	Class(const Class& other);
 	~Class();
 
 	QString name() const;

Modified: tux4kids-admin/trunk/libtux4kidsadmin/schoolData.cpp
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/schoolData.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/libtux4kidsadmin/schoolData.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -109,3 +109,9 @@
 	return d->students;
 }
 
+SchoolDatabase *SchoolData::schoolDatabase()
+{
+	Q_D(SchoolData);
+	return &d->database;
+}
+

Modified: tux4kids-admin/trunk/libtux4kidsadmin/schoolData.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/schoolData.h	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/libtux4kidsadmin/schoolData.h	2009-07-31 17:16:05 UTC (rev 1307)
@@ -9,6 +9,7 @@
 class QString;
 class SchoolDataPrivate;
 class StudentDir;
+class SchoolDatabase;
 
 class LIBTUX4KIDSADMIN_SHARED_EXPORT SchoolData : public QObject
 {
@@ -26,6 +27,7 @@
 	StudentDir *addStudent();
 	//const StudentDir & studentDirAt(int index);
 	QList< QPointer<StudentDir> > students() const;
+	SchoolDatabase *schoolDatabase();
 
 protected:
 	SchoolDataPrivate * const d_ptr;

Modified: tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/libtux4kidsadmin/teacher.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -27,6 +27,12 @@
 {
 }
 
+Teacher::Teacher(const Teacher& other)
+		: d_ptr(new TeacherPrivate())
+{
+	*d_ptr = *other.d_ptr;
+}
+
 Teacher::~Teacher()
 {
 	Q_D(Teacher);

Modified: tux4kids-admin/trunk/libtux4kidsadmin/teacher.h
===================================================================
--- tux4kids-admin/trunk/libtux4kidsadmin/teacher.h	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/libtux4kidsadmin/teacher.h	2009-07-31 17:16:05 UTC (rev 1307)
@@ -12,6 +12,7 @@
 {
 public:
 	Teacher(QString firstName, QString lastName);
+	Teacher(const Teacher &other);
 	~Teacher();
 
 	QString firstName() const;

Modified: tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -34,7 +34,7 @@
 		}
 	} else if (role == Qt::CheckStateRole) {
 		if (index.column() == ClassSelected) {
-			if (m_classesSelection[index.row()]) {
+			if (m_classesSelection.at(index.row())) {
 				return Qt::Checked;
 			} else {
 				return Qt::Unchecked;
@@ -86,8 +86,10 @@
 {
 	m_schoolDatabase = schoolDatabase;
 	m_classes = m_schoolDatabase->classList();
-
-
+	m_classesSelection.clear();
+	for (int i = 0; i < m_classes.size(); i++) {
+		m_classesSelection.append(false);
+	}
 	reset();
 }
 

Modified: tux4kids-admin/trunk/tux4kids-admin/src/mainController.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/mainController.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/mainController.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -18,6 +18,8 @@
 
 	m_schoolData = new SchoolData(QDir::homePath() + "/school_data");
 	m_studentTableModel.setSchoolData(m_schoolData);
+	m_classTableModel.setSchoolDatabase(m_schoolData->schoolDatabase());
+	m_teacherTableModel.setSchoolDatabase(m_schoolData->schoolDatabase());
 }
 
 MainController::~MainController()
@@ -45,3 +47,8 @@
 	return &m_classTableModel;
 }
 
+TeacherTableModel *MainController::teacherTableModel()
+{
+	return &m_teacherTableModel;
+}
+

Modified: tux4kids-admin/trunk/tux4kids-admin/src/mainController.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/mainController.h	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/mainController.h	2009-07-31 17:16:05 UTC (rev 1307)
@@ -7,6 +7,7 @@
 #include "pluginManager.h"
 #include "studentTableModel.h"
 #include "classTableModel.h"
+#include "teacherTableModel.h"
 
 class SchoolData;
 
@@ -22,12 +23,14 @@
 	SchoolData *schoolData();
 	StudentTableModel *studentTableModel();
 	ClassTableModel *classTableModel();
+	TeacherTableModel *teacherTableModel();
 
 private:
 
 	PluginManager m_pluginManager;
 	StudentTableModel m_studentTableModel;
 	ClassTableModel m_classTableModel;
+	TeacherTableModel m_teacherTableModel;
 	QPointer<SchoolData> m_schoolData;
 
 };

Modified: tux4kids-admin/trunk/tux4kids-admin/src/mainWindow.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/mainWindow.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/mainWindow.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -11,10 +11,12 @@
 	m_ui->setupUi(this);
 
 	m_mainController = mainController;
-	m_ui->tabWidget->insertTab(1, new ManageStudentsWidget(m_mainController, this), tr("Students"));
-	m_ui->tabWidget->insertTab(2, new ManageClassesWidget(m_mainController, this), tr("Classes"));
-	m_ui->tabWidget->insertTab(3, (new ManageTeachersWidget(this)), tr("Teachers"));
 
+	m_ui->tabWidget->removeTab(0);
+	m_ui->tabWidget->insertTab(0, new ManageStudentsWidget(m_mainController, this), tr("Students"));
+	m_ui->tabWidget->insertTab(1, new ManageClassesWidget(m_mainController, this), tr("Classes"));
+	m_ui->tabWidget->insertTab(2, (new ManageTeachersWidget(m_mainController, this)), tr("Teachers"));
+
 	connect(m_ui->actionPlugins, SIGNAL(triggered()), this, SLOT(pluginsManagerClicked()));
 }
 

Modified: tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.ui
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.ui	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.ui	2009-07-31 17:16:05 UTC (rev 1307)
@@ -15,7 +15,20 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <widget class="QTableView" name="classesTable"/>
+    <widget class="QTableView" name="classesTable">
+     <property name="selectionMode">
+      <enum>QAbstractItemView::SingleSelection</enum>
+     </property>
+     <property name="selectionBehavior">
+      <enum>QAbstractItemView::SelectRows</enum>
+     </property>
+     <property name="verticalScrollMode">
+      <enum>QAbstractItemView::ScrollPerPixel</enum>
+     </property>
+     <property name="horizontalScrollMode">
+      <enum>QAbstractItemView::ScrollPerPixel</enum>
+     </property>
+    </widget>
    </item>
    <item>
     <widget class="QPushButton" name="addClassButton">

Modified: tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -1,11 +1,16 @@
 #include "manageTeachersWidget.h"
 #include "ui_manageTeachersWidget.h"
+#include "mainController.h"
 
-ManageTeachersWidget::ManageTeachersWidget(QWidget *parent) :
+ManageTeachersWidget::ManageTeachersWidget(MainController *mainController, QWidget *parent) :
 		QWidget(parent),
-		m_ui(new Ui::ManageTeachersWidget)
+		m_ui(new Ui::ManageTeachersWidget),
+		m_mainController(mainController)
+
 {
 	m_ui->setupUi(this);
+
+	m_ui->teachersTable->setModel(m_mainController->teacherTableModel());
 }
 
 ManageTeachersWidget::~ManageTeachersWidget()

Modified: tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.h	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.h	2009-07-31 17:16:05 UTC (rev 1307)
@@ -2,20 +2,24 @@
 #define MANAGETEACHERSWIDGET_H
 
 #include <QtGui/QWidget>
+#include <QPointer>
 
 namespace Ui {
 	class ManageTeachersWidget;
 }
 
+class MainController;
+
 class ManageTeachersWidget : public QWidget
 {
 	Q_OBJECT
 public:
-	ManageTeachersWidget(QWidget *parent = 0);
+	ManageTeachersWidget(MainController *mainController, QWidget *parent = 0);
 	~ManageTeachersWidget();
 
 private:
 	Ui::ManageTeachersWidget *m_ui;
+	QPointer<MainController> m_mainController;
 };
 
 #endif // MANAGETEACHERSWIDGET_H

Modified: tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.ui
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.ui	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/manageTeachersWidget.ui	2009-07-31 17:16:05 UTC (rev 1307)
@@ -15,7 +15,20 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <widget class="QTableView" name="teachersTable"/>
+    <widget class="QTableView" name="teachersTable">
+     <property name="selectionMode">
+      <enum>QAbstractItemView::SingleSelection</enum>
+     </property>
+     <property name="selectionBehavior">
+      <enum>QAbstractItemView::SelectRows</enum>
+     </property>
+     <property name="verticalScrollMode">
+      <enum>QAbstractItemView::ScrollPerPixel</enum>
+     </property>
+     <property name="horizontalScrollMode">
+      <enum>QAbstractItemView::ScrollPerPixel</enum>
+     </property>
+    </widget>
    </item>
   </layout>
  </widget>

Modified: tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp	2009-07-31 14:17:50 UTC (rev 1306)
+++ tux4kids-admin/trunk/tux4kids-admin/src/teacherTableModel.cpp	2009-07-31 17:16:05 UTC (rev 1307)
@@ -1,5 +1,6 @@
 #include "teacherTableModel.h"
 #include "schoolDatabase.h"
+#include <QDebug>
 
 TeacherTableModel::TeacherTableModel(QObject *parent)
 		: QAbstractTableModel(parent)
@@ -8,12 +9,12 @@
 
 int TeacherTableModel::columnCount(const QModelIndex &parent) const
 {
-	return m_teachers.size();
+	return 3;
 }
 
 int TeacherTableModel::rowCount(const QModelIndex &parent) const
 {
-	return 3;
+	return m_teachers.size();
 }
 
 QVariant TeacherTableModel::data(const QModelIndex &index, int role) const
@@ -91,11 +92,11 @@
 	m_schoolDatabase = schoolDatabase;
 	m_teachers = m_schoolDatabase->teacherList();
 	m_teachersSelection.clear();
-	for (int i = 0; i< m_teachers.size(); i++) {
+	for (int i = 0; i < m_teachers.size(); ++i) {
 		m_teachersSelection.append(false);
 	}
 	connect(m_schoolDatabase, SIGNAL(teacherAdded(const Teacher &)),
-		this, SLOT(teacherAdded(const Teacher &)));
+		this, SLOT(addTeacher(const Teacher &)));
 	connect(m_schoolDatabase, SIGNAL(teacherUpdated(const Teacher &)),
 		this, SLOT(updateTeacher(const Teacher &)));
 	connect(m_schoolDatabase, SIGNAL(teacherDeleted(const Teacher &)),




More information about the Tux4kids-commits mailing list