代码拉取完成,页面将自动刷新
#include "latexrepository.h"
#include <QMutex>
LatexRepository *LatexRepository::m_Instance = nullptr;
LatexRepository::LatexRepository() :
QObject(nullptr), m_dataSource(None)
{
loadStaticPackageList(":/utilities/packageList");
}
LatexRepository *LatexRepository::instance()
{
static QMutex mutex;
mutex.lock();
if (!m_Instance)
m_Instance = new LatexRepository();
mutex.unlock();
return m_Instance;
}
LatexRepository::DataSource LatexRepository::dataSource()
{
return m_dataSource;
}
bool LatexRepository::loadStaticPackageList(const QString &file)
{
if (file.isEmpty()) return false;
packages.reserve(3000);
QFile f(file);
if (! f.open(QFile::ReadOnly)) return false;
while (!f.atEnd()) {
QString line = f.readLine().trimmed();
if (line.startsWith('#')) continue;
int sep = line.indexOf(':');
if (sep < 0) {
packages.insert(line, LatexPackageInfo(line));
} else {
QString name = line.left(sep);
packages.insert(name, LatexPackageInfo(name, line.mid(sep + 1)));
}
}
m_dataSource = Static;
return true;
}
bool LatexRepository::packageExists(const QString &name)
{
return packages.keys().contains(name);
}
QString LatexRepository::shortDescription(const QString &name)
{
return packages[name].shortDescription;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。