int ValueMap::readEntry (const QString& s, int iDefault ){ return readNumEntry(s,iDefault); }
void dvbcut_settings::load_settings() { int version = value("/version", 0).toInt(); if (version >= 1) { // config format version 1 or later beginGroup("/wheel"); wheel_increments[WHEEL_INCR_NORMAL] = value("/incr_normal", 25*60).toInt(); wheel_increments[WHEEL_INCR_SHIFT] = value("/incr_shift", 25).toInt(); wheel_increments[WHEEL_INCR_CTRL] = value("/incr_ctrl", 1).toInt(); wheel_increments[WHEEL_INCR_ALT] = value("/incr_alt", 15*25*60).toInt(); wheel_threshold = value("/threshold", 24).toInt(); // Note: delta is a multiple of 120 (see Qt documentation) wheel_delta = value("/delta", 120).toInt(); if (wheel_delta == 0) wheel_delta = 1; // avoid devide by zero endGroup(); // wheel beginGroup("/slider"); jog_maximum = value("/jog_maximum", 180000).toInt(); jog_threshold = value("/jog_threshold", 50).toInt(); // to increase the "zero frames"-region of the jog-slider jog_offset = value("/jog_offset", 0.4).toDouble(); // sub-intervals of jog_maximum jog_interval = value("/jog_interval", 1).toInt(); if (jog_interval < 0) jog_interval = 0; lin_interval = value("/lin_interval", 3600).toInt(); if (lin_interval < 0) lin_interval = 0; endGroup(); // slider beginGroup("/lastdir"); lastdir = value("/name", ".").toString(); lastdir_update = value("/update", true).toBool(); endGroup(); // lastdir beginGroup("/filter"); idxfilter = value("/idxfilter", DVBCUT_DEFAULT_IDXFILTER).toString(); prjfilter = value("/prjfilter", DVBCUT_DEFAULT_PRJFILTER).toString(); loadfilter = value("/loadfilter", DVBCUT_DEFAULT_LOADFILTER).toString(); endGroup(); // filter } else { // old (unnumbered) config format wheel_increments[WHEEL_INCR_NORMAL] = value("/wheel_incr_normal", 25*60).toInt(); wheel_increments[WHEEL_INCR_SHIFT] = value("/wheel_incr_shift", 25).toInt(); wheel_increments[WHEEL_INCR_CTRL] = value("/wheel_incr_ctrl", 1).toInt(); wheel_increments[WHEEL_INCR_ALT] = value("/wheel_incr_alt", 15*25*60).toInt(); wheel_threshold = value("/wheel_threshold", 24).toInt(); // Note: delta is a multiple of 120 (see Qt documentation) wheel_delta = value("/wheel_delta", 120).toInt(); if (wheel_delta == 0) wheel_delta = 1; // avoid devide by zero jog_maximum = value("/jog_maximum", 180000).toInt(); jog_threshold = value("/jog_threshold", 50).toInt(); // to increase the "zero frames"-region of the jog-slider jog_offset = value("/jog_offset", 0.4).toDouble(); // sub-intervals of jog_maximum jog_interval = value("/jog_interval", 1).toInt(); if (jog_interval < 0) jog_interval = 0; lin_interval = value("/lin_interval", 3600).toInt(); if (lin_interval < 0) lin_interval = 0; lastdir = value("/lastdir", ".").toString(); lastdir_update = true; idxfilter = value("/idxfilter", DVBCUT_DEFAULT_IDXFILTER).toString(); prjfilter = value("/prjfilter", DVBCUT_DEFAULT_PRJFILTER).toString(); loadfilter = value("/loadfilter", DVBCUT_DEFAULT_LOADFILTER).toString(); // remove old-style entries remove("/wheel_incr_normal"); remove("/wheel_incr_shift"); remove("/wheel_incr_ctrl"); remove("/wheel_incr_alt"); remove("/wheel_threshold"); remove("/wheel_delta"); remove("/jog_maximum"); remove("/jog_threshold"); remove("/jog_offset"); remove("/jog_interval"); remove("/lin_interval"); remove("/lastdir"); remove("/idxfilter"); remove("/prjfilter"); remove("/loadfilter"); } if (version >= 2) { /* float view scale factor */ beginGroup("/viewscalefactor"); viewscalefactor = value("/current", 1.0).toDouble(); viewscalefactor_custom = value("/custom", 3.0).toDouble(); endGroup(); // viewscalefactor } else { viewscalefactor = (double)value("/viewscalefactor", 1).toInt(); viewscalefactor_custom = 3.0; remove("/viewscalefactor"); } export_format = value("/export_format", 0).toInt(); beginGroup("/recentfiles"); recentfiles_max = value("/max", 5).toInt(); recentfiles.clear(); std::list<std::string> filenames; QStringList keys = entryList("/"); for (unsigned int i = 0; i < recentfiles_max; ++i) { QString key = "/" + QString::number(i); if (version < 1 && keys.size()>1) { // OLD format (2 keys per input file, NO subkeys!) QString filename = readEntry(key); if (filename.isEmpty()) continue; filenames.clear(); filenames.push_back(filename.toStdString()); QString idxfilename = readEntry(key + "-idx", ""); recentfiles.push_back( std::pair<std::list<std::string>,std::string>(filenames, idxfilename.toStdString())); } else { // NEW format with subkeys and multiple files! beginGroup(key); QString filename = value("/0").toString(); if (!filename.isEmpty()) { // multiple input files? int j=0; filenames.clear(); while(!filename.isEmpty()) { filenames.push_back(filename.toStdString()); filename = value("/" + QString::number(++j), "").toString(); } QString idxfilename = readEntry("/idx", ""); recentfiles.push_back( std::pair<std::list<std::string>,std::string>(filenames, idxfilename.toStdString())); } endGroup(); // key } } endGroup(); // recentfiles beginGroup("/labels"); start_label = value("/start", DVBCUT_DEFAULT_START_LABEL).toString(); stop_label = value("/stop", DVBCUT_DEFAULT_STOP_LABEL).toString(); chapter_label = value("/chapter", DVBCUT_DEFAULT_CHAPTER_LABEL).toString(); bookmark_label = value("/bookmark", DVBCUT_DEFAULT_BOOKMARK_LABEL).toString(); endGroup(); // labels start_bof = value("/start_bof", true).toBool(); stop_eof = value("/stop_eof", true).toBool(); beginGroup("/snapshots"); snapshot_type = value("/type", "PNG").toString(); snapshot_quality = value("/quality", -1).toInt(); snapshot_prefix = value("/prefix", "").toString(); snapshot_delimiter = value("/delimiter", "_").toString(); snapshot_first = value("/first", 1).toInt(); snapshot_width = value("/width", 3).toInt(); snapshot_extension = value("/extension", "png").toString(); snapshot_range = value("/range", 0).toInt(); snapshot_samples = value("/samples", 1).toInt(); endGroup(); // snapshots beginGroup("/pipe"); pipe_command.clear(); pipe_post.clear(); pipe_label.clear(); pipe_format.clear(); beginGroup("/0"); QString command = value("/command", DVBCUT_DEFAULT_PIPE_COMMAND).toString(); QString post = value("/post", DVBCUT_DEFAULT_PIPE_POST).toString(); QString label = value("/label", DVBCUT_DEFAULT_PIPE_LABEL).toString(); int format = value("/format", DVBCUT_DEFAULT_PIPE_FORMAT).toInt(); endGroup(); // 0 unsigned int i = 0; while(!command.isEmpty() && !label.isEmpty()) { if(format<0 || format>3) format = 0; pipe_command.push_back(command); pipe_post.push_back(post); pipe_label.push_back(label); pipe_format.push_back(format); QString key = "/" + QString::number(++i); beginGroup(key); command = readEntry("/command",""); post = readEntry("/post",""); label = readEntry("/label",""); format = readNumEntry("/format", 0); endGroup(); // key } endGroup(); // pipe beginGroup("/chapters"); // length (>0) or number (<0) of chapter(s) chapter_interval = value("/interval", 600*25).toInt(); // detection of scene changes is rather time comsuming... //chapter_tolerance = readNumEntry("/tolerance", 10*25); //... better switch it off per default! chapter_tolerance = value("/tolerance", 0).toInt(); // average color distance needed for a scene change chapter_threshold = value("/threshold", 50.).toDouble(); // minimal length of a chapter chapter_minimum = value("/minimum", 200*25).toInt(); endGroup(); // auto chapters }
QVariant KConfigBase::readPropertyEntry(const char *pKey, const QVariant &aDefault) const { if(!hasKey(pKey)) return aDefault; QVariant tmp = aDefault; switch(aDefault.type()) { case QVariant::Invalid: return QVariant(); case QVariant::String: return QVariant(readEntry(pKey, aDefault.toString())); case QVariant::StringList: return QVariant(readListEntry(pKey)); case QVariant::List: { QStringList strList = readListEntry(pKey); QStringList::ConstIterator it = strList.begin(); QStringList::ConstIterator end = strList.end(); QValueList< QVariant > list; for(; it != end; ++it) { tmp = *it; list.append(tmp); } return QVariant(list); } case QVariant::Font: return QVariant(readFontEntry(pKey, &tmp.asFont())); case QVariant::Point: return QVariant(readPointEntry(pKey, &tmp.asPoint())); case QVariant::Rect: return QVariant(readRectEntry(pKey, &tmp.asRect())); case QVariant::Size: return QVariant(readSizeEntry(pKey, &tmp.asSize())); case QVariant::Color: return QVariant(readColorEntry(pKey, &tmp.asColor())); case QVariant::Int: return QVariant(readNumEntry(pKey, aDefault.toInt())); case QVariant::UInt: return QVariant(readUnsignedNumEntry(pKey, aDefault.toUInt())); case QVariant::LongLong: return QVariant(readNum64Entry(pKey, aDefault.toLongLong())); case QVariant::ULongLong: return QVariant(readUnsignedNum64Entry(pKey, aDefault.toULongLong())); case QVariant::Bool: return QVariant(readBoolEntry(pKey, aDefault.toBool()), 0); case QVariant::Double: return QVariant(readDoubleNumEntry(pKey, aDefault.toDouble())); case QVariant::DateTime: return QVariant(readDateTimeEntry(pKey, &tmp.asDateTime())); case QVariant::Date: return QVariant(readDateTimeEntry(pKey, &tmp.asDateTime()).date()); case QVariant::Pixmap: case QVariant::Image: case QVariant::Brush: case QVariant::Palette: case QVariant::ColorGroup: case QVariant::Map: case QVariant::IconSet: case QVariant::CString: case QVariant::PointArray: case QVariant::Region: case QVariant::Bitmap: case QVariant::Cursor: case QVariant::SizePolicy: case QVariant::Time: case QVariant::ByteArray: case QVariant::BitArray: case QVariant::KeySequence: case QVariant::Pen: break; } Q_ASSERT(0); return QVariant(); }
int KConfigBase::readNumEntry(const QString &pKey, int nDefault) const { return readNumEntry(pKey.utf8().data(), nDefault); }
bool Profile::readBoolEntry( const QString& key, bool def )const { return readNumEntry( key, def ); }