Пример #1
0
void SEGSAdminTool::create_databases(bool overwrite)
{
    QPixmap check_icon(":icons/Resources/check.svg");
    QPixmap alert_triangle(":icons/Resources/alert-triangle.svg");
    ui->runDBTool->setEnabled(false);
    ui->runDBTool->setText("Please Wait...");
    ui->output->appendPlainText("Setting arguments...");
    qApp->processEvents();
    qDebug() << "Setting arguments...";
    QString program = "dbtool create";
    if(overwrite)
    {
        program.append(" -f");
    }
    #if defined(Q_OS_LINUX) || defined(Q_OS_MACOS)
    program.prepend("./");
    #endif
    m_createDB = new QProcess(this);
    m_createDB->start(program);

    if(m_createDB->waitForStarted())
    {
        ui->output->appendPlainText("Starting DBTool Create Databases...");
        qApp->processEvents();
        qDebug() << "Starting DBTool Create Databases...";
        connect(m_createDB,&QProcess::readyReadStandardError,this,&SEGSAdminTool::read_createDB);
        connect(m_createDB,&QProcess::readyReadStandardOutput,this,&SEGSAdminTool::read_createDB);
        m_createDB->write("\n");
        m_createDB->closeWriteChannel();
        m_createDB->waitForFinished();
        emit checkForDB(true);
        ui->icon_status_db->setPixmap(check_icon);
        qApp->processEvents();
        emit addAdminUser();
    }
    else
    {
        ui->output->appendPlainText("Failed to start DBTool Add User... "
                                    "**Please ensure you are NOT running as an administrator or sudo user**");
        qDebug() <<"Failed to start DBTool Add User...";
        emit checkForDB(true);
        qApp->processEvents();
    }
}
Пример #2
0
void SEGSAdminTool::create_databases(bool overwrite)
{
    ui->runDBTool->setEnabled(false);
    ui->runDBTool->setText("Please Wait...");
    ui->output->appendPlainText("Setting arguments...");
    qApp->processEvents();
    qDebug() << "Setting arguments...";
    QString program = "dbtool create";
    if (overwrite)
    {
        program.append(" -f");
    }
    #if defined(Q_OS_LINUX) || defined(Q_OS_MACOS)
    program.prepend("./");
    #endif
    m_createDB = new QProcess(this);
    m_createDB->start(program);

    if (m_createDB->waitForStarted())
    {
        ui->output->appendPlainText("Starting DBTool Create Databases...");
        qApp->processEvents();
        qDebug() << "Starting DBTool Create Databases...";
        connect(m_createDB,&QProcess::readyReadStandardError,this,&SEGSAdminTool::read_createDB);
        connect(m_createDB,&QProcess::readyReadStandardOutput,this,&SEGSAdminTool::read_createDB);
        m_createDB->write("\n");
        m_createDB->closeWriteChannel();
        m_createDB->waitForFinished();
        emit checkForDB(true);
        ui->icon_status_db->setText("<html><head/><body><p><img src=':/icons/icon_good.png'/></p></body></html>");
        qApp->processEvents();
        emit addAdminUser();
    }
    else
    {
        ui->output->appendPlainText("Failed to start DBTool Add User...");
        qDebug() <<"Failed to start DBTool Add User...";
        emit checkForDB(true);
        qApp->processEvents();
    }
}