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()));
        }
    }
    */

}