예제 #1
0
파일: mainwindow.cpp 프로젝트: N45ING/CWDB
void MainWindow::on_actionFindStudent_triggered()
{
    fStudentDialog = new findStudentDialog(student,this);
    connect(fStudentDialog, SIGNAL(accepted()), this, SLOT(updateTableView()));
    connect(fStudentDialog, SIGNAL(accepted()), this, SLOT(findStudent()));
    fStudentDialog->show();
}
예제 #2
0
int viewManager::deleteRow()
{
    QSqlQuery query(db);
    QSqlQuery auxQuery(db);

    QString queryStr;
    //deleteRow es el row que vamos a borrar (tiene que estar seleccionado por el usuario).
    //El codigo cliente debe validar que no devuelva -1 (ninguna row seleccionada).
    int deleteRow = innerTable->currentIndex().row();
    QString deleteID;;


    //Hago un select para tener a disposicion todas las filas.
    if (!auxQuery.exec("SELECT `id`,`nombre`,`temp`,`days`,`hours`,`mins` FROM `perfiles`"))
    {
        qDebug() << query.lastError();
        myLastError = auxQuery.lastError();
        return -1;
    }

    //Selecciono la fila que se debe borrar.
    auxQuery.seek(deleteRow);
    //Tomo el ID unico de la planta que vamos a borrar (columna 0).
    deleteID = auxQuery.value(0).toString();

    qDebug() << "deleteRow: "  << deleteRow;
    qDebug() <<"deleteID: "    << deleteID;

    //Armo la sentencia SQL para borrar la fila correspondiente.
    queryStr = "DELETE FROM `perfiles` WHERE `id` = " ;
    queryStr += deleteID;
    qDebug() << "queryStr: " <<queryStr;

    //Seteo la sentencia.
    query.prepare(queryStr);

    //Ejecuto la sentencia SQL.
    if (!query.exec())
    {
        qDebug() << query.lastError();
        //Si devolvio error, lo guardo en la variable local para que el codigo cliente lo pueda ver.
        myLastError = query.lastError();
        return 0;
    }

    //Finalmente actualizo la vista (es decir la QTableView)
    updateTableView();
    return 1;


}
예제 #3
0
bool viewManager::newRow()
{
    //Declaro una query asociada a la base de datos abierta (db).
    QSqlQuery query(db);
    //Ejecuto la sentencia correspondiente para crear una nueva fila.
    if (!query.exec("INSERT INTO `perfiles` (`nombre`,`temp`,`days`,`hours`,`mins`) VALUES (\"Nuevo Perfil\",25,0,2,0)") )
    {
        qDebug() << query.lastError();
        myLastError = query.lastError();
        return FALSE;
    }
    //Actualizo la vista para reflejar los cambios.
    updateTableView();


    return TRUE;
}
예제 #4
0
void TabWidget::uploadRequestFinished() {
    if (reply->error() == QNetworkReply::NoError) {
        UploadList::current_uploading->descr(reply->rawHeader("Location"));
        UploadList::current_uploading->state(tr("uploaded"));
        m_ui->label_progress->setText(tr("Finished"));
        m_ui->progressBar->setValue(m_ui->progressBar->maximum());
    }
    UploadList::current_uploading = NULL;
    upload_file = NULL;
    payload->deleteLater();
    payload = NULL;
    updateTableView();
    if (reply->error() == QNetworkReply::NoError) {
        reply->deleteLater();
        newUpload();
    }
    else
        reply->deleteLater();
}
예제 #5
0
void TabWidget::jsonRequestFinished() {
    int upload_limit;

    if (reply->error() == QNetworkReply::NoError) {
        script_value = script_engine.evaluate("(" + reply->readAll() + ")");
        session = reply->rawHeader("Set-Cookie");
        reply->deleteLater();
        upload_limit = script_value.property("upload_limit").toInteger();

        if ( upload_file->size() > upload_limit*1024*1024) {
            UploadList::current_uploading->descr(tr("Upload size limit (%1 MB)").arg(upload_limit));
            UploadList::current_uploading->state(tr("error"));
            UploadList::current_uploading = NULL;
            upload_file->close();
            upload_file = NULL;
            updateTableView();
            return;
        }
        startUpload();
    }
    else
        reply->deleteLater();
}
예제 #6
0
파일: mainwindow.cpp 프로젝트: N45ING/CWDB
void MainWindow::findVisit()
{
    changeSize(false);
    if(visit->facultyName != QObject::tr("Невідомо"))
    {
        if(visit->groupName != QObject::tr("Невідомо"))
        {
            if(visit->diagnosis != QObject::tr("Будь-яка"))
            {
                QString beginDateString = visit->beginDate.toString("yyyy-MM-dd");
                QString endDateString = visit->endDate.toString("yyyy-MM-dd");
                QString facultyName = visit->facultyName;
                QString groupName = visit->groupName;
                QString diagnosis = visit->diagnosis;
                qmodel->setQuery(QString("SELECT visit.id as vid,"
                                         " visit.date as vdate, student.name as sname,"
                                         " faculty.name as fname, groups.name as gname,"
                                         " diagnosis.name as diname, doctor.name as doname"
                                         " FROM visit, student, faculty, groups, diagnosis, doctor"
                                         " WHERE visit.date >= '%1' and visit.date <= '%2'"
                                         " and faculty.name = '%3' and groups.name = '%4'"
                                         " and diagnosis.name = '%5'"
                                         " and visit.stud_id = student.id and student.faculty_id = faculty.id"
                                         " and student.group_id = groups.id and visit.diag_id = diagnosis.id"
                                         " and visit.doctor_id = doctor.id"
                                         " GROUP BY vid").arg(beginDateString).arg(endDateString).arg(facultyName).arg(groupName).arg(diagnosis));
                qmodel->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
                qmodel->setHeaderData(1, Qt::Horizontal, QObject::tr("Дата"));
                qmodel->setHeaderData(2, Qt::Horizontal, QObject::tr("Ім'я студента"));
                qmodel->setHeaderData(3, Qt::Horizontal, QObject::tr("Факультет"));
                qmodel->setHeaderData(4, Qt::Horizontal, QObject::tr("Група"));
                qmodel->setHeaderData(5, Qt::Horizontal, QObject::tr("Діагноз"));
                qmodel->setHeaderData(6, Qt::Horizontal, QObject::tr("Лікар"));
                ui->tableView->setModel(qmodel);
                updateTableView();
            }
            else
            {
                QString beginDateString = visit->beginDate.toString("yyyy-MM-dd");
                QString endDateString = visit->endDate.toString("yyyy-MM-dd");
                QString facultyName = visit->facultyName;
                QString groupName = visit->groupName;
                qmodel->setQuery(QString("SELECT visit.id as vid,"
                                         " visit.date as vdate, student.name as sname,"
                                         " faculty.name as fname, groups.name as gname,"
                                         " diagnosis.name as diname, doctor.name as doname"
                                         " FROM visit, student, faculty, groups, diagnosis, doctor"
                                         " WHERE visit.date >= '%1' and visit.date <= '%2'"
                                         " and faculty.name = '%3' and groups.name = '%4'"
                                         " and visit.stud_id = student.id and student.faculty_id = faculty.id"
                                         " and student.group_id = groups.id and visit.diag_id = diagnosis.id"
                                         " and visit.doctor_id = doctor.id"
                                         " GROUP BY vid").arg(beginDateString).arg(endDateString).arg(facultyName).arg(groupName));
                qmodel->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
                qmodel->setHeaderData(1, Qt::Horizontal, QObject::tr("Дата"));
                qmodel->setHeaderData(2, Qt::Horizontal, QObject::tr("Ім'я студента"));
                qmodel->setHeaderData(3, Qt::Horizontal, QObject::tr("Факультет"));
                qmodel->setHeaderData(4, Qt::Horizontal, QObject::tr("Група"));
                qmodel->setHeaderData(5, Qt::Horizontal, QObject::tr("Діагноз"));
                qmodel->setHeaderData(6, Qt::Horizontal, QObject::tr("Лікар"));
                ui->tableView->setModel(qmodel);
                updateTableView();
            }
        }
        else
        {
            if(visit->diagnosis != QObject::tr("Будь-яка"))
            {
                QString beginDateString = visit->beginDate.toString("yyyy-MM-dd");
                QString endDateString = visit->endDate.toString("yyyy-MM-dd");
                QString facultyName = visit->facultyName;
                QString diagnosis = visit->diagnosis;
                qmodel->setQuery(QString("SELECT visit.id as vid,"
                                         " visit.date as vdate, student.name as sname,"
                                         " faculty.name as fname, groups.name as gname,"
                                         " diagnosis.name as diname, doctor.name as doname"
                                         " FROM visit, student, faculty, groups, diagnosis, doctor"
                                         " WHERE visit.date >= '%1' and visit.date <= '%2'"
                                         " and faculty.name = '%3' and diagnosis.name = '%4'"
                                         " and visit.stud_id = student.id and student.faculty_id = faculty.id"
                                         " and student.group_id = groups.id and visit.diag_id = diagnosis.id"
                                         " and visit.doctor_id = doctor.id"
                                         " GROUP BY vid"
                                         " ORDER BY vdate").arg(beginDateString).arg(endDateString).arg(facultyName).arg(diagnosis));
                qmodel->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
                qmodel->setHeaderData(1, Qt::Horizontal, QObject::tr("Дата"));
                qmodel->setHeaderData(2, Qt::Horizontal, QObject::tr("Ім'я студента"));
                qmodel->setHeaderData(3, Qt::Horizontal, QObject::tr("Факультет"));
                qmodel->setHeaderData(4, Qt::Horizontal, QObject::tr("Група"));
                qmodel->setHeaderData(5, Qt::Horizontal, QObject::tr("Діагноз"));
                qmodel->setHeaderData(6, Qt::Horizontal, QObject::tr("Лікар"));
                ui->tableView->setModel(qmodel);
                updateTableView();
            }
            else
            {
                QString beginDateString = visit->beginDate.toString("yyyy-MM-dd");
                QString endDateString = visit->endDate.toString("yyyy-MM-dd");
                QString facultyName = visit->facultyName;
                qmodel->setQuery(QString("SELECT visit.id as vid,"
                                         " visit.date as vdate, student.name as sname,"
                                         " faculty.name as fname, groups.name as gname,"
                                         " diagnosis.name as diname, doctor.name as doname"
                                         " FROM visit, student, faculty, groups, diagnosis, doctor"
                                         " WHERE visit.date >= '%1' and visit.date <= '%2'"
                                         " and faculty.name = '%3'"
                                         " and visit.stud_id = student.id and student.faculty_id = faculty.id"
                                         " and student.group_id = groups.id and visit.diag_id = diagnosis.id"
                                         " and visit.doctor_id = doctor.id"
                                         " GROUP BY vid"
                                         " ORDER BY vdate").arg(beginDateString).arg(endDateString).arg(facultyName));
                qmodel->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
                qmodel->setHeaderData(1, Qt::Horizontal, QObject::tr("Дата"));
                qmodel->setHeaderData(2, Qt::Horizontal, QObject::tr("Ім'я студента"));
                qmodel->setHeaderData(3, Qt::Horizontal, QObject::tr("Факультет"));
                qmodel->setHeaderData(4, Qt::Horizontal, QObject::tr("Група"));
                qmodel->setHeaderData(5, Qt::Horizontal, QObject::tr("Діагноз"));
                qmodel->setHeaderData(6, Qt::Horizontal, QObject::tr("Лікар"));
                ui->tableView->setModel(qmodel);
                updateTableView();
            }
        }
    }
    else
    {
        if(visit->diagnosis != QObject::tr("Будь-яка"))
        {
            QString beginDateString = visit->beginDate.toString("yyyy-MM-dd");
            QString endDateString = visit->endDate.toString("yyyy-MM-dd");
            QString diagnosis = visit->diagnosis;
            qmodel->setQuery(QString("SELECT visit.id as vid,"
                                     " visit.date as vdate, student.name as sname,"
                                     " faculty.name as fname, groups.name as gname,"
                                     " diagnosis.name as diname, doctor.name as doname"
                                     " FROM visit, student, faculty, groups, diagnosis, doctor"
                                     " WHERE visit.date >= '%1' and visit.date <= '%2'"
                                     " and diagnosis.name = '%3'"
                                     " and visit.stud_id = student.id and student.faculty_id = faculty.id"
                                     " and student.group_id = groups.id and visit.diag_id = diagnosis.id"
                                     " and visit.doctor_id = doctor.id"
                                     " GROUP BY vid"
                                     " ORDER BY vdate").arg(beginDateString).arg(endDateString).arg(diagnosis));
            qmodel->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
            qmodel->setHeaderData(1, Qt::Horizontal, QObject::tr("Дата"));
            qmodel->setHeaderData(2, Qt::Horizontal, QObject::tr("Ім'я студента"));
            qmodel->setHeaderData(3, Qt::Horizontal, QObject::tr("Факультет"));
            qmodel->setHeaderData(4, Qt::Horizontal, QObject::tr("Група"));
            qmodel->setHeaderData(5, Qt::Horizontal, QObject::tr("Діагноз"));
            qmodel->setHeaderData(6, Qt::Horizontal, QObject::tr("Лікар"));
            ui->tableView->setModel(qmodel);
            updateTableView();
        }
        else
        {
            QString beginDateString = visit->beginDate.toString("yyyy-MM-dd");
            QString endDateString = visit->endDate.toString("yyyy-MM-dd");
            qmodel->setQuery(QString("SELECT visit.id as vid,"
                                     " visit.date as vdate, student.name as sname,"
                                     " faculty.name as fname, groups.name as gname,"
                                     " diagnosis.name as diname, doctor.name as doname"
                                     " FROM visit, student, faculty, groups, diagnosis, doctor"
                                     " WHERE visit.date >= '%1' and visit.date <= '%2'"
                                     " and visit.stud_id = student.id and student.faculty_id = faculty.id"
                                     " and student.group_id = groups.id and visit.diag_id = diagnosis.id"
                                     " and visit.doctor_id = doctor.id"
                                     " GROUP BY vid"
                                     " ORDER BY vdate").arg(beginDateString).arg(endDateString));
            qmodel->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
            qmodel->setHeaderData(1, Qt::Horizontal, QObject::tr("Дата"));
            qmodel->setHeaderData(2, Qt::Horizontal, QObject::tr("Ім'я студента"));
            qmodel->setHeaderData(3, Qt::Horizontal, QObject::tr("Факультет"));
            qmodel->setHeaderData(4, Qt::Horizontal, QObject::tr("Група"));
            qmodel->setHeaderData(5, Qt::Horizontal, QObject::tr("Діагноз"));
            qmodel->setHeaderData(6, Qt::Horizontal, QObject::tr("Лікар"));
            ui->tableView->setModel(qmodel);
            updateTableView();
        }
    }
}
예제 #7
0
파일: mainwindow.cpp 프로젝트: N45ING/CWDB
void MainWindow::on_submitButton_clicked()
{
    model->submitAll();
    emit updateTableView();
}
예제 #8
0
void TabWidget::newUpload(){
    prepareUpload();
    updateTableView();
}
예제 #9
0
void TabWidget::clearTableView() {
    UploadList::clear();
    updateTableView();
}
예제 #10
0
void TabWidget::uploadError(QNetworkReply::NetworkError status) {
    UploadList::current_uploading->descr(tr("Upload failed: %1.").arg(reply->errorString()));
    UploadList::current_uploading->state(tr("error"));
    UploadList::current_uploading = NULL;
    updateTableView();
}
예제 #11
0
int mainForm::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = Q3MainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: fileOpen((*reinterpret_cast< const QString(*)>(_a[1]))); break;
        case 1: fileOpen(); break;
        case 2: fileNew(); break;
        case 3: populateStructure(); break;
        case 4: populateTable((*reinterpret_cast< const QString(*)>(_a[1]))); break;
        case 5: resetBrowser(); break;
        case 6: fileClose(); break;
        case 7: fileExit(); break;
        case 8: closeEvent((*reinterpret_cast< QCloseEvent*(*)>(_a[1]))); break;
        case 9: addRecord(); break;
        case 10: deleteRecord(); break;
        case 11: updateTableView((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 12: selectTableLine((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 13: navigatePrevious(); break;
        case 14: navigateNext(); break;
        case 15: navigateGoto(); break;
        case 16: setRecordsetLabel(); break;
        case 17: browseFind((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 18: browseFindAway(); break;
        case 19: lookfor((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break;
        case 20: showrecord((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 21: createTable(); break;
        case 22: createIndex(); break;
        case 23: compact(); break;
        case 24: deleteTable(); break;
        case 25: editTable(); break;
        case 26: deleteIndex(); break;
        case 27: copy(); break;
        case 28: paste(); break;
        case 29: helpWhatsThis(); break;
        case 30: helpAbout(); break;
        case 31: updateRecordText((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3]))); break;
        case 32: logWinAway(); break;
        case 33: editWinAway(); break;
        case 34: editText((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 35: doubleClickTable((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QPoint(*)>(_a[4]))); break;
        case 36: executeQuery(); break;
        case 37: mainTabSelected((*reinterpret_cast< const QString(*)>(_a[1]))); break;
        case 38: toggleLogWindow((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 39: importTableFromCSV(); break;
        case 40: exportTableToCSV(); break;
        case 41: dbState((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 42: fileSave(); break;
        case 43: fileRevert(); break;
        case 44: exportDatabaseToSQL(); break;
        case 45: importDatabaseFromSQL(); break;
        case 46: openPreferences(); break;
        case 47: updatePreferences(); break;
        case 48: languageChange(); break;
        default: ;
        }
        _id -= 49;
    }
    return _id;
}
예제 #12
0
void DeduccionDialog::prepareWidget()
{
    tableModel = new QSqlQueryModel(this);
    updateTableView();
}
예제 #13
0
void DeduccionDialog::on_busquedaLineEdit_textChanged(const QString &arg1)
{
    updateTableView(arg1);
}