# HG changeset patch # User unc0rr # Date 1218784975 0 # Node ID 0c1c294c0f7e81e331cb7d71a5f7eebc5a2a4525 # Parent 090f94cd663ede96b9aab11ef492c2cbfbe3f5ca Themes list now works diff -r 090f94cd663e -r 0c1c294c0f7e QTfrontend/main.cpp --- a/QTfrontend/main.cpp Fri Aug 15 06:33:50 2008 +0000 +++ b/QTfrontend/main.cpp Fri Aug 15 07:22:55 2008 +0000 @@ -50,6 +50,7 @@ QDateTime now = QDateTime::currentDateTime(); QDateTime zero; srand(now.secsTo(zero)); + rand(); Q_INIT_RESOURCE(hedgewars); diff -r 090f94cd663e -r 0c1c294c0f7e QTfrontend/mapContainer.cpp --- a/QTfrontend/mapContainer.cpp Fri Aug 15 06:33:50 2008 +0000 +++ b/QTfrontend/mapContainer.cpp Fri Aug 15 07:22:55 2008 +0000 @@ -49,7 +49,6 @@ imageButt->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);//QSizePolicy::Minimum, QSizePolicy::Minimum); mainLayout.addWidget(imageButt, 0, 0, 1, 2); connect(imageButt, SIGNAL(clicked()), this, SLOT(setRandomSeed())); - setRandomSeed(); chooseMap = new QComboBox(this); chooseMap->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); @@ -76,11 +75,14 @@ lwi->setTextAlignment(Qt::AlignHCenter); lwThemes->addItem(lwi); } + connect(lwThemes, SIGNAL(currentRowChanged(int)), this, SLOT(themeSelected(int))); gbTLayout->addWidget(lwThemes); lwThemes->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum); mainLayout.setSizeConstraint(QLayout::SetFixedSize);//SetMinimumSize + + setRandomSeed(); } void HWMapContainer::setImage(const QImage newImage) @@ -141,10 +143,15 @@ if(!Themes->size()) return; quint32 themeNum = rand() % Themes->size(); - theme = Themes->at(themeNum); lwThemes->setCurrentRow(themeNum); } +void HWMapContainer::themeSelected(int currentRow) +{ + theme = Themes->at(currentRow); + emit themeChanged(theme); +} + QString HWMapContainer::getCurrentSeed() const { return m_seed; @@ -183,7 +190,10 @@ void HWMapContainer::setTheme(const QString & theme) { - this->theme = theme; + QList items = lwThemes->findItems(theme, Qt::MatchExactly); + if(items.size()) + lwThemes->setCurrentItem(items.at(0)); + //this->theme = theme; } void HWMapContainer::setRandomSeed() @@ -191,5 +201,4 @@ m_seed = QUuid::createUuid().toString(); emit seedChanged(m_seed); changeImage(); - emit themeChanged(theme); } diff -r 090f94cd663e -r 0c1c294c0f7e QTfrontend/mapContainer.h --- a/QTfrontend/mapContainer.h Fri Aug 15 06:33:50 2008 +0000 +++ b/QTfrontend/mapContainer.h Fri Aug 15 07:22:55 2008 +0000 @@ -59,6 +59,7 @@ void setImage(const QImage newImage); void mapChanged(int index); void setRandomSeed(); + void themeSelected(int currentRow); protected: virtual void resizeEvent ( QResizeEvent * event );