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("設定は再起動後有効になります。")); }
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(); }
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())); }
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; }
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(); }
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); }
/*! 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); } }
QVariant Settings::read(QString value) { QSettings *settings = new QSettings("settings.conf",QSettings::NativeFormat); settings->setIniCodec("utf-8"); return settings->value(value); delete settings; };
//---------------------------------------- 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; }
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(); }
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; }
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); }