110 connect(pMapContainer, SIGNAL(mazeSizeChanged(int)), this, SLOT(maze_sizeChanged(int))); |
110 connect(pMapContainer, SIGNAL(mazeSizeChanged(int)), this, SLOT(maze_sizeChanged(int))); |
111 connect(pMapContainer, SIGNAL(themeChanged(const QString &)), this, SLOT(themeChanged(const QString &))); |
111 connect(pMapContainer, SIGNAL(themeChanged(const QString &)), this, SLOT(themeChanged(const QString &))); |
112 connect(pMapContainer, SIGNAL(newTemplateFilter(int)), this, SLOT(templateFilterChanged(int))); |
112 connect(pMapContainer, SIGNAL(newTemplateFilter(int)), this, SLOT(templateFilterChanged(int))); |
113 connect(pMapContainer, SIGNAL(drawMapRequested()), this, SIGNAL(goToDrawMap())); |
113 connect(pMapContainer, SIGNAL(drawMapRequested()), this, SIGNAL(goToDrawMap())); |
114 connect(pMapContainer, SIGNAL(drawnMapChanged(const QByteArray &)), this, SLOT(onDrawnMapChanged(const QByteArray &))); |
114 connect(pMapContainer, SIGNAL(drawnMapChanged(const QByteArray &)), this, SLOT(onDrawnMapChanged(const QByteArray &))); |
|
115 |
|
116 connect(&DataManager::instance(), SIGNAL(updated()), this, SLOT(updateModelViews())); |
115 } |
117 } |
116 |
118 |
117 void GameCFGWidget::jumpToSchemes() |
119 void GameCFGWidget::jumpToSchemes() |
118 { |
120 { |
119 emit goToSchemes(GameSchemes->currentIndex()); |
121 emit goToSchemes(GameSchemes->currentIndex()); |
489 } |
491 } |
490 } |
492 } |
491 |
493 |
492 void GameCFGWidget::scriptChanged(int index) |
494 void GameCFGWidget::scriptChanged(int index) |
493 { |
495 { |
|
496 const QString & name = Scripts->itemText(index); |
|
497 m_curScript = name; |
|
498 |
494 if(isEnabled() && index > 0) |
499 if(isEnabled() && index > 0) |
495 { |
500 { |
496 QString scheme = Scripts->itemData(Scripts->currentIndex(), GameStyleModel::SchemeRole).toString(); |
501 QString scheme = Scripts->itemData(index, GameStyleModel::SchemeRole).toString(); |
497 QString weapons = Scripts->itemData(Scripts->currentIndex(), GameStyleModel::WeaponsRole).toString(); |
502 QString weapons = Scripts->itemData(index, GameStyleModel::WeaponsRole).toString(); |
498 |
503 |
499 if (scheme == "locked") |
504 if (scheme == "locked") |
500 { |
505 { |
501 GameSchemes->setEnabled(false); |
506 GameSchemes->setEnabled(false); |
502 GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
507 GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); |
535 { |
540 { |
536 GameSchemes->setEnabled(true); |
541 GameSchemes->setEnabled(true); |
537 WeaponsName->setEnabled(true); |
542 WeaponsName->setEnabled(true); |
538 bindEntries->setEnabled(true); |
543 bindEntries->setEnabled(true); |
539 } |
544 } |
540 emit paramChanged("SCRIPT", QStringList(Scripts->itemText(index))); |
545 emit paramChanged("SCRIPT", QStringList(name)); |
541 } |
546 } |
542 |
547 |
543 void GameCFGWidget::mapgenChanged(MapGenerator m) |
548 void GameCFGWidget::mapgenChanged(MapGenerator m) |
544 { |
549 { |
545 emit paramChanged("MAPGEN", QStringList(QString::number(m))); |
550 emit paramChanged("MAPGEN", QStringList(QString::number(m))); |
557 |
562 |
558 void GameCFGWidget::onDrawnMapChanged(const QByteArray & data) |
563 void GameCFGWidget::onDrawnMapChanged(const QByteArray & data) |
559 { |
564 { |
560 emit paramChanged("DRAWNMAP", QStringList(qCompress(data, 9).toBase64())); |
565 emit paramChanged("DRAWNMAP", QStringList(qCompress(data, 9).toBase64())); |
561 } |
566 } |
|
567 |
|
568 |
|
569 void GameCFGWidget::updateModelViews() |
|
570 { |
|
571 // restore game-style selection |
|
572 if (!m_curScript.isEmpty()) |
|
573 { |
|
574 int idx = Scripts->findText(m_curScript); |
|
575 if (idx >= 0) |
|
576 Scripts->setCurrentIndex(idx); |
|
577 else |
|
578 Scripts->setCurrentIndex(0); |
|
579 } |
|
580 } |