HgConfig::HgConfig(ConfigType configType) : m_configType(configType), m_config(0) { getConfigFilePath(); loadConfig(); }
QColor GeneralConfig::getWhiteSpaceColor() { /* -returns color of white space when visible in editor */ //get data from config file QString colorString = getConfigData( getConfigFilePath("config/theme.conf"), "Editor", "whitespace-color"); //process and return value QColor c = getColorFromString(colorString); if ( c.isValid() ) return c; else return QColor(255,255,255); }
QColor GeneralConfig::getMarginsBackground() { /* -returns backgroung color for margins (line numbering etc.) */ //get data from config file QString colorString = getConfigData( getConfigFilePath("config/theme.conf"), "Editor", "margins-background"); //process and return value QColor c = getColorFromString(colorString); if ( c.isValid() ) return c; else return QColor(200,200,200); }
ConfigImpl::ConfigImpl(MemoryPool& p) : ConfigRoot(p), confMessage(p) { // Prepare some stuff ConfigFile file(p); root_dir = getRootDirectory(); const int size = FB_NELEM(entries); values = FB_NEW(p) ConfigValue[size]; //string val_sep = ","; file.setConfigFilePath(getConfigFilePath()); // Iterate through the known configuration entries for (int i = 0; i < size; i++) { const ConfigEntry entry = entries[i]; const string value = getValue(file, entries[i].key); if (!value.length()) { // Assign the default value values[i] = entries[i].default_value; continue; } // Assign the actual value switch (entry.data_type) { case TYPE_BOOLEAN: values[i] = (ConfigValue) asBoolean(value); break; case TYPE_INTEGER: values[i] = (ConfigValue) asInteger(value); break; case TYPE_STRING: { const char* src = asString(value); char* dst = FB_NEW(p) char[strlen(src) + 1]; strcpy(dst, src); values[i] = (ConfigValue) dst; } break; //case TYPE_STRING_VECTOR: // break; } } if (file.getMessage()) { confMessage = file.getMessage(); } }
QColor GeneralConfig::getMarginsForeground() { /* -returns foreground color for margins (line numbering etc.) */ //get data from config file QString colorString = getConfigData( getConfigFilePath("config/theme.conf"), "Editor", "margins-foreground"); //process and return value QColor c = getColorFromString(colorString); //QColor c = getValueAsColor("editor_theme", "paper_color"); if ( c.isValid() ) return c; else return QColor(0,0,0); }
void LogConfigDialog::saveLogConfiguration() { QString fileExtension; QString s = QFileDialog::getSaveFileName(this, tr("Save To"), getConfigFilePath(), tr("XML(*.xml);;Text(*.txt);;All(*.*)"), &fileExtension, QFileDialog::DontUseNativeDialog); if (s.length() > 0) { if (!s.contains('.')) { if (fileExtension.compare(tr("XML(*.xml)"), Qt::CaseInsensitive) == 0) { s = s + ".xml"; } else if (fileExtension.compare(tr("Text(*.txt)"), Qt::CaseInsensitive) == 0) { s = s + ".txt"; } } setConfigFilePath(s); QFile file(s); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { QMessageBox::warning(this, tr("ERROR"), tr("Failed to open file for writing.")); } else { QXmlStreamWriter writer(&file); if (writer.hasError()) { QMessageBox::warning(this, tr("ERROR"), tr("Failed to create output stream for writing logger.")); } else { writer.setAutoFormatting(true); SimpleLoggerADP logger; configureLogger(logger); logger.write(writer); } file.close(); } } }
LogConfigDialog::~LogConfigDialog() { QSettings settings; settings.setValue("LogConfigDialogGeometry", saveGeometry()); settings.setValue("LogConfigDialogLastConfigPath", getConfigFilePath()); if (m_tableModel != nullptr && m_routingTableView != nullptr) { QString s; for (int i=0; i<LogRoutingInfoTableModel::numColumns; ++i) { if (s.length() > 0) { s = s + QString(",%1").arg(m_routingTableView->columnWidth(i)); } else { s = QString("%1").arg(m_routingTableView->columnWidth(i)); } } settings.setValue("LogConfigDialogRoutingColumnWidths", s); } }
bool ConfigXML::createConfigFile() { bool hasGlobal = false, hasFrontend = false, hasAdmin = false; QDomDocument document; configXMLDoc = &document; QDomProcessingInstruction xmldecl = document.createProcessingInstruction("xml", "version=\"1.0\""); document.appendChild(xmldecl); // config element QDomElement config = document.createElement("config"); document.appendChild(config); // MODULES & VERSION ///////////////////////////////////////// // modules section QDomElement modules = document.createElement("modules"); config.appendChild(modules); // module name QDomElement module = document.createElement(CnMn); modules.appendChild(module); // version QDomElement version = document.createElement("version"); version.appendChild(document.createTextNode(moduleConf->getModuleVersion())); module.appendChild(version); // MODULES & VERSION END ///////////////////////////////////////// // init global, frontend, admin sections QDomElement global = document.createElement("global"); QDomElement frontend = document.createElement("frontend"); QDomElement admin = document.createElement("admin"); // blocks | models | helpers if (moduleConf->getHasBlock() || moduleConf->getHasHelper() || moduleConf->getHasModel() || moduleConf->getHasScript() ) { hasGlobal = true; // init blocks, helpers, models sections QDomElement blocks = document.createElement("blocks"); QDomElement helpers = document.createElement("helpers"); QDomElement models = document.createElement("models"); if (moduleConf->getHasBlock()) { // block module QDomElement blockModule = document.createElement( moduleConf->getModuleName().toLower() ); blocks.appendChild(blockModule); // class QDomElement blockClass = document.createElement("class"); blockClass.appendChild(document.createTextNode(CnMn + "_Block")); blockModule.appendChild(blockClass); // blocks section global.appendChild(blocks); } if (moduleConf->getHasHelper()) { // helpers module QDomElement helperModule = document.createElement (moduleConf->getModuleName().toLower() ); helpers.appendChild(helperModule); // class QDomElement helperClass = document.createElement("class"); helperClass.appendChild(document.createTextNode(CnMn + "_Helper")); helperModule.appendChild(helperClass); // helpers section global.appendChild(helpers); } if (moduleConf->getHasModel()) { // block module QDomElement modelModule = document.createElement(moduleConf->getModuleName().toLower()); models.appendChild(modelModule); // class QDomElement modelClass = document.createElement("class"); modelClass.appendChild(document.createTextNode(CnMn + "_Model")); modelModule.appendChild(modelClass); // models section global.appendChild(models); } // apply selected rewrites for (int i = 0; i < rewrites.size(); i++) { hasGlobal = true; Rewrite r = rewrites.at(i); if (r.getType() == "Block") { applyRewrite(r, blocks); } if (r.getType() == "Helper") { applyRewrite(r, helpers); } if (r.getType() == "Model") { applyRewrite(r, models); } r.createFile(); } //////////////////// EVENTS /////////////////// // apply selected events QDomElement globalEvents = document.createElement("events"); QDomElement frontendEvents = document.createElement("events"); QDomElement adminEvents = document.createElement("events"); for (int i = 0; i < events.size(); i++) { Event e = events.at(i); if (e.getArea() == "global") { hasGlobal = true; applyEvent(e, globalEvents); } if (e.getArea() == "frontend") { hasFrontend = true; applyEvent(e, frontendEvents); } if (e.getArea() == "admin") { hasAdmin = true; applyEvent(e, adminEvents); } e.createFile(); } if (globalEvents.childNodes().size() > 0) { global.appendChild(globalEvents); } if (frontendEvents.childNodes().size() > 0) { frontend.appendChild(frontendEvents); } if (adminEvents.childNodes().size() > 0) { admin.appendChild(adminEvents); } //////////////////// EVENTS END /////////////////// if (moduleConf->getHasScript()) { hasGlobal = true; // resources section QDomElement resourcesElem = document.createElement("resources"); // resources setup module QDomElement moduleToSetup = document.createElement(moduleConf->getSetupDirName()); resourcesElem.appendChild(moduleToSetup); // setup section QDomElement setupElem = document.createElement("setup"); moduleToSetup.appendChild(setupElem); QDomElement moduleElem = document.createElement("module"); moduleElem.appendChild(document.createTextNode(CnMn)); setupElem.appendChild(moduleElem); global.appendChild(resourcesElem); } } if (moduleConf->getHasController() || moduleConf->getHasAdminController() ) { // frontend router if (moduleConf->getHasController()) { hasFrontend = true; // routers QDomElement routers = document.createElement("routers"); // router module QDomElement routerModule1 = document.createElement( moduleConf->getModuleName().toLower() ); QDomElement use = document.createElement("use"); use.appendChild(document.createTextNode("standard")); routerModule1.appendChild(use); routerModule1.appendChild(createRouterArgs(document)); routers.appendChild(routerModule1); frontend.appendChild(routers); } // admin router if (moduleConf->getHasAdminController()) { hasAdmin = true; // routers QDomElement routers = document.createElement("routers"); // router module QDomElement routerModule2 = document.createElement( moduleConf->getModuleName().toLower() ); QDomElement use = document.createElement("use"); use.appendChild(document.createTextNode("admin")); routerModule2.appendChild(use); routerModule2.appendChild(createRouterArgs(document)); routers.appendChild(routerModule2); admin.appendChild(routers); } } // add sections and write to file if (hasGlobal) { config.appendChild(global); } if (hasFrontend) { config.appendChild(frontend); } if (hasAdmin) { config.appendChild(admin); } return writeXML(getConfigFilePath(), document); }
void LogConfigDialog::loadLogConfiguration() { QString fileExtension; QString s = QFileDialog::getOpenFileName(this, tr("Select Log Configuration File To Open"), getConfigFilePath(), tr("XML(*.xml);;Text(*.txt);;All(*.*)"), &fileExtension, QFileDialog::DontUseNativeDialog); if (s.length() > 0) { setConfigFilePath(s); QFile file(s); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { QMessageBox::warning(this, tr("ERROR"), tr("Failed to open file for reading.")); } else { QXmlStreamReader reader(&file); if (reader.hasError()) { QMessageBox::warning(this, tr("ERROR"), tr("Failed to create output stream for reading logger.")); } else { SimpleLoggerADP logger; logger.read(reader); configureDialog(logger); } file.close(); } } }