void SqliteTrainerModel::initModels() { //QSqlQuery tablesAndViews("select name, type from sqlite_master where type in ('table','view') and name not like 'sqlite%'",m_db); QStringList tablesAndViews; tablesAndViews.append(m_db.tables(QSql::Tables)); tablesAndViews.append(m_db.tables(QSql::Views)); foreach(const QString tableName,tablesAndViews) { if(tableName.endsWith("_translations")) { //TranslationsSqlModel *model = new TranslationsSqlModel(this,m_db,tableName); TranslationsCachedModel *model = new TranslationsCachedModel(this,m_db); model->setTable(tableName); model->setObjectName(tableName); model->setEditStrategy(QSqlTableModel::OnManualSubmit); model->select(); m_models.append(model); } else { QSqlQueryModel *model = new QSqlQueryModel(this); model->setQuery("SELECT * FROM " + tableName,m_db); model->setObjectName(tableName); m_models.append(model); } } /* foreach(WortschatzTableModel *tableModel,m_tableList) { foreach(WortschatzTableModel *viewModel,m_viewList) { viewModel->connect(tableModel,SIGNAL(dataChanged(QModelIndex,QModelIndex)),SLOT(select())); viewModel->connect(tableModel,SIGNAL(modelReset()),SLOT(select())); } if(tableModel->tableName() == "cards") { connect(this,SIGNAL(tableCardsUpdated()),tableModel,SLOT(select())); } } */ }