void GameStyleModel::loadGameStyles() { beginResetModel(); QIcon dlcIcon; dlcIcon.addFile(":/res/dlcMarker.png", QSize(), QIcon::Normal, QIcon::On); dlcIcon.addFile(":/res/dlcMarkerSelected.png", QSize(), QIcon::Selected, QIcon::On); QPixmap emptySpace = QPixmap(7, 15); emptySpace.fill(QColor(0, 0, 0, 0)); QIcon notDlcIcon = QIcon(emptySpace); // empty list, so that we can (re)fill it QStandardItemModel::clear(); QList<QStandardItem * > items; items.append(new QStandardItem(notDlcIcon, "Normal")); // define a separator item QStandardItem * separator = new QStandardItem("---"); separator->setData(QLatin1String("separator"), Qt::AccessibleDescriptionRole); separator->setFlags(separator->flags() & ~( Qt::ItemIsEnabled | Qt::ItemIsSelectable ) ); items.append(separator); QStringList scripts = DataManager::instance().entryList( QString("Scripts/Multiplayer"), QDir::Files, QStringList("*.lua") ); foreach(QString script, scripts) { script = script.remove(".lua", Qt::CaseInsensitive); QFile scriptCfgFile(QString("physfs://Scripts/Multiplayer/%2.cfg").arg(script)); QString name = script; name = name.replace("_", " "); QString scheme = "locked"; QString weapons = "locked"; if (scriptCfgFile.exists() && scriptCfgFile.open(QFile::ReadOnly)) { QTextStream input(&scriptCfgFile); input >> scheme; input >> weapons; scriptCfgFile.close(); if (!scheme.isEmpty()) scheme.replace("_", " "); if (!weapons.isEmpty()) weapons.replace("_", " "); }
GameCFGWidget::GameCFGWidget(QWidget* parent) : QGroupBox(parent) , mainLayout(this) , seedRegexp("\\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\}") { mainLayout.setMargin(0); // mainLayout.setSizeConstraint(QLayout::SetMinimumSize); pMapContainer = new HWMapContainer(this); mainLayout.addWidget(pMapContainer, 0, 0); IconedGroupBox *GBoxOptions = new IconedGroupBox(this); GBoxOptions->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); mainLayout.addWidget(GBoxOptions, 1, 0); QGridLayout *GBoxOptionsLayout = new QGridLayout(GBoxOptions); GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Gameplay"), GBoxOptions), 0, 0); Scripts = new QComboBox(GBoxOptions); GBoxOptionsLayout->addWidget(Scripts, 0, 1); Scripts->addItem("Normal"); Scripts->insertSeparator(1); for (int i = 0; i < scriptList->size(); ++i) { QString script = (*scriptList)[i].remove(".lua", Qt::CaseInsensitive); QList<QVariant> scriptInfo; scriptInfo.push_back(script); QFile scriptCfgFile(QString("%1/Scripts/Multiplayer/%2.cfg").arg(datadir->absolutePath()).arg(script)); if (scriptCfgFile.exists() && scriptCfgFile.open(QFile::ReadOnly)) { QString scheme; QString weapons; QTextStream input(&scriptCfgFile); input >> scheme; input >> weapons; if (scheme.isEmpty()) scheme = "locked"; scheme.replace("_", " "); if (weapons.isEmpty()) weapons = "locked"; weapons.replace("_", " "); scriptInfo.push_back(scheme); scriptInfo.push_back(weapons); scriptCfgFile.close(); } else {