⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qsettings_mac.cpp

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
				QString fix_s = s.left(sep);				qt_mac_unfix_key(fix_s);				if(!fix_s.isEmpty() && ret.findIndex(fix_s) == -1)				    ret << fix_s;			    }			} else if(!subkey) {			    QString fix_s = s;			    qt_mac_unfix_key(fix_s);			    ret << fix_s;			}		    }		}		CFRelease(cfa);		return ret;	    }	}    }    return ret;}voidQSettingsPrivate::sysInit(){    sysd = new QSettingsSysPrivate;    Q_CHECK_PTR(sysd);    sysInsertSearchPath(QSettings::Mac, "");}voidQSettingsPrivate::sysClear(){    delete sysd;    sysd = NULL;}bool QSettingsPrivate::sysSync(){    bool ret = TRUE;    for(QStringList::Iterator it = sysd->syncKeys.begin();  it != sysd->syncKeys.end(); --it) {	CFStringRef csr = CFStringCreateWithCharacters(NULL, (UniChar *)(*it).unicode(), 						       (*it).length());#ifdef DEBUG_SETTINGS_KEYS	qDebug("QSettingsPrivate::sysSync(%s)", (*it).latin1());#endif	if(CFPreferencesAppSynchronize(csr))	    ret = FALSE;	CFRelease(csr);    }    sysd->syncKeys.clear();    return ret;}void QSettingsPrivate::sysInsertSearchPath(QSettings::System s, const QString &path){    if(s != QSettings::Mac)	return;    if ( !path.isEmpty() && !qt_verify_key( path ) ) {#if defined(QT_CHECK_STATE)	qWarning( "QSettings::insertSearchPath: Invalid key: '%s'", path.isNull() ? "(null)" : path.latin1() );#endif	return;    }    QString realpath = path;    while(realpath.right(1) == "/")	realpath.truncate(realpath.length() -1);    sysd->searchPaths.append(realpath);}void QSettingsPrivate::sysRemoveSearchPath(QSettings::System s, const QString &path){    if(s != QSettings::Mac) 	return;    QString realpath = path;    while(realpath.right(1) == "/")	realpath.truncate(realpath.length() -1);    sysd->searchPaths.remove(realpath);}bool QSettingsPrivate::sysReadBoolEntry(const QString &key, bool def, bool *ok) const{#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysReadBoolEntry: invalid null/empty key.");	if(ok)	    *ok = FALSE;	return def;    }#endif // QT_CHECK_STATE    if(CFPropertyListRef r = sysd->readEntry(key, globalScope)) {	if(CFGetTypeID(r) == CFBooleanGetTypeID()) {	    bool ret = FALSE;	    if(CFEqual((CFBooleanRef)r, kCFBooleanTrue))		ret = TRUE;	    CFRelease(r);	    return ret;	} else {	    CFRelease(r);	}    }    if(ok)	*ok = FALSE;    return def;}double QSettingsPrivate::sysReadDoubleEntry(const QString &key, double def, bool *ok) const{#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysReadDoubleEntry: invalid null/empty key.");	if(ok)	    *ok = FALSE;	return def;    }#endif // QT_CHECK_STATE    if(CFPropertyListRef r = sysd->readEntry(key, globalScope)) {	if(CFGetTypeID(r) == CFNumberGetTypeID()) {	    double ret;	    if(!CFNumberGetValue((CFNumberRef)r, kCFNumberDoubleType, &ret)) {		if(ok)		    *ok = FALSE;		ret = def;	    } else if(ok) {		*ok = TRUE;	    }	    CFRelease(r);	    return ret;	} else {	    CFRelease(r);	}    }    if(ok)	*ok = FALSE;    return def;} int QSettingsPrivate::sysReadNumEntry(const QString &key, int def, bool *ok) const{#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysReadNumEntry: invalid null/empty key.");	if(ok)	    *ok = FALSE;	return def;    }#endif // QT_CHECK_STATE    if(CFPropertyListRef r = sysd->readEntry(key, globalScope)) {	if(CFGetTypeID(r) == CFNumberGetTypeID()) {	    int ret;	    if(!CFNumberGetValue((CFNumberRef)r, kCFNumberIntType, &ret)) {		if(ok)		    *ok = FALSE;		ret = def;	    } else if(ok) {		*ok = TRUE;	    }	    CFRelease(r);	    return ret;	} else {	    CFRelease(r);	}    }    if(ok)	*ok = FALSE;    return def;}QString QSettingsPrivate::sysReadEntry(const QString &key, const QString &def, bool *ok) const{#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysReadEntry: invalid null/empty key.");	if(ok)	    *ok = FALSE;	return def;    }#endif // QT_CHECK_STATE    if(CFPropertyListRef r = sysd->readEntry(key, globalScope)) {	if(CFGetTypeID(r) == CFStringGetTypeID()) {	    if(ok)		*ok = TRUE;	    QString ret = cfstring2qstring((CFStringRef)r);	    CFRelease(r);	    return ret;	} else {	    CFRelease(r);	}    }    if(ok)	*ok = FALSE;    return def;}#if !defined(Q_NO_BOOL_TYPE)bool QSettingsPrivate::sysWriteEntry(const QString &key, bool value){#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysWriteEntry (bool): invalid null/empty key.");	return FALSE;    }#endif // QT_CHECK_STATE    CFBooleanRef val = value ? kCFBooleanTrue : kCFBooleanFalse;    bool ret = sysd->writeEntry(key, val, globalScope);    return ret;}#endifbool QSettingsPrivate::sysWriteEntry(const QString &key, double value){#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysWriteEntry (double): invalid null/empty key.");	return FALSE;    }#endif // QT_CHECK_STATE    CFNumberRef val = CFNumberCreate(NULL, kCFNumberDoubleType, &value);    bool ret = sysd->writeEntry(key, val, globalScope);    CFRelease(val);    return ret;}bool QSettingsPrivate::sysWriteEntry(const QString &key, int value){#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysWriteEntry (int): invalid null/empty key.");	return FALSE;    }#endif // QT_CHECK_STATE    CFNumberRef val = CFNumberCreate(NULL, kCFNumberIntType, &value);    bool ret = sysd->writeEntry(key, val, globalScope);    CFRelease(val);    return ret;}bool QSettingsPrivate::sysWriteEntry(const QString &key, const QString &value){#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysWriteEntry (QString): invalid null/empty key.");	return FALSE;    }#endif // QT_CHECK_STATE    CFStringRef val = CFStringCreateWithCharacters(NULL, (UniChar *)value.unicode(), 						 value.length());    bool ret = sysd->writeEntry(key, val, globalScope);    CFRelease(val);    return ret;}bool QSettingsPrivate::sysRemoveEntry(const QString &key){#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysRemoveEntry: invalid null/empty key.");	return FALSE;    }#endif // QT_CHECK_STATE    return sysd->writeEntry(key, NULL, globalScope);}QStringList QSettingsPrivate::sysEntryList(const QString &key) const{#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysEntryList: invalid null/empty key.");	return QStringList();    }#endif // QT_CHECK_STATE    return sysd->entryList(key, FALSE, globalScope);}QStringList QSettingsPrivate::sysSubkeyList(const QString &key) const{#ifdef QT_CHECK_STATE    if(key.isNull() || key.isEmpty()) {	qWarning("QSettingsPrivate::sysSubkeyList: invalid null/empty key.");	return QStringList();    }#endif // QT_CHECK_STATE    return sysd->entryList(key, TRUE, globalScope);}#endif //QT_NO_SETTINGS

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -