/** Sistema de Manejo de Matrices de Contabilidad Social, desarrollado a partir de Mayo de 2015. @file formloadmatrix.c @brief Clases y métodos del formulario que permite generar cargar la matriz @date 01/05/2015 @author José Ruiz @copyright GNU Public License versión 2 (GPLv2) */ #include "formloadmatrix.H" #include "ui_formLoadMatrix.h" /** @brief Método que permite cerrar el formulario @date 01/05/2015 @author José Ruiz */ void FormLoadMatrix::closeEvent(QCloseEvent *) { emit formClosed(); } /** @brief Clase principal que inicializa la interfaz @date 01/05/2015 @author José Ruiz @param Recibe el widget que será el padre */ FormLoadMatrix::FormLoadMatrix(QWidget * parent) : QWidget(parent, Qt::Tool), ui(new Ui::FormLoadMatrix) { ui->setupUi(this); int x = parent->pos().x() + parent->width()/2 - this->width()/2; int y = parent->pos().y() + parent->height()/2 - this->height()/2; this->move(x, y); connect(ui->buttonSearch, SIGNAL(clicked()),this,SLOT(slotLoadMatrixFile())); connect(ui->buttonCancel, SIGNAL(clicked()),this,SLOT(close())); connect(ui->buttonOpen, SIGNAL(clicked()), this, SLOT(slotButtonAcceptClicked())); } /** @brief Método que permite generar el diálogo para cargar un archivo @date 01/05/2015 @author José Ruiz */ void FormLoadMatrix::slotLoadMatrixFile() { QString filename = QFileDialog::getOpenFileName(this, "Seleccione archivo de Matriz", QDir::homePath(),"*.csv"); if(filename.isEmpty()) return; ui->editFilePath->setText(filename); } /** @brief Método que valida al pulsar el boton cargar y emite una SIGNAL @date 01/05/2015 @author José Ruiz */ void FormLoadMatrix::slotButtonAcceptClicked() { if (ui->editFilePath->text().isEmpty()) { QMessageBox::critical(this, "Faltan datos", "Debe seleccionar un archivo"); ui->editFilePath->setFocus(); return; } else if(!ui->radioAccount->isChecked() and !ui->radioComponent->isChecked()){ QMessageBox::critical(this, "Faltan datos", "Debe seleccionar si cargará cuentas y componentes o sólo componentes"); ui->editFilePath->setFocus(); return; } emit formAccepted(ui->editFilePath->text(), ui->spinNumber->value(),ui->spinBox->value()); close(); }