+ setup qss search paths
This commit is contained in:
parent
0ea718177d
commit
72abf54d12
|
@ -1636,6 +1636,13 @@ void Application::runApplication(void)
|
|||
plugin += QLatin1String("/plugins");
|
||||
QCoreApplication::addLibraryPath(plugin);
|
||||
|
||||
// setup the search paths for Qt style sheets
|
||||
QStringList qssPaths;
|
||||
qssPaths << QString::fromUtf8((App::Application::getUserAppDataDir() + "Gui/Stylesheets/").c_str())
|
||||
<< QString::fromUtf8((App::Application::getResourceDir() + "Gui/Stylesheets/").c_str())
|
||||
<< QLatin1String(":/stylesheets");
|
||||
QDir::setSearchPaths(QString::fromLatin1("qss"), qssPaths);
|
||||
|
||||
// check for OpenGL
|
||||
if (!QGLFormat::hasOpenGL()) {
|
||||
QMessageBox::critical(0, QObject::tr("No OpenGL"), QObject::tr("This system does not support OpenGL"));
|
||||
|
|
|
@ -251,35 +251,20 @@ void DlgGeneralImp::loadSettings()
|
|||
filter << QString::fromAscii("*.css");
|
||||
QFileInfoList fileNames;
|
||||
|
||||
// read from user directory
|
||||
dir.setPath(QString::fromUtf8((App::Application::getUserAppDataDir() + "Gui/Stylesheets/").c_str()));
|
||||
fileNames = dir.entryInfoList(filter, QDir::Files, QDir::Name);
|
||||
for (QFileInfoList::iterator it = fileNames.begin(); it != fileNames.end(); ++it) {
|
||||
if (cssFiles.find(it->baseName()) == cssFiles.end()) {
|
||||
cssFiles[it->baseName()] = it->absoluteFilePath();
|
||||
}
|
||||
}
|
||||
|
||||
// read from resource directory
|
||||
dir.setPath(QString::fromUtf8((App::Application::getResourceDir() + "Gui/Stylesheets/").c_str()));
|
||||
fileNames = dir.entryInfoList(QStringList(filter), QDir::Files, QDir::Name);
|
||||
for (QFileInfoList::iterator it = fileNames.begin(); it != fileNames.end(); ++it) {
|
||||
if (cssFiles.find(it->baseName()) == cssFiles.end()) {
|
||||
cssFiles[it->baseName()] = it->absoluteFilePath();
|
||||
}
|
||||
}
|
||||
|
||||
// read from the built-in directory
|
||||
dir.setPath(QLatin1String(":/stylesheets"));
|
||||
fileNames = dir.entryInfoList(QStringList(filter), QDir::Files, QDir::Name);
|
||||
this->StyleSheets->addItem(tr("No style sheet"), QString::fromAscii(""));
|
||||
for (QFileInfoList::iterator it = fileNames.begin(); it != fileNames.end(); ++it) {
|
||||
if (cssFiles.find(it->baseName()) == cssFiles.end()) {
|
||||
cssFiles[it->baseName()] = it->absoluteFilePath();
|
||||
// read from user, resource and built-in directory
|
||||
QStringList qssPaths = QDir::searchPaths(QString::fromLatin1("qss"));
|
||||
for (QStringList::iterator it = qssPaths.begin(); it != qssPaths.end(); ++it) {
|
||||
dir.setPath(*it);
|
||||
fileNames = dir.entryInfoList(filter, QDir::Files, QDir::Name);
|
||||
for (QFileInfoList::iterator jt = fileNames.begin(); jt != fileNames.end(); ++jt) {
|
||||
if (cssFiles.find(jt->baseName()) == cssFiles.end()) {
|
||||
cssFiles[jt->baseName()] = jt->absoluteFilePath();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// now add all unique items
|
||||
this->StyleSheets->addItem(tr("No style sheet"), QString::fromAscii(""));
|
||||
for (QMap<QString, QString>::iterator it = cssFiles.begin(); it != cssFiles.end(); ++it) {
|
||||
this->StyleSheets->addItem(it.key(), it.value());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user