[Tux4kids-commits] r1310 - in tux4kids-admin/trunk/tux4kids-admin: . src
Michał Świtakowski
swistakers-guest at alioth.debian.org
Fri Jul 31 19:59:30 UTC 2009
Author: swistakers-guest
Date: 2009-07-31 19:59:29 +0000 (Fri, 31 Jul 2009)
New Revision: 1310
Added:
tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.cpp
tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.h
Modified:
tux4kids-admin/trunk/tux4kids-admin/src/CMakeLists.txt
tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h
tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.cpp
tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.h
tux4kids-admin/trunk/tux4kids-admin/src/src.pro
Log:
+ClassTableProxyModel
Added: tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.cpp (rev 0)
+++ tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.cpp 2009-07-31 19:59:29 UTC (rev 1310)
@@ -0,0 +1,25 @@
+#include "classTableProxyModel.h"
+#include "classTableModel.h"
+
+ClassTableProxyModel::ClassTableProxyModel(QObject *parent )
+ : QSortFilterProxyModel(parent)
+{
+}
+
+bool ClassTableProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const
+{
+ QVariant leftData = sourceModel()->data(left);
+ QVariant rightData = sourceModel()->data(right);
+
+ switch(left.column()) {
+ case ClassTableModel::ClassSelected:
+ if (leftData.toBool() && !rightData.toBool()) {
+ return true;
+ } else {
+ return false;
+ };
+ case ClassTableModel::ClassName:
+ return QString::localeAwareCompare(leftData.toString(),
+ rightData.toString()) < 0;
+ }
+}
Added: tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.h (rev 0)
+++ tux4kids-admin/trunk/tux4kids-admin/classTableProxyModel.h 2009-07-31 19:59:29 UTC (rev 1310)
@@ -0,0 +1,15 @@
+#ifndef CLASSTABLEPROXYMODEL_H
+#define CLASSTABLEPROXYMODEL_H
+
+#include <QSortFilterProxyModel>
+
+class ClassTableProxyModel : public QSortFilterProxyModel
+{
+ Q_OBJECT
+public:
+ ClassTableProxyModel(QObject *parent = 0);
+
+ bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
+};
+
+#endif // CLASSTABLEPROXYMODEL_H
Modified: tux4kids-admin/trunk/tux4kids-admin/src/CMakeLists.txt
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/CMakeLists.txt 2009-07-31 19:24:21 UTC (rev 1309)
+++ tux4kids-admin/trunk/tux4kids-admin/src/CMakeLists.txt 2009-07-31 19:59:29 UTC (rev 1310)
@@ -17,7 +17,8 @@
classTableModel.cpp
manageClassDialog.cpp
manageTeachersWidget.cpp
- teacherTableModel.cpp )
+ teacherTableModel.cpp
+ ../classTableProxyModel.cpp )
SET(TUX4KIDS-ADMIN_MOC_HEADERS
mainWindow.h
@@ -32,7 +33,8 @@
classTableModel.h
manageClassDialog.h
manageTeachersWidget.h
- teacherTableModel.h )
+ teacherTableModel.h
+ ../classTableProxyModel.h )
SET(TUX4KIDS-ADMIN_UIS
mainWindow.ui
Modified: tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h 2009-07-31 19:24:21 UTC (rev 1309)
+++ tux4kids-admin/trunk/tux4kids-admin/src/classTableModel.h 2009-07-31 19:59:29 UTC (rev 1310)
@@ -21,12 +21,13 @@
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
void setSchoolDatabase(SchoolDatabase *schoolDatabase);
-private:
enum ClassField {
ClassSelected = 0,
ClassName = 1,
};
+private:
+
QPointer<SchoolDatabase> m_schoolDatabase;
QList<Class> m_classes;
QList<bool> m_classesSelection;
Modified: tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.cpp
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.cpp 2009-07-31 19:24:21 UTC (rev 1309)
+++ tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.cpp 2009-07-31 19:59:29 UTC (rev 1310)
@@ -10,7 +10,8 @@
{
m_ui->setupUi(this);
- m_ui->classesTable->setModel(m_mainController->classTableModel());
+ m_classTableProxyModel.setSourceModel(m_mainController->classTableModel());
+ m_ui->classesTable->setModel(&m_classTableProxyModel);
connect(m_ui->addClassButton, SIGNAL(clicked()), this, SLOT(addClicked()));
}
Modified: tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.h
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.h 2009-07-31 19:24:21 UTC (rev 1309)
+++ tux4kids-admin/trunk/tux4kids-admin/src/manageClassesWidget.h 2009-07-31 19:59:29 UTC (rev 1310)
@@ -4,6 +4,8 @@
#include <QtGui/QWidget>
#include <QPointer>
+#include "classTableProxyModel.h"
+
namespace Ui {
class ManageClassesWidget;
}
@@ -23,6 +25,7 @@
QPointer<MainController> m_mainController;
QPointer<ManageClassDialog> m_addClassDialog;
+ ClassTableProxyModel m_classTableProxyModel;
private slots:
void addClicked();
Modified: tux4kids-admin/trunk/tux4kids-admin/src/src.pro
===================================================================
--- tux4kids-admin/trunk/tux4kids-admin/src/src.pro 2009-07-31 19:24:21 UTC (rev 1309)
+++ tux4kids-admin/trunk/tux4kids-admin/src/src.pro 2009-07-31 19:59:29 UTC (rev 1310)
@@ -18,7 +18,8 @@
classTableModel.cpp \
manageClassDialog.cpp \
manageTeachersWidget.cpp \
- teacherTableModel.cpp
+ teacherTableModel.cpp \
+ ../classTableProxyModel.cpp
HEADERS += mainWindow.h \
mainController.h \
pluginManager.h \
@@ -33,7 +34,8 @@
classTableModel.h \
manageClassDialog.h \
manageTeachersWidget.h \
- teacherTableModel.h
+ teacherTableModel.h \
+ ../classTableProxyModel.h
FORMS += mainWindow.ui \
pluginManagerDialog.ui \
manageStudentsWidget.ui \
More information about the Tux4kids-commits
mailing list