SettingDialog::SettingDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::SettingDialog)
{
    QSettings* mSettings;
    mSettings = new QSettings( "setting.ini", QSettings::IniFormat ); // iniファイルで設定を保存
    mSettings->setIniCodec( "UTF-8" ); // iniファイルの文字コード
    ui->setupUi(this);

    QVariant v = mSettings->value( "LogFilepath" );
    if (v.type() != QVariant::Invalid)
    {
        ui->Log->setText(v.toString());
    }
    v = mSettings->value( "Timeout" );
    if (v.type() != QVariant::Invalid)
    {
        ui->Timeout->setValue(v.toInt());
    }
    v = mSettings->value( "Gamespeed" );
    if (v.type() != QVariant::Invalid)
    {
        ui->Gamespeed->setValue(v.toInt());
    }
    v = mSettings->value( "Silent" );
    if (v.type() != QVariant::Invalid)
    {
        ui->SilentCheck->setChecked(v.toBool());
    }
    v = mSettings->value( "Maximum" );
    if (v.type() != QVariant::Invalid)
    {
        ui->MaximumCheck->setChecked(v.toBool());
    }
}
void MainController::setSkinName(QString skinName)
{
    mSkinName = skinName;
    QSettings *settings = new QSettings("fcitx-qimpanel", "main");
    settings->setIniCodec("UTF-8");
    settings->beginGroup("base");
    settings->setValue("CurtSkinType", skinName);
    settings->endGroup();
    delete settings;
}
void MainController::loadCfg()
{
    QSettings *settings = new QSettings("fcitx-qimpanel", "main");
    settings->setIniCodec("UTF-8");
    settings->beginGroup("base");
    mIsHorizontal = !settings->value("VerticalList", false).toBool();
    qDebug() << "mIsHorizontal:" << mIsHorizontal;
    mSkinName = settings->value("CurtSkinType", "ubuntukylin-dark1").toString();
    qDebug() << "mSkinName:" << mSkinName;
    settings->endGroup();
    delete settings;
}
void SettingDialog::Export(){

    QSettings* mSettings;
    mSettings = new QSettings( "setting.ini", QSettings::IniFormat ); // iniファイルで設定を保存
    mSettings->setIniCodec( "UTF-8" ); // iniファイルの文字コード

    mSettings->setValue( "LogFilepath", ui->Log->text() );
    mSettings->setValue( "Timeout"    , ui->Timeout->value() );
    mSettings->setValue( "Gamespeed"  , ui->Gamespeed->value());
    mSettings->setValue( "Silent"     , ui->SilentCheck->isChecked());
    mSettings->setValue( "Maximum"    , ui->MaximumCheck->isChecked());
    QMessageBox::information(this, tr("警告"), tr("設定は再起動後有効になります。"));
}
Example #5
0
void MirallConfigFile::removeConnection( const QString& connection )
{
    QString con( connection );
    if( connection.isEmpty() ) con = defaultConnection();

    qDebug() << "    removing the config file for connection " << con;

    // Currently its just removing the entire config file
    // TODO: Eh? Shouldn't it try to load a file under configFile() and set it to INI?
    QSettings settings;
    settings.setIniCodec( "UTF-8" );
    settings.beginGroup( con );
    settings.remove(QString::null);  // removes all content from the group
    settings.sync();
}
Example #6
0
ClientConnection::ClientConnection(QObject *parent) :
    QObject(parent)
{
    tcpSocket = new QTcpSocket(this);
    /*Get info from the config file*/
    QSettings *config = new QSettings("../Common/config.ini",QSettings::IniFormat);
    config->setIniCodec("UTF8");
    config->beginGroup("information");
    QString ip=config->value("HostAddress").toString();
    int portNumber = config->value("portNumber").toInt();
    ipAddress = QHostAddress(ip);
    port = portNumber;
    config->endGroup();

    connect(tcpSocket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(errorReport()));
}
Example #7
0
void Settings::changeWorkingDirectory(const QString &workDirPath)
{
    workDirPath_ = workDirPath;
    mutex_->lock();
    qsettings_->sync();

    QDir workDir(workDirPath);
    workDir.mkdir(".settings");

    const QString settingsFileName =
            workDirPath + "/.settings/" + pluginName_ + ".conf";
    QSettings * sett = new QSettings(settingsFileName, QSettings::IniFormat);
    sett->setIniCodec("UTF-8");

    qsettings_.reset(sett);
    settingsFile_ = qsettings_->fileName();

    mutex_->unlock();
}
int PainterNewImageDialog::exec()
{
    static const QString resourcesRoot = m_module->myResourcesDir().absolutePath();
    static const QString templatesDir = resourcesRoot;
    QDir dir(templatesDir);
    sl_templateFiles = dir.entryList(QStringList() << "*.png");
    const QString directory_ini = dir.absoluteFilePath("templates.ini");
    QSettings * s = NULL;
    if (QFile::exists(directory_ini)) {
        s = new QSettings(directory_ini, QSettings::IniFormat);
        s->setIniCodec("UTF-8");
    }
    sl_templateNames.clear();
    foreach (const QString &fileName, sl_templateFiles) {
        QString name;
        if (s)
            name = s->value("Names/"+fileName, fileName).toString();
        else
            name = fileName;
        sl_templateNames << name;
    }
Example #9
0
YunClient::YunClient(QWidget *parent) : QWidget(parent)
{
    initWidget();
    initWidgetValue();
    readAndSetStyleSheet();

    connect(pushbutton_start, &QPushButton::clicked, this, &YunClient::setCalendarStatue_s);
    connect(pushbutton_end, &QPushButton::clicked, this, &YunClient::setCalendarStatue_e);
    connect(calendar_start, &QCalendarWidget::selectionChanged, this, &YunClient::updateCaleSta_s);
    connect(calendar_end, &QCalendarWidget::selectionChanged, this, &YunClient::updateCaleSta_e);

    connect(pushbutton_next, &QPushButton::clicked, this, &YunClient::nextPage);
    connect(pushbutton_up, &QPushButton::clicked, this, &YunClient::prePage);
    connect(pushbutton_query, &QPushButton::clicked, this, &YunClient::getUpdateVersionList);
    connect(update_list, &PagingTableView::currentRow, this, &YunClient::requestVersionInfo);
    connect(lineedit_recordPage, &QLineEdit::editingFinished, this, &YunClient::recordOfPageEditFinish);

    QSettings *initConfig = new QSettings("SongsMaintain.conf", QSettings::IniFormat);
    initConfig->setIniCodec("UTF-8");
    host = initConfig->value("UPDATE/hostport").toString();
    storeid = initConfig->value("UPDATE/storeid").toInt();
}
Example #10
0
QSettings* getCampTeamFile(QString & campaignName, QString & teamName)
{
    QSettings* teamfile = new QSettings(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
    teamfile->setIniCodec("UTF-8");
    // if entry not found check if there is written without _
    // if then is found rename it to use _
    QString spaceCampName = campaignName;
    spaceCampName = spaceCampName.replace(QString("_"),QString(" "));
    if (!teamfile->childGroups().contains("Campaign " + campaignName) &&
            teamfile->childGroups().contains("Campaign " + spaceCampName)){
        teamfile->beginGroup("Campaign " + spaceCampName);
        QStringList keys = teamfile->childKeys();
        teamfile->endGroup();
        for (int i=0;i<keys.size();i++) {
            QVariant value = teamfile->value("Campaign " + spaceCampName + "/" + keys[i]);
            teamfile->setValue("Campaign " + campaignName + "/" + keys[i], value);
        }
        teamfile->remove("Campaign " + spaceCampName);
    }

    return teamfile;
}
void CTestSettingWindow::okSetButtonClicked()
{
    bool err=false;
    _mconfig = new CMeterConfig();
    if( _mconfig->readFile( _meterFile->text() ) )
    {
        //      QMessageBox::information(this,"",tr("仪表配置文件 ")+ filename + tr(" 读取成功!"));
        QString iniFilePath = ((CApp*)qApp)->applicationDirPath()+QString("/main.ini");
        QSettings *sIniSetting = new QSettings(iniFilePath, QSettings::IniFormat);
        sIniSetting->setIniCodec("UTF-8");
        sIniSetting->setValue("config_file/meterfile",_meterFile->text());
        sIniSetting->sync();
        delete sIniSetting;
        ((CApp*)qApp)->_config->readFile(iniFilePath);
    }
    else
    {
        err = true;
        _statusLabel_1->setText(tr("仪表配置文件读取错误,请重新选择正确的仪表配置文件!"));
        QMessageBox::information(this,"",tr("仪表配置文件读取错误!"));
    }


    _aconfig = new CAdjustConfig();
    if( _aconfig->readFile( _adjustFile->text()) )
    {
        //      QMessageBox::information(this,"",tr("仪表调校文件 ")+ filename + tr(" 读取成功!"));
        QString iniFilePath = ((CApp*)qApp)->applicationDirPath()+QString("/main.ini");
        QSettings *sIniSetting = new QSettings(iniFilePath, QSettings::IniFormat);
        sIniSetting->setIniCodec("UTF-8");
        sIniSetting->setValue("config_file/adjustfile",_adjustFile->text());
        sIniSetting->sync();
        delete sIniSetting;
        ((CApp*)qApp)->_config->readFile(iniFilePath);
    }
    else
    {
        err = true;
        _statusLabel_1->setText(tr("仪表调校文件读取错误,请重新选择正确的仪表配置文件!"));
        QMessageBox::information(this,"",tr("仪表调校文件读取错误!"));
    }

    //***通讯设置检查
    QString iniFilePath = ((CApp*)qApp)->applicationDirPath()+QString("/main.ini");
    QSettings *sIniSetting = new QSettings(iniFilePath, QSettings::IniFormat);
    sIniSetting->setIniCodec("UTF-8");
    sIniSetting->setValue("plcset/portnumber",_plcPortNumber->currentIndex());
    sIniSetting->setValue("plcset/baudrate",_plcBaudRate->currentIndex());
    sIniSetting->setValue("plcset/databit",_plcDataBit->currentIndex());
    sIniSetting->setValue("plcset/paritycheck",_plcParityCheck->currentIndex());
    sIniSetting->setValue("plcset/stopbit",_plcStopBit->currentIndex());
    sIniSetting->setValue("plcset/dataflowcontrol",_plcDataFlowControl->currentIndex());

    sIniSetting->setValue("meterset/portnumber",_meterPortNumber->currentIndex());
    sIniSetting->setValue("meterset/baudrate",_meterBaudRate->currentIndex());
    sIniSetting->setValue("meterset/databit",_meterDataBit->currentIndex());
    sIniSetting->setValue("meterset/paritycheck",_meterParityCheck->currentIndex());
    sIniSetting->setValue("meterset/stopbit",_meterStopBit->currentIndex());
    sIniSetting->setValue("meterset/dataflowcontrol",_meterDataFlowControl->currentIndex());

    ((CApp*)qApp)->_config->readFile(iniFilePath);

    if(!err)
        _secondGroup->setVisible(true);
}
Example #12
0
/*!
  Constructor.
*/
TWebApplication::TWebApplication(int &argc, char **argv)
#ifdef TF_USE_GUI_MODULE
    : QApplication(argc, argv),
#else
    : QCoreApplication(argc, argv),
#endif
      dbEnvironment(DEFAULT_DATABASE_ENVIRONMENT),
      sqlSettings(0),
      mongoSetting(0),
      redisSetting(0),
      loggerSetting(0),
      validationSetting(0),
      mediaTypes(0),
      codecInternal(0),
      codecHttp(0),
      appServerId(-1),
      mpm(Invalid)
{
#if defined(Q_OS_WIN) && QT_VERSION >= 0x050000
    installNativeEventFilter(new TNativeEventFilter);
#endif

    // parse command-line args
    webRootAbsolutePath = ".";
    QStringList args = arguments();
    args.removeFirst();
    for (QStringListIterator i(args); i.hasNext(); ) {
        const QString &arg = i.next();
        if (arg.startsWith('-')) {
            if (arg == "-e" && i.hasNext()) {
                dbEnvironment = i.next();
            }
            if (arg == "-i" && i.hasNext()) {
                appServerId = i.next().toInt();
            }
        } else {
            if (QDir(arg).exists()) {
                webRootAbsolutePath = arg;
                if (!webRootAbsolutePath.endsWith(QDir::separator()))
                    webRootAbsolutePath += QDir::separator();
            }
        }
    }

    QDir webRoot(webRootAbsolutePath);
    if (webRoot.exists()) {
        webRootAbsolutePath = webRoot.absolutePath() + QDir::separator();
    }

    // Sets application name
    QString appName = QDir(webRootAbsolutePath).dirName();
    if (!appName.isEmpty()) {
        setApplicationName(appName);
    }

    // Creates settings objects
    TAppSettings::instantiate(appSettingsFilePath());
    loggerSetting = new QSettings(configPath() + "logger.ini", QSettings::IniFormat, this);
    validationSetting = new QSettings(configPath() + "validation.ini", QSettings::IniFormat, this);
    mediaTypes = new QSettings(configPath() + "initializers" + QDir::separator() + "internet_media_types.ini", QSettings::IniFormat, this);

    // Gets codecs
    codecInternal = searchCodec(Tf::appSettings()->value(Tf::InternalEncoding).toByteArray().trimmed().data());
    codecHttp = searchCodec(Tf::appSettings()->value(Tf::HttpOutputEncoding).toByteArray().trimmed().data());

    // Sets codecs for INI files
    loggerSetting->setIniCodec(codecInternal);
    validationSetting->setIniCodec(codecInternal);
    mediaTypes->setIniCodec(codecInternal);

    // SQL DB settings
    QString dbsets = Tf::appSettings()->value(Tf::SqlDatabaseSettingsFiles).toString().trimmed();
    if (dbsets.isEmpty()) {
        dbsets = Tf::appSettings()->readValue("DatabaseSettingsFiles").toString().trimmed();
    }
    const QStringList files = dbsets.split(QLatin1Char(' '), QString::SkipEmptyParts);
    for (auto &f : files) {
        QSettings *set = new QSettings(configPath() + f, QSettings::IniFormat, this);
        set->setIniCodec(codecInternal);
        sqlSettings.append(set);
    }

    // MongoDB settings
    QString mongoini = Tf::appSettings()->value(Tf::MongoDbSettingsFile).toString().trimmed();
    if (!mongoini.isEmpty()) {
        QString mnginipath = configPath() + mongoini;
        if (QFile(mnginipath).exists())
            mongoSetting = new QSettings(mnginipath, QSettings::IniFormat, this);
    }

    // Redis settings
    QString redisini = Tf::appSettings()->value(Tf::RedisSettingsFile).toString().trimmed();
    if (!redisini.isEmpty()) {
        QString redisinipath = configPath() + redisini;
        if (QFile(redisinipath).exists())
            redisSetting = new QSettings(redisinipath, QSettings::IniFormat, this);
    }
}
Example #13
0
QVariant Settings::read(QString value) {
    QSettings *settings = new QSettings("settings.conf",QSettings::NativeFormat);
    settings->setIniCodec("utf-8");
    return settings->value(value);
    delete settings;
};
Example #14
0
//----------------------------------------  Private functions --------------------------------------------------------------------
void dController::read_settings()
{ // Читаем файл настроек
    QString ini_path =QString(QObject::trUtf8("%1\\Technoserv\\safe_printer.ini")).arg(QCoreApplication::applicationDirPath());
    //ini_path.arg(QCoreApplication::applicationDirPath());
    QSettings settings (ini_path,QSettings::IniFormat);
 //   QSettings settings(QSettings::IniFormat, QSettings::UserScope,"Technoserv","safe_printer");

    settings.setIniCodec("UTF-8");
    settings.beginGroup("SERVICE");
    serverHostName = settings.value("server","127.0.0.1").toString();
    serverPort = settings.value("port",4242).toInt();
    timeout_connect =settings.value("timeout_connect",5000).toInt();
    timeout_read=settings.value("timeout_read",15000).toInt();
    timeout_write=settings.value("timeout_write",15000).toInt();

    settings.endGroup();
    settings.beginGroup("PERIOD");
    end_date =settings.value("end_date",QDate::currentDate ()).toDate();
    QDate begin(end_date.year(), 1,1);
    begin_date =settings.value("begin_date",begin).toDate();
    settings.endGroup();
#if defined(Q_OS_UNIX)
    settings.beginGroup("POSTSCRIPT");
    gsBin = settings.value("gs_bin","/usr/local/bin/gs").toString();
    settings.endGroup();
    settings.beginGroup("PDF");
    pdftkBin = settings.value("pdfTK","/usr/local/bin/pdftk.py").toString();
    settings.endGroup();
    settings.beginGroup("USED_DIR_FILE");
    spoolDIR = settings.value("spool_dir","/var/log/spool/cups/tmp/").toString();
    printer_list_pid=settings.value("printers_pid","/var/log/pid/get_printer.pid").toString();
    settings.endGroup();
    settings.beginGroup("TEMPLATES");
    localTemplates=settings.value("local_templates","$HOME/vprinter/local_templates/").toString();
    globalTemplates=settings.value("global_templates","$HOME/vprinter/global_templates/").toString();
    ftpTemplatesDir=settings.value("ftp_templates_dir","ftp://127.0.0.1/pub/templates/").toString();
    settings.endGroup();
#elif defined(Q_OS_WIN)
    settings.beginGroup("POSTSCRIPT");
    gsBin = settings.value("gs_bin","C:\\Program Files\\gs\\gs8.70\\bin\\gswin32c.exe").toString();
    settings.endGroup();
    settings.beginGroup("PDF");
    pdftkBin = settings.value("pdfTK","c:\\Tools\\pdftk.exe").toString();
    settings.endGroup();
    settings.beginGroup("USED_DIR_FILE");
    spoolDIR = settings.value("spool_dir","c:\\spool\\").toString();
    printer_list_pid=settings.value("printers_pid","c:\\spool\\get_printer.pid").toString();
    settings.endGroup();
    settings.beginGroup("TEMPLATES");
    localTemplates=settings.value("local_templates","%APPDATA%/vprinter/local_templates/").toString();
    globalTemplates=settings.value("global_templates","./global_templates/").toString();
    ftpTemplatesDir=settings.value("ftp_templates_dir","ftp://127.0.0.1/pub/templates/").toString();
    settings.endGroup();
#endif
    mainPDF.append(spoolDIR).append("%1.pdf");
    outPDF.append(spoolDIR). append("%1_out.pdf");

    qDebug() << Q_FUNC_INFO << settings.fileName() ;

    qDebug() << "\nSERVICE"
	    << "\nserverHostName=" <<serverHostName
	    << "\nserverPort="<< serverPort
	    << "\ntimeout_connect=" << timeout_connect
	    << "\ntimeout_read=" <<timeout_read
	    << "\ntimeout_write" <<timeout_write;
    qDebug() << "\nPERIOD"
	    <<"\nbegin_date=" << begin_date.toString("dd.MM.yyyy")
	    <<"\nend_date" <<end_date.toString("dd.MM.yyyy");
    qDebug()   <<"\nPOSTSCRIPT"
	    "\ngsBin="<< gsBin;
    qDebug()   <<"\nPDF"<< "pdftkBin="<< pdftkBin;
    qDebug()<<"\nUSED_DIR_FILE"
    << "\nspoolDIR="    << spoolDIR
    << "\nprinter_list_pid=" << printer_list_pid;
    qDebug() << "\nTEMPLATES"
    << "\nlocalTemplates="<< localTemplates
    << "\nglobalTemplates="<< globalTemplates
    << "\nftpTemplatesDir="<< ftpTemplatesDir;

}
Example #15
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QApplication::setOrganizationName(_S("Majister"));
    QApplication::setApplicationName(_S("jPos"));

    qRegisterMetaType<SyncState>("SyncState");

    // Имя файла логов
    logFileName.clear();

    // Настройки базы - SQLite
    QString mainBase = _S("db.sqlite3");
    QString dbDriver = _S("QSQLITE");
    QString dbUser;
    QString dbPass;
    QString dbOptions;
    QString executeModule;
    QString executeParams;


    QString styleFileName;
    bool stylefree = false;

    //  Уровни лога, 1- только ошибки, 2 - основные действия, 3 - отладка каждого чиха
    int  loglevel = 1;
    //  Обнулить файл логов
    bool newlog        = false;
    bool resetSettings = false;
    bool showHelp      = false;
    bool saveSources   = false;


    QStringList args = QCoreApplication::arguments();
    for (int i = 1; i < args.count(); ++i)
    {
        QString value = args.at(i);

        if (value == _S("--logfile") && i < args.count())
        {
            logFileName = args.at(++i);
            continue;
        }

        if (value == _S("--loglevel") && i < args.count())
        {
            loglevel = args.at(++i).toInt();
            continue;
        }

        if (value == _S("--newlog"))
        {
            newlog = true;
            continue;
        }

        if (value == _S("--driver") && i < args.count())
        {
            dbDriver = args.at(++i);
            continue;
        }
        if (value == _S("--user") && i < args.count())
        {
            dbUser = args.at(++i);
            continue;
        }
        if (value == _S("--password") && i < args.count())
        {
            dbPass = args.at(++i);
            continue;
        }
        if (value == _S("--resetsettings"))
        {
            resetSettings = true;
            continue;
        }
        if (value == _S("--stylefree"))
        {
            stylefree = true;
            continue;
        }
        if (value == _S("--istyle") && i < args.count())
        {
            styleFileName = args.at(++i);
            continue;
        }
        if (value == _S("--version"))
        {
            qDebug() << _T("jPOS версия от %1 %2").arg(BUILDDATE).arg(BUILDTIME);
            return 0;
        }
        if (value == _S("--help"))
        {
            showHelp = true;
            break; // all other params not matter
        }
        if (value == _S("--sources"))
        {
            saveSources = true;
            break; // all other params not matter
        }
        if (value == _S("--execute") && i+1 < args.count())
        {
            executeModule = args.at(++i);
            executeParams = args.at(++i);
            continue;
        }
        // если не параметров - значит название базы
        mainBase = value;
    }


    if (saveSources)
    {
        QFile   sourcesFile(_S(":/sources/sources/sources.7z"));
        if(!sourcesFile.open(QFile::ReadOnly))
        {
            qDebug() << _T("%1 Ошибка доступа к исходникам: %2")
                        .arg(posForLog)
                        .arg(sourcesFile.errorString());
            return 1;
        }

        QFile   resultFile(_S("sources.7z"));
        if(!resultFile.open(QFile::WriteOnly))
        {
            qDebug() << _T("%1 Ошибка создания файла для сохранения: %2")
                        .arg(posForLog)
                        .arg(resultFile.errorString());
            return 1;
        }

        resultFile.write(sourcesFile.readAll());
        resultFile.close();
        sourcesFile.close();

        qDebug()<<"Исходники сохранены в файле sources.7z";
        return 0;
    }

    if (showHelp)
    {
        QFile   helpFile(_S(":/texts/texts/help.txt"));
        helpFile.open(QFile::ReadOnly);
        QString helpText = helpFile.readAll();
        qDebug() << _T("jPOS версия от %1 %2").arg(BUILDDATE).arg(BUILDTIME)<<endl;
        qDebug() << helpText;
        return 0;
    }

    if (newlog)
    {
        QFile::remove(logFileName);
    }


    if (!logFileName.isEmpty())
        qInstallMessageHandler(fileMessageHandler);
    //else
    //    qInstallMessageHandler(outputMessageHandler);


    if(!stylefree)
    {
        QFile styleFile;
        if(!styleFileName.isEmpty())
            styleFile.setFileName(styleFileName);
        else
            styleFile.setFileName(":/qss/qss/black-n-orange.qss");

        styleFile.open(QFile::ReadOnly);
        QString styleSheet = QString::fromLatin1(styleFile.readAll());
        qApp->setStyleSheet(styleSheet);
    }

    Datapipe               * data = new Datapipe();
    QMap<QString, QVariant>* vars = data->getVariables();

    if (loglevel > 0)
        qDebug() << _T("%1 Уровень лога: %2").arg(posForLog).arg(loglevel);

    vars->insert(_S("loglevel"), loglevel);


    QSettings *settings = data->getSettings();
    if (resetSettings)
        settings->clear();

    QStringList settingsKeys = settings->allKeys();

    QSettings *defaults = new QSettings(_S(":/defaults/defaults/globalsettings.ini"), QSettings::IniFormat);
    defaults->setIniCodec(QTextCodec::codecForName("UTF-8"));

    QStringList defaultKeys = defaults->allKeys();

    for (int i = 0; i < defaultKeys.count(); i++)
    {
        QString  key   = defaultKeys.at(i);
        QVariant value = defaults->value(key);

        if (!settingsKeys.contains(key))
            settings->setValue(key, value);
    }
    delete defaults;

    QFont font;
    font.setFamily(settings->value("global/default_font","DejaVu Sans").toString());
    font.setPixelSize(settings->value("global/default_font_size",14).toInt());
    font.setBold(settings->value("global/defalut_font_bold",true).toBool());

    qApp->setFont(font);


    // Финт - зададим дефолты для некоторых баз
    if((dbDriver=="QIBASE" || dbDriver=="QFIREBIRD") && dbUser.isEmpty())
        dbUser="******";
    if((dbDriver=="QIBASE" || dbDriver=="QFIREBIRD") && dbPass.isEmpty())
        dbPass="******";


    QSqlDatabase db = QSqlDatabase::addDatabase(dbDriver);

    db.setDatabaseName(mainBase);
    db.setUserName(dbUser);
    db.setPassword(dbPass);
    db.setConnectOptions(dbOptions);

    if (!db.open())
    {
        qCritical()<<_T("%1 Ошибка подключения: %2").arg(posForLog).arg(db.lastError().text());
        return 2;
    }

    if (loglevel > 0)
    {
        qDebug() << _T("%1 База данных: %2").arg(posForLog).arg(mainBase);
        qDebug() << _T("%1 Драйвер: %2").arg(posForLog).arg(dbDriver);
        qDebug() << _T("%1 Пользователь: %2").arg(posForLog).arg(dbUser);
        qDebug() << _T("%1 Пароль: %2").arg(posForLog).arg(dbPass);
        qDebug() << _T("%1 Настройки: %2").arg(posForLog).arg(dbOptions);
    }
    vars->insert(_S("database"), mainBase);
    vars->insert(_S("database_driver"), dbDriver);
    vars->insert(_S("database_user"), dbUser);
    vars->insert(_S("database_password"), dbPass);
    vars->insert(_S("database_settings"), dbOptions);

    QSqlQuery query;


    query.prepare(settings->value(_S("global/queries/settings")).toString());
    if (query.exec())
    {
        while (query.next())
        {
            vars->insert(query.value(0).toString(), query.value(1));
            if(loglevel > 0)
                qDebug() << _T("%1 Переменные: %2 = %3").arg(posForLog).arg(query.value(0).toString()).arg(query.value(1).toString());
        }
    }
    else
    {
        bool solved = false;
        if(dbDriver=="QSQLITE")
        {
            QMessageBox::StandardButton reply;
            reply = QMessageBox::question(0,
                                          _T("Не обнаружена база данных"),
                                          _T("Не обнаружена база данных\nСоздать новую?"),
                                          QMessageBox::Yes|QMessageBox::No);

            if (reply == QMessageBox::Yes)
            {
                QFile file(":/defaults/defaults/database_sqlite.sql");
                if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
                {
                    qCritical() << _T("%1 Ошибка создания новой базы данных\n%2").arg(posForLog).arg(file.errorString());
                    return  0;
                }


                QStringList queryPartsList = QString::fromUtf8(file.readAll()).split(QRegExp("\\s"), QString::SkipEmptyParts);

                int triggerDepth=0;
                int stringDepth=0;
                bool skipOneBegin=false;
                QString queryFromParts;

                for(int i=0; i<queryPartsList.count();++i)
                {
                    QString part = queryPartsList.at(i).trimmed();

                    if(part.isEmpty())
                        continue;

                    if(part.toUpper() == "CREATE" && i+1 < queryPartsList.count())
                        if(queryPartsList.at(i+1)=="TRIGGER")
                        {
                            triggerDepth++;
                            skipOneBegin=true;
                        }


                    if(triggerDepth > 0 && part.toUpper()=="BEGIN")
                    {
                        if(skipOneBegin)
                            skipOneBegin=false;
                        else
                            triggerDepth++;
                    }
                    if(triggerDepth > 0 && part.toUpper()=="CASE")
                            triggerDepth++;

                    if(triggerDepth > 0 && part.toUpper().startsWith("END"))
                            triggerDepth--;

                    queryFromParts += _S(" %1").arg(part);

                    //qDebug()<<part<<triggerDepth<<stringDepth;

                    if(part.contains(";") && triggerDepth==0 && stringDepth==0)
                    {
                        bool skipQuery = false;
                        if(queryFromParts.contains("CREATE TABLE sqlite_sequence"))
                            skipQuery=true;

                        if(queryFromParts.trimmed().isEmpty())
                            skipQuery=true;

                        if(queryFromParts.trimmed()==";")
                            skipQuery=true;

                        if(!skipQuery)
                        {
                            if (!query.exec(queryFromParts))
                            {
                                qCritical() << _T("%1 Ошибка создания новой базы данных\n%2\n%3").arg(posForLog, query.lastError().text(), query.lastQuery());
                                return 1;
                            }
                           // qDebug()<<queryFromParts;
                        }
                        queryFromParts.clear();
                    }

                }

                QDialog dlg;
                QFormLayout layout;
                dlg.setLayout(&layout);

                QLineEdit posID;
                layout.addRow(_T("Код ПОС-а"), &posID);

                QLineEdit generatorMin;
                layout.addRow(_T("Генератор мин"), &generatorMin);

                QLineEdit generatorMax;
                layout.addRow(_T("Генератор макс"), &generatorMax);

                QPushButton bt;
                bt.setText("OK");
                layout.addRow(0, &bt);
                dlg.connect(&bt, SIGNAL(clicked()), &dlg, SLOT(accept()));

                if(dlg.exec()==QDialog::Accepted)
                {
                    query.prepare(settings->value(_S("global/queries/set_pos_id")).toString());
                    query.bindValue(":val", posID.text().toInt());
                    if(!query.exec())
                    {
                        qCritical() << _T("%1 Ошибка создания новой базы данных\n%2\n%3").arg(posForLog, query.lastError().text(), query.lastQuery());
                        return 1;
                    }
                    query.prepare(settings->value(_S("global/queries/set_generator_min")).toString());
                    query.bindValue(":val", generatorMin.text().toInt());
                    if(!query.exec())
                    {
                        qCritical() << _T("%1 Ошибка создания новой базы данных\n%2\n%3").arg(posForLog, query.lastError().text(), query.lastQuery());
                        return 1;
                    }

                    query.prepare(settings->value(_S("global/queries/set_generator_min1_sqlite")).toString());
                    query.bindValue(":val", generatorMin.text().toInt());
                    if(!query.exec())
                    {
                        qCritical() << _T("%1 Ошибка создания новой базы данных\n%2\n%3").arg(posForLog, query.lastError().text(), query.lastQuery());
                        return 1;
                    }

                    query.prepare(settings->value(_S("global/queries/set_generator_min2_sqlite")).toString());
                    query.bindValue(":val", generatorMin.text().toInt());
                    if(!query.exec())
                    {
                        qCritical() << _T("%1 Ошибка создания новой базы данных\n%2\n%3").arg(posForLog, query.lastError().text(), query.lastQuery());
                        return 1;
                    }

                    query.prepare(settings->value(_S("global/queries/set_generator_max")).toString());
                    query.bindValue(":val", generatorMax.text().toInt());
                    if(!query.exec())
                    {
                        qCritical() << _T("%1 Ошибка создания новой базы данных\n%2\n%3").arg(posForLog, query.lastError().text(), query.lastQuery());
                        return 1;
                    }

                }
                else
                {
                    QMessageBox message;
                    message.setText(_T("Создание новой базы данных отменено"));
                    message.exec();
                    return 1;
                }

               solved = true;
            }
        }

        if(!solved){
            qCritical() << _T("%1 Ошибка чтения настроек\n%2\n%3").arg(posForLog, query.lastError().text(), query.lastQuery());
            return 1;
        }
    }


    int width  = 0;
    int height = 0;

    if (QApplication::desktop()->screenGeometry().width() > QApplication::desktop()->screenGeometry().height())
    {
        width  = QApplication::desktop()->screenGeometry().width();
        height = QApplication::desktop()->screenGeometry().height();
    }
    else
    {
        width  = QApplication::desktop()->screenGeometry().height();
        height = QApplication::desktop()->screenGeometry().width();
    }


    double scale = settings->value("global/button_scale", 1).toDouble();



    vars->insert(_S("standart_button_width"), (int) width / 12 * scale);
    vars->insert(_S("standart_button_height"), (int) height / 12 * scale);
    vars->insert(_S("standart_text_height"), (int) height / 18 * scale);
    vars->insert(_S("standart_margins"), (int) vars->value(_S("standart_button_width")).toInt() * 0.1 * scale);

    // заполняем тут, чтобы не тянуть в плагины все файлы
    data->setPrinter(new ChequePrinter(data->getSettings(), data->getVariables()));


    if (loglevel > 0)
    {
        QStringList keys = settings->allKeys();
        for (int i = 0; i < keys.count(); i++)
            qDebug() << _T("%1 Настройки: %2 %3").arg(posForLog).arg(keys.at(i)).arg(settings->value(keys.at(i)).toString());
    }


    if (loglevel > 0)
        qDebug() << _T("%1 Запуск ").arg(posForLog);


    MainWindow window(data);
    window.showFullScreen();

    // проверка 3
    return a.exec();
}
Example #16
0
quint32 CMeterConfig::readFile(QString f1)
{
    QSettings *sIniSetting = new QSettings(f1, QSettings::IniFormat);
    sIniSetting->setIniCodec("UTF-8");

    //***读取IO Map
    QStringList s;
    int i,j;
    s = sIniSetting->value("iomap/map_ioin").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_ioin[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_ioin_def").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_ioin_def[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_ioin_dif_neg").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_ioin_dif_neg[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_ioout").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_ioout[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_freq").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_freq[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_current").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_current[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_resistor").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_resistor[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_voltage").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_voltage[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_power").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_power[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_cfb_voltage").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_cfb_voltage[i] = s[i].toInt();

    _map_meter_voltage = sIniSetting->value("iomap/map_meter_voltage").toInt();

    s = sIniSetting->value("iomap/map_led").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_led[i] = s[i].toInt();

    s = sIniSetting->value("iomap/map_led_io").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _map_led_io[i] = s[i].toInt();

    //***读取模拟量设置
    //***Type
    s = sIniSetting->value("analog_channel/channel_type").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _channel_type[i] = s[i].toInt();

    int num = _channel_type.size();

    for(i=0;i<num;i++)
    {
        s = sIniSetting->value("analog_channel/channel_value_"+QString::number(i)).toString().split(" ",QString::SkipEmptyParts);
        for(j=0;j<s.size();j++)
            _channel_value[i][j] = s[j].toInt();
    }

    //***仪表功能参数(对应仪表存储帧)
    _function_param.clear();
    _function_param["speed_pulse"] = sIniSetting->value("function_param/speed_pulse").toInt();
    _function_param["w_cwater"] = sIniSetting->value("function_param/w_cwater").toInt();
    _function_param["w_lpressure"] = sIniSetting->value("function_param/w_lpressure").toInt();
    _function_param["w_opressure"] = sIniSetting->value("function_param/w_opressure").toInt();
    _function_param["w_pressurel"] = sIniSetting->value("function_param/w_pressurel").toInt();
    _function_param["backlight"] = sIniSetting->value("function_param/backlight").toInt();
    _function_param["ledlight"] = sIniSetting->value("function_param/ledlight").toInt();
    _function_param["fan_lspeed_temp"] = sIniSetting->value("function_param/fan_lspeed_temp").toInt();
    _function_param["fan_hspeed_temp"] = sIniSetting->value("function_param/fan_hspeed_temp").toInt();
    _function_param["fan_lspeed_wtemp"] = sIniSetting->value("function_param/fan_lspeed_wtemp").toInt();
    _function_param["fan_hspeed_wtemp"] = sIniSetting->value("function_param/fan_hspeed_wtemp").toInt();
    _function_param["fan_lspeed_diff"] = sIniSetting->value("function_param/fan_lspeed_diff").toInt();
    _function_param["fan_hspeed_diff"] = sIniSetting->value("function_param/fan_hspeed_diff").toInt();
    _function_param["param_setting"] = sIniSetting->value("function_param/param_setting").toInt();
    _function_param["language"] = sIniSetting->value("function_param/language").toInt();
    _function_param["loil_type"] = sIniSetting->value("function_param/loil_type").toInt();
    _function_param["brake_type"] = sIniSetting->value("function_param/brake_type").toInt();
    _function_param["brake_valid"] = sIniSetting->value("function_param/brake_valid").toInt();
    _function_param["allow_mzero"] = sIniSetting->value("function_param/allow_mzero").toInt();
    _function_param["interface_theme"] = sIniSetting->value("function_param/interface_theme").toInt();
    _function_param["engine_type"] = sIniSetting->value("function_param/engine_type").toInt();
    _function_param["gear_type"] = sIniSetting->value("function_param/gear_type").toInt();
    _function_param["passwd"] = sIniSetting->value("function_param/passwd").toInt();
    _function_param["version"] = sIniSetting->value("function_param/version").toInt();
    _function_param["milage_total"] = sIniSetting->value("function_param/milage_total").toInt();
    _function_param["milage_part"] = sIniSetting->value("function_param/milage_part").toInt();
    _function_param["engine_time"] = sIniSetting->value("function_param/engine_time").toInt();

    _function_param["year"] = sIniSetting->value("function_param/year").toInt();
    _function_param["month"] = sIniSetting->value("function_param/month").toInt();
    _function_param["day"] = sIniSetting->value("function_param/day").toInt();
    _function_param["hour"] = sIniSetting->value("function_param/hour").toInt();
    _function_param["minute"] = sIniSetting->value("function_param/minute").toInt();
    _function_param["second"] = sIniSetting->value("function_param/second").toInt();
    _function_param["oil_bias"] = sIniSetting->value("function_param/oil_bias").toInt();
    _function_param["rspeed_bias"] = sIniSetting->value("function_param/rspeed_bias").toInt();
    _function_param["milage_part"] = sIniSetting->value("function_param/milage_part").toInt();
    _function_param["wtemp_bias"] = sIniSetting->value("function_param/wtemp_bias").toInt();

    //***其他仪表功能参数
    _function_param["low_speed"] = sIniSetting->value("function_param_others/low_speed").toInt();

    //***仪表功能测试点参数
    s = sIniSetting->value("function_test_point/meter_speed").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["meter_speed"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/meter_rspeed").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["meter_rspeed"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/meter_oil").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["meter_oil"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/meter_wtemp").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["meter_wtemp"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/pressure_brake1").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["pressure_brake1"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/pressure_brake2").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["pressure_brake2"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/pressure_brake3").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["pressure_brake3"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/pressure_break4").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
         _function_tpoint["pressure_break4"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/pressure_oil").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
         _function_tpoint["pressure_oil"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/intake_wtemp").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["intake_wtemp"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/voltage").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["voltage"][i] = s[i].toInt();

    s = sIniSetting->value("function_test_point/brake_voltage").toString().split(" ",QString::SkipEmptyParts);
    for(i=0;i<s.size();i++)
        _function_tpoint["brake_voltage"][i] = s[i].toInt();

    range_current_min = sIniSetting->value("analog_channel/range_current_min").toInt();
    range_current_max = sIniSetting->value("analog_channel/range_current_max").toInt();
    range_resistor_min = sIniSetting->value("analog_channel/range_resistor_min").toInt();
    range_resistor_max = sIniSetting->value("analog_channel/range_resistor_max").toInt();
    range_voltage_min = sIniSetting->value("analog_channel/range_voltage_min").toInt();
    range_voltage_max = sIniSetting->value("analog_channel/range_voltage_max").toInt();
    range_power_min = sIniSetting->value("analog_channel/range_power_min").toInt();
    range_power_max = sIniSetting->value("analog_channel/range_power_max").toInt();

    if(_channel_type.size()!=0)
        return 1;
    else
        return 0;
}
Example #17
0
void YXENVIRONMENT::load()
{

    YXENVIRONMENT::loadlibs();
    YXENVIRONMENT::loadvariables();
    QTextCodec *codec = QTextCodec::codecForName("utf-8");
    QSettings *settings = new QSettings("fiber.ini", QSettings::IniFormat);
    settings->setIniCodec(codec);
    QString templatePath = QString("%1/template/%2/").arg(QDir::currentPath()).arg(1);

    QDir::current().mkpath(QString("%1/template/%2/").arg(QDir::currentPath()).arg(1));
    if(!settings->childGroups().contains("Templates"))
    {
        settings->beginWriteArray("Templates");

        settings->setArrayIndex(0);
        settings->setValue("ID", QDateTime::currentDateTime().toString("TyyyyMMddhhmmss"));
        settings->setValue("Title", QString("线束- %1 - 公头").arg(1));
        settings->setValue("Model", "F12-R45");
        settings->setValue("TotalHoleCount", 34);
        settings->setValue("LocationHoleCount", 2);
        settings->setValue("Creator", "admin");
        settings->setValue("CreateDate", QDateTime::currentDateTime());
        settings->setValue("IsGongTou", true);
        settings->setValue("ConfigDataPath", templatePath + "gpldata01.txt");
        settings->setValue("BasePicPath", templatePath + "male.png");
        settings->setValue("DivideHoleRadius", 79);
        settings->setValue("CirqueOutRadius", 32);
        settings->setValue("CirqueInRadius", 23);
        settings->setValue("GongHoughMinRadius", 510);
        settings->setValue("GongHoughMaxRadius", 530);
        settings->setValue("MuHoughMinRadius", 10);
        settings->setValue("MuHoughMaxRadius", 50);
        QPixmap(":/images/male-test.png").save(templatePath + "male.png");

        settings->setArrayIndex(1);
        settings->setValue("ID", QDateTime::currentDateTime().toString("TyyyyMMddhhmmss"));
        settings->setValue("Title", QString("线束- %1 - 母头").arg(1));
        settings->setValue("Model", "F12-R45");
        settings->setValue("TotalHoleCount", 34);
        settings->setValue("LocationHoleCount", 2);
        settings->setValue("Creator", "admin");
        settings->setValue("CreateDate", QDateTime::currentDateTime());
        settings->setValue("IsGongTou", false);
        settings->setValue("ConfigDataPath", templatePath + "gpldata02.txt");
        settings->setValue("BasePicPath", templatePath + "female.bmp");
        settings->setValue("DivideHoleRadius", 79);
        settings->setValue("CirqueOutRadius", 32);
        settings->setValue("CirqueInRadius", 23);
        settings->setValue("GongHoughMinRadius", 510);
        settings->setValue("GongHoughMaxRadius", 530);
        settings->setValue("MuHoughMinRadius", 10);
        settings->setValue("MuHoughMaxRadius", 50);
        QPixmap(":/images/female-test.bmp").save(templatePath + "female.bmp");
        settings->endArray();
    }
    if(!settings->childGroups().contains("SysConfigs"))
    {
        settings->beginGroup("SysConfigs");
        settings->setValue("RadiusLimit", 1.5000000);
        settings->setValue("LightRankLowBound", 200);
        settings->endGroup();
    }
    delete settings;


    QFile::copy(":/configs/gpldata01.txt", templatePath + "gpldata01.txt");
    QFile foo(templatePath + "gpldata01.txt");
    foo.setPermissions(QFile::WriteUser);

    QFile::copy(":/configs/gpldata02.txt", templatePath + "gpldata02.txt");
    QFile foo2(templatePath + "gpldata02.txt");
    foo2.setPermissions(QFile::WriteUser);
}