config.cpp
来自「奇趣公司比较新的qt/emd版本」· C++ 代码 · 共 431 行 · 第 1/2 页
CPP
431 行
} } return false;}void Config::loadDefaultProfile(){ QSettings settings; const QString profKey = QLatin1String(QT_VERSION_STR) + QLatin1String("/Profile/default/"); if (!defaultProfileExists()) return; // Override the defaults with settings in registry. profil->icons.clear(); profil->indexPages.clear(); profil->imageDirs.clear(); profil->docs.clear(); profil->dcfTitles.clear(); QStringList titles = settings.value( profKey + QLatin1String("Titles") ).toStringList(); QStringList iconLst = settings.value( profKey + QLatin1String("DocIcons") ).toStringList(); QStringList indexLst = settings.value( profKey + QLatin1String("IndexPages") ).toStringList(); QStringList imgDirLst = settings.value( profKey + QLatin1String("ImageDirs") ).toStringList(); QStringList dcfs = settings.value( profKey + QLatin1String("DocFiles") ).toStringList(); profil->props[QLatin1String("name")] = QLatin1String("default"); QString filePath; QStringList::ConstIterator it = titles.constBegin(); QStringList::ConstIterator iconIt = iconLst.constBegin(); QStringList::ConstIterator indexIt = indexLst.constBegin(); QStringList::ConstIterator imageIt = imgDirLst.constBegin(); QStringList::ConstIterator dcfIt = dcfs.constBegin(); while((it != titles.constEnd()) && (iconIt != iconLst.constEnd()) && (indexIt != indexLst.constEnd()) && (imageIt != imgDirLst.constEnd()) && (dcfIt != dcfs.constEnd())) { profil->addDCFIcon( *it, *iconIt ); profil->addDCFIndexPage(*it, Profile::loadableFilePath(*indexIt)); profil->addDCFImageDir( *it, *imageIt ); profil->addDCFTitle(Profile::loadableFilePath(*dcfIt), *it); ++it, ++iconIt, ++indexIt, ++imageIt, ++dcfIt; }#if ASSISTANT_DEBUG dumpmap( profil->icons, QLatin1String("Icons") ); dumpmap( profil->indexPages, QLatin1String("IndexPages") ); dumpmap( profil->imageDirs, QLatin1String("ImageDirs") ); dumpmap( profil->dcfTitles, QLatin1String("dcfTitles") ); qDebug( "Docfiles: \n " + profil->docs.join( "\n " ) );#endif}void Config::saveProfile( Profile *profile ){ if (profil->profileType() == Profile::UserProfile) return; const QString key = (profile->props[QLatin1String("name")] == QLatin1String("default")) ? QString::fromLatin1(QT_VERSION_STR) : getVersionString(); const QString profKey = key + QLatin1String("/Profile/") + profile->props[QLatin1String("name")] + QLatin1String("/"); QString path = QLibraryInfo::location(QLibraryInfo::DocumentationPath).replace(QLatin1String("\\"), QLatin1String("/")); QStringList indexes, icons, imgDirs, dcfs; QStringList titles = profile->dcfTitles.keys(); QStringList::ConstIterator it = titles.constBegin(); QString filePath; for ( ; it != titles.constEnd(); ++it ) { indexes << Profile::storableFilePath(profile->indexPages[*it]); icons << profile->icons[*it]; imgDirs << profile->imageDirs[*it]; dcfs << Profile::storableFilePath(profile->dcfTitles[*it]); } QSettings settings; settings.setValue( profKey + QLatin1String("Titles"), titles ); settings.setValue( profKey + QLatin1String("DocFiles"), dcfs ); settings.setValue( profKey + QLatin1String("IndexPages"), indexes ); settings.setValue( profKey + QLatin1String("DocIcons"), icons ); settings.setValue( profKey + QLatin1String("ImageDirs"), imgDirs );#if ASSISTANT_DEBUG qDebug() << "Titles:\n - " << ((QStringList*)&titles)->join("\n - "); qDebug() << "Docfiles:\n - " << dcfs.join("\n - " ); qDebug() << "IndexPages:\n - " << indexes.join("\n - "); qDebug() << "DocIcons:\n - " << icons.join("\n - " ); qDebug() << "ImageDirs:\n - " << imgDirs.join("\n - " );#endif}QStringList Config::mimePaths(){ static QStringList lst; if( lst.count() > 0 ) return lst; for (QMap<QString,QString>::ConstIterator it = profil->dcfTitles.constBegin(); it != profil->dcfTitles.constEnd(); ++it ) { // Mime source for .dcf file path QFileInfo info( *it ); QString dcfPath = info.absolutePath(); if (!lst.contains(dcfPath)) lst << dcfPath; // Image dir for .dcf QString imgDir = QDir::toNativeSeparators( dcfPath + QDir::separator() + profil->imageDirs[it.key()] ); if (!lst.contains(imgDir)) lst << imgDir; } return lst;}QStringList Config::profiles() const{ return profileNames;}QString Config::title() const{ QString s = profil->props[QLatin1String("title")]; if (s.isEmpty()) s = QObject::tr("Qt Assistant by Trolltech"); return s;}QString Config::aboutApplicationMenuText() const{ return profil->props[QLatin1String("aboutmenutext")];}QString Config::aboutURL() const{ return profil->props[QLatin1String("abouturl")];}QString Config::homePage() const{ return home.isEmpty() ? profil->props[QLatin1String("startpage")] : home;}QStringList Config::source() const{ return src.size() == 0 ? QStringList(profil->props[QLatin1String("startpage")]) : src;}QStringList Config::docFiles() const{ return profil->docs;}QPixmap Config::docIcon( const QString &title ) const{ // ### To allow qdoc generated dcf files to reference the doc icons from qmake_image_col QString name = profil->icons[title]; QString resName = QLatin1String(":/trolltech/assistant/images/") + name; if (QFile::exists(resName)) return QPixmap(resName); if (name.startsWith(QLatin1String("file:"))) name = name.mid(5); return QPixmap(name);}QPixmap Config::applicationIcon() const{ QString name = profil->props[QLatin1String("applicationicon")]; QString resName = QLatin1String(":/trolltech/assistant/images/") + name; if (QFile::exists(resName)) return QPixmap(resName); if (name.startsWith(QLatin1String("file:"))) name = name.mid(5); return QPixmap(name);}QStringList Config::docTitles() const{ return QStringList(profil->indexPages.keys());}QString Config::docImageDir( const QString &docfile ) const{ return profil->imageDirs[docfile];}QString Config::indexPage( const QString &title ) const{ return profil->indexPages[title];}void Config::hideSideBar( bool b ){ hideSidebar = b;}bool Config::sideBarHidden() const{ return hideSidebar;}QString Config::assistantDocPath() const{ return profil->props[QLatin1String("assistantdocs")].isEmpty() ? QLibraryInfo::location(QLibraryInfo::DocumentationPath) + QLatin1String("/html") : profil->props[QLatin1String("assistantdocs")];}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?