亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qsettings.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
    ch = str.at(i);    if (ch >= '0' && ch <= '7') {        escapeVal <<= 3;        escapeVal += ch - '0';        ++i;        goto StOctEscape;    } else {        stringResult += QChar(escapeVal);        goto StNormal;    }end:    if (!currentValueIsQuoted)        iniChopTrailingSpaces(stringResult);    if (isStringList)        stringListResult.append(stringResult);    return isStringList;}QStringList QSettingsPrivate::splitArgs(const QString &s, int idx){    int l = s.length();    Q_ASSERT(l > 0);    Q_ASSERT(s.at(idx) == QLatin1Char('('));    Q_ASSERT(s.at(l - 1) == QLatin1Char(')'));    QStringList result;    QString item;    for (++idx; idx < l; ++idx) {        QChar c = s.at(idx);        if (c == QLatin1Char(')')) {            Q_ASSERT(idx == l - 1);            result.append(item);        } else if (c == QLatin1Char(' ')) {            result.append(item);            item.clear();        } else {            item.append(c);        }    }    return result;}// ************************************************************************// QConfFileSettingsPrivate/*    If we don't have the permission to read the file, returns false.    If the file doesn't exist, returns true.*/static bool checkAccess(const QString &name){    QFileInfo fileInfo(name);    if (fileInfo.exists()) {        QFile file(name);        // if the file exists but we can't open it, report an error        return file.open(QFile::ReadOnly);    } else {        QDir dir;        if (QDir::isRelativePath(name))            dir = QDir::current();        else            dir = QDir::root();        /*            Create the directories to the file.        */        QStringList pathElements = name.split(QLatin1Char('/'), QString::SkipEmptyParts);        for (int i = 0; i < pathElements.size() - 1; ++i) {            const QString &elt = pathElements.at(i);            if (dir.cd(elt))                continue;            if (dir.mkdir(elt) && dir.cd(elt))                continue;            if (dir.cd(elt))                continue;            // if the path can't be created/reached, report an error            return false;        }        // we treat non-existent files as if they existed but were empty        return true;    }}void QConfFileSettingsPrivate::initFormat(){    extension = (format == QSettings::NativeFormat) ? QLatin1String(".conf") : QLatin1String(".ini");    readFunc = 0;    writeFunc = 0;#if defined(Q_OS_MAC)    caseSensitivity = (format == QSettings::NativeFormat) ? Qt::CaseSensitive : Qt::CaseInsensitive;#else    caseSensitivity = IniCaseSensitivity;#endif    if (format > QSettings::IniFormat) {        QMutexLocker locker(globalMutex());        const CustomFormatVector *customFormatVector = customFormatVectorFunc();        int i = (int)format - (int)QSettings::CustomFormat1;        if (i >= 0 && i < customFormatVector->size()) {            QConfFileCustomFormat info = customFormatVector->at(i);            extension = info.extension;            readFunc = info.readFunc;            writeFunc = info.writeFunc;            caseSensitivity = info.caseSensitivity;        }    }}void QConfFileSettingsPrivate::initAccess(){    bool readAccess = false;    if (confFiles[spec]) {        readAccess = checkAccess(confFiles[spec]->name);        if (format > QSettings::IniFormat) {            if (!readFunc)                readAccess = false;        }    }    if (!readAccess)        setStatus(QSettings::AccessError);    sync();       // loads the files the first time}#ifdef Q_OS_WINstatic QString windowsConfigPath(int type){    QString result;#ifndef QT_NO_QOBJECT    // We can't use QLibrary if there is QT_NO_QOBJECT is defined    // This only happens when bootstrapping qmake.    QLibrary library("shell32");    QT_WA( {        typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPTSTR, int, BOOL);        GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPathW");        if (SHGetSpecialFolderPath) {            TCHAR path[MAX_PATH];            SHGetSpecialFolderPath(0, path, type, FALSE);            result = QString::fromUtf16((ushort*)path);        }    } , {        typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, char*, int, BOOL);        GetSpecialFolderPath SHGetSpecialFolderPath = (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPathA");        if (SHGetSpecialFolderPath) {            char path[MAX_PATH];            SHGetSpecialFolderPath(0, path, type, FALSE);            result = QString::fromLocal8Bit(path);        }    } );#endif // QT_NO_QOBJECT    if (result.isEmpty()) {        switch (type) {        case CSIDL_COMMON_APPDATA:            result = QLatin1String("C:\\temp\\qt-common");            break;        case CSIDL_APPDATA:            result = QLatin1String("C:\\temp\\qt-user");            break;        default:            ;        }    }    return result;}#endif // Q_OS_WINstatic inline int pathHashKey(QSettings::Format format, QSettings::Scope scope){    return int((uint(format) << 1) | uint(scope == QSettings::SystemScope));}static QString getPath(QSettings::Format format, QSettings::Scope scope){    Q_ASSERT((int)QSettings::NativeFormat == 0);    Q_ASSERT((int)QSettings::IniFormat == 1);    QString homePath = QDir::homePath();    QString systemPath;    globalMutex()->lock();    PathHash *pathHash = pathHashFunc();    bool loadSystemPath = pathHash->isEmpty();    globalMutex()->unlock();    if (loadSystemPath) {        /*           QLibraryInfo::location() uses QSettings, so in order to           avoid a dead-lock, we can't hold the global mutex while           calling it.       */        systemPath = QLibraryInfo::location(QLibraryInfo::SettingsPath);        systemPath += QLatin1Char('/');    }    QMutexLocker locker(globalMutex());    if (pathHash->isEmpty()) {        /*           Lazy initialization of pathHash. We initialize the           IniFormat paths and (on Unix) the NativeFormat paths.           (The NativeFormat paths are not configurable for the           Windows registry and the Mac CFPreferences.)       */#ifdef Q_OS_WIN        pathHash->insert(pathHashKey(QSettings::IniFormat, QSettings::UserScope),                         windowsConfigPath(CSIDL_APPDATA) + QDir::separator());        pathHash->insert(pathHashKey(QSettings::IniFormat, QSettings::SystemScope),                         windowsConfigPath(CSIDL_COMMON_APPDATA) + QDir::separator());#else        QString userPath;        char *env = getenv("XDG_CONFIG_HOME");        if (env == 0) {            userPath = homePath;            userPath += QLatin1Char('/');#ifdef Q_WS_QWS            userPath += QLatin1String("Settings");#else            userPath += QLatin1String(".config");#endif        } else if (*env == '/') {            userPath = QLatin1String(env);        } else {            userPath = homePath;            userPath += QLatin1Char('/');            userPath += QLatin1String(env);        }        userPath += QLatin1Char('/');        pathHash->insert(pathHashKey(QSettings::IniFormat, QSettings::UserScope), userPath);        pathHash->insert(pathHashKey(QSettings::IniFormat, QSettings::SystemScope), systemPath);#ifndef Q_OS_MAC        pathHash->insert(pathHashKey(QSettings::NativeFormat, QSettings::UserScope), userPath);        pathHash->insert(pathHashKey(QSettings::NativeFormat, QSettings::SystemScope), systemPath);#endif#endif    }    QString result = pathHash->value(pathHashKey(format, scope));    if (!result.isEmpty())        return result;    // fall back on INI path    return pathHash->value(pathHashKey(QSettings::IniFormat, scope));}QConfFileSettingsPrivate::QConfFileSettingsPrivate(QSettings::Format format,                                                   QSettings::Scope scope,                                                   const QString &organization,                                                   const QString &application){    int i;    this->format = format;    initFormat();    for (i = 0; i < NumConfFiles; ++i)        confFiles[i] = 0;    QString org = organization;    if (org.isEmpty()) {        setStatus(QSettings::AccessError);        org = QLatin1String("Unknown Organization");    }    QString appFile = org + QDir::separator() + application + extension;    QString orgFile = org + extension;    if (scope == QSettings::UserScope) {        QString userPath = getPath(format, QSettings::UserScope);        if (!application.isEmpty())            confFiles[F_User | F_Application] = QConfFile::fromName(userPath + appFile, true);        confFiles[F_User | F_Organization] = QConfFile::fromName(userPath + orgFile, true);    }    QString systemPath = getPath(format, QSettings::SystemScope);    if (!application.isEmpty())        confFiles[F_System | F_Application] = QConfFile::fromName(systemPath + appFile, false);    confFiles[F_System | F_Organization] = QConfFile::fromName(systemPath + orgFile, false);    for (i = 0; i < NumConfFiles; ++i) {        if (confFiles[i]) {            spec = i;            break;        }    }    initAccess();}QConfFileSettingsPrivate::QConfFileSettingsPrivate(const QString &fileName,                                                   QSettings::Format format){    this->format = format;    initFormat();    confFiles[0] = QConfFile::fromName(fileName, true);    for (int i = 1; i < NumConfFiles; ++i)        confFiles[i] = 0;    initAccess();}QConfFileSettingsPrivate::~QConfFileSettingsPrivate(){    QMutexLocker locker(globalMutex());    ConfFileHash *usedHash = usedHashFunc();    ConfFileCache *unusedCache = unusedCacheFunc();    for (int i = 0; i < NumConfFiles; ++i) {        if (confFiles[i] && !confFiles[i]->ref.deref()) {            if (usedHash)                usedHash->remove(confFiles[i]->name);            if (confFiles[i]->size == 0) {                delete confFiles[i];            } else if (unusedCache) {                // ### compute a better size                unusedCache->insert(confFiles[i]->name, confFiles[i],                                    10 + (confFiles[i]->originalKeys.size() / 4));            }        }    }}void QConfFileSettingsPrivate::remove(const QString &key){    QConfFile *confFile = confFiles[spec];    if (!confFile)        return;    QSettingsKey theKey(key, caseSensitivity);    QSettingsKey prefix(key + QLatin1Char('/'), caseSensitivity);    QMutexLocker locker(&confFile->mutex);    ensureSectionParsed(confFile, theKey);    ensureSectionParsed(confFile, prefix);    ParsedSettingsMap::iterator i = confFile->addedKeys.lowerBound(prefix);    while (i != confFile->addedKeys.end() && i.key().startsWith(prefix))        i = confFile->addedKeys.erase(i);    confFile->addedKeys.remove(theKey);    ParsedSettingsMap::const_iterator j = const_cast<const ParsedSettingsMap *>(&confFile->originalKeys)->lowerBound(prefix);    while (j != confFile->originalKeys.constEnd() && j.key().startsWith(prefix)) {        confFile->removedKeys.insert(j.key(), QVariant());        ++j;    }    if (confFile->originalKeys.contains(theKey))        confFile->removedKeys.insert(theKey, QVariant());}void QConfFileSettingsPrivate::set(const QString &key, const QVariant &value){    QConfFile *confFile = confFiles[spec];    if (!confFile)        return;    QSettingsKey theKey(key, caseSensitivity);    QMutexLocker locker(&confFile->mutex);    confFile->removedKeys.remove(theKey);    confFile->addedKeys.insert(theKey, value);}bool QConfFileSettingsPrivate::get(const QString &key, QVariant *value) const{    QSettingsKey theKey(key, caseSensitivity);    ParsedSettingsMap::const_iterator j;    bool found = false;    for (int i = 0; i < NumConfFiles; ++i) {        if (QConfFile *confFile = confFiles[i]) {            QMutexLocker locker(&confFile->mutex);            if (!confFile->addedKeys.isEmpty()) {                j = confFile->addedKeys.constFind(theKey);                found = (j != confFile->addedKeys.constEnd());            }            if (!found) {                ensureSectionParsed(confFile, theKey);                j = confFile->originalKeys.constFind(theKey);                found = (j != confFile->originalKeys.constEnd()                         && !confFile->removedKeys.contains(theKey));            }            if (found && value)                *value = *j;            if (found)                return true;            if (!fallbacks)                break;        }    }    return false;}QStringList QConfFileSettingsPrivate::children(const QString &prefix, ChildSpec spec) const{    QMap<QString, QString> result;    ParsedSettingsMap::const_iterator j;    QSettingsKey thePrefix(prefix, caseSensitivity);    int startPos = prefix.size();    for (int i = 0; i < NumConfFiles; ++i) {        if (QConfFile *confFile = confFiles[i]) {            QMutexLocker locker(&confFile->mutex);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利不卡视频| 91亚洲男人天堂| 91丨九色丨尤物| 亚洲精品在线三区| 亚洲18影院在线观看| 成人午夜av影视| 精品乱人伦小说| 亚欧色一区w666天堂| 99久久精品一区二区| 久久综合九色欧美综合狠狠| 天天色天天操综合| 在线观看日韩国产| 国产精品三级久久久久三级| 国产一区二区免费看| 日韩视频在线你懂得| 亚洲风情在线资源站| 色婷婷av一区二区三区软件| 中文字幕精品三区| 尤物av一区二区| 国产一区二区在线电影| 欧美一区二区三区视频免费播放| 国产日韩精品一区二区浪潮av| 久久爱另类一区二区小说| 91精选在线观看| 日韩av不卡在线观看| 91精品国产高清一区二区三区| 亚洲精品菠萝久久久久久久| 日本精品免费观看高清观看| 国产精品欧美一区喷水| av午夜精品一区二区三区| 欧美极品xxx| 成人国产精品免费网站| 中文字幕日韩精品一区 | 精品精品欲导航| 日本不卡一区二区| 91精品国产高清一区二区三区蜜臀| 婷婷夜色潮精品综合在线| 91精品视频网| 国产精品一区二区在线看| 国产喷白浆一区二区三区| 成人三级伦理片| 综合中文字幕亚洲| 欧美无砖砖区免费| 蜜臀精品一区二区三区在线观看| 精品久久久久久最新网址| 国产精品一品二品| 免费观看日韩电影| 日本一区二区视频在线观看| 国产成人在线视频网站| 亚洲免费在线视频| 欧美久久一区二区| 久久97超碰色| 国产精品久久夜| 欧美日韩精品欧美日韩精品| 亚洲va韩国va欧美va| 精品国产第一区二区三区观看体验| 国产在线精品免费av| 亚洲日本va午夜在线影院| 欧美日韩在线播放| 国产黄人亚洲片| 一区二区三区 在线观看视频| 宅男噜噜噜66一区二区66| 国产不卡视频在线播放| av男人天堂一区| 亚洲精品国产第一综合99久久 | 亚洲欧美日韩国产手机在线 | 中文字幕国产一区| 欧美日韩中文另类| 国产真实乱子伦精品视频| 中文字幕一区二区在线观看| 欧美日韩精品电影| 成人久久18免费网站麻豆| 天天影视涩香欲综合网| 日韩一区在线免费观看| 亚洲三级在线播放| 日韩欧美中文字幕精品| 99国产精品久| 国模套图日韩精品一区二区| 亚洲色图色小说| 久久毛片高清国产| 欧美日韩一区三区四区| 成人久久18免费网站麻豆| 日韩专区中文字幕一区二区| 国产精品无遮挡| 日韩三级视频在线看| 欧洲另类一二三四区| 成人av资源下载| 国产一区二区视频在线| 天堂蜜桃一区二区三区| 亚洲精品成人悠悠色影视| 国产午夜精品福利| 日韩欧美国产一区二区在线播放| 精品视频1区2区3区| a4yy欧美一区二区三区| 成人综合婷婷国产精品久久蜜臀 | 国产婷婷精品av在线| 日韩午夜激情免费电影| 欧美日韩精品欧美日韩精品| 91亚洲精品久久久蜜桃网站| 国产乱子伦一区二区三区国色天香| 亚洲电影中文字幕在线观看| 亚洲精品久久嫩草网站秘色| 中文字幕永久在线不卡| 欧美激情一区在线观看| 久久品道一品道久久精品| 精品国产免费一区二区三区香蕉 | 欧美久久一二区| 欧美日韩一区中文字幕| 精品视频在线看| 欧美视频第二页| 欧美手机在线视频| 精品视频在线看| 欧美精品xxxxbbbb| 日韩欧美一级精品久久| 日韩欧美中文一区| 日韩欧美视频在线| 久久精品男人的天堂| 欧美国产视频在线| 亚洲美女在线一区| 亚洲国产一二三| 日韩1区2区日韩1区2区| 国产做a爰片久久毛片| 国产美女精品一区二区三区| 国产成人99久久亚洲综合精品| 国产69精品久久99不卡| 93久久精品日日躁夜夜躁欧美| 91福利在线看| 日韩女优av电影| 国产精品三级电影| 亚洲狠狠爱一区二区三区| 日本欧洲一区二区| 国产精品77777竹菊影视小说| 成人自拍视频在线观看| 欧美性xxxxxxxx| 日韩精品一区二区三区三区免费| 久久久久久日产精品| 综合久久久久综合| 亚洲成av人片在线观看无码| 久久电影网站中文字幕| 波多野结衣的一区二区三区| 欧美日韩中文字幕一区| 久久美女艺术照精彩视频福利播放| 中文字幕亚洲综合久久菠萝蜜| 亚洲国产一区二区视频| 国产一区二区三区在线观看免费| 91理论电影在线观看| 884aa四虎影成人精品一区| 精品国产乱码久久久久久牛牛| 日韩理论片一区二区| 久久99久久99小草精品免视看| 菠萝蜜视频在线观看一区| 欧美精品一二三四| 国产精品久久久久影院老司 | 99re热视频这里只精品| 51久久夜色精品国产麻豆| 国产日韩欧美电影| 首页亚洲欧美制服丝腿| gogogo免费视频观看亚洲一| 欧美一区二区黄色| 一区二区三区在线影院| 国产精品一二二区| 在线播放/欧美激情| 亚洲丝袜自拍清纯另类| 国内成人自拍视频| 91麻豆精品91久久久久久清纯| 一区在线观看视频| 精品一区二区三区免费播放| 欧美午夜不卡在线观看免费| 日韩一区中文字幕| 国产精品亚洲第一| 精品毛片乱码1区2区3区| 五月天视频一区| 91麻豆产精品久久久久久| 日本一区二区不卡视频| 久久成人羞羞网站| 欧美精品三级日韩久久| 亚洲欧美影音先锋| 国产精品77777| 久久久蜜臀国产一区二区| 日韩和欧美一区二区三区| 在线观看亚洲精品| 一区二区三区在线视频观看58 | 一区二区三区中文在线| 99久久精品免费看| 国产精品视频观看| 国产69精品久久久久毛片 | 成人午夜av电影| 国产无人区一区二区三区| 精品在线一区二区三区| 欧美变态凌虐bdsm| 蜜臀久久99精品久久久久宅男 | 亚洲免费在线看| 91蜜桃婷婷狠狠久久综合9色| 国产精品无遮挡| 99re视频精品| 亚洲欧美日本韩国| 在线观看av不卡| 亚洲国产aⅴ成人精品无吗| 欧美三级乱人伦电影| 亚洲成人av电影|