void PublicTalks::themeSelected(int rownumber) { // teema valittu --> tallennetaan kantaan cPersonComboBox *c = static_cast<cPersonComboBox *>(maintable->cellWidget(rownumber,2)); int themeId = 0; if(c->currentText() != "") { themeId = getThemeId(c->model()->index(c->currentIndex(),1).data(0).toString()); } sql_item s; s.setValue("aihe_id",QString::number(themeId)); saveToDatabase(s,QDate::fromString(maintable->item(rownumber,0)->text(),Qt::ISODate)); c->setModelColumn(1); }
/********************************************************** * ThemeEngine class *********************************************************/ ThemeEngine::ThemeEngine(Common::String id, GraphicsMode mode) : _system(0), _vectorRenderer(0), _buffering(false), _bytesPerPixel(0), _graphicsMode(kGfxDisabled), _font(0), _initOk(false), _themeOk(false), _enabled(false), _cursor(0) { _system = g_system; _parser = new ThemeParser(this); _themeEval = new GUI::ThemeEval(); _useCursor = false; for (int i = 0; i < kDrawDataMAX; ++i) { _widgets[i] = 0; } for (int i = 0; i < kTextDataMAX; ++i) { _texts[i] = 0; } for (int i = 0; i < kTextColorMAX; ++i) { _textColors[i] = 0; } // We currently allow two different ways of theme selection in our config file: // 1) Via full path // 2) Via a basename, which will need to be translated into a full path // This function assures we have a correct path to pass to the ThemeEngine // constructor. _themeFile = getThemeFile(id); // We will use getThemeId to retrive the theme id from the given filename // here, since the user could have passed a fixed filename as 'id'. _themeId = getThemeId(_themeFile); _graphicsMode = mode; _themeArchive = 0; _initOk = false; }
void PublicTalks::beforeSpeakerShown(QString name, cPersonComboBox *c) { //cPersonComboBox *c = combo; // get speakers for comboBox //cPersonComboBox *combo = static_cast<cPersonComboBox *>(maintable->cellWidget(combo->property("currentrow").toInt(),3)); cPersonComboBox *themeCombo = static_cast<cPersonComboBox *>(maintable->cellWidget(c->property("currentrow").toInt(),2)); qDebug() << "currentRow1:" << c->currentText() << "rownumber:" << c->property("currentrow") << name; if (c) { qDebug() << "combo ok"; } else { qDebug() << "combo false"; } QTableWidget *table = new QTableWidget(0,4); table->setColumnHidden(0,true); table->setColumnWidth(3,0); std::vector<sql_item> speakers; if(themeCombo->currentText() == "") { // ei teemaa valittu speakers = sql.selectSql("SELECT henkilot.*,yleisokokous.pvm " "FROM henkilot " "LEFT JOIN yleisokokous ON henkilot.id = yleisokokous.puhuja_id " "WHERE henkilot.ohjelmatyypit & 512 GROUP BY henkilot.id ORDER BY nimi"); } else { // teema valittu --> haetaan teeman sopivat puhujat speakers = sql.selectSql("SELECT henkilot.*,P_Esitelmat.aihe_id,yleisokokous.pvm " "FROM henkilot " "LEFT JOIN P_Esitelmat ON henkilot.id = P_Esitelmat.puhuja_id " "LEFT JOIN yleisokokous ON henkilot.id = yleisokokous.puhuja_id " " WHERE P_Esitelmat.aihe_id = '" + QString::number(getThemeId(themeCombo->currentText())) + "' AND henkilot.ohjelmatyypit & 512 GROUP BY henkilot.id ORDER BY nimi, etunimi"); } table->setRowCount(speakers.size()+1); int currentRow = 0; for(unsigned int i = 0; i < speakers.size(); i++) { table->setItem(i+1,0,new QTableWidgetItem( speakers[i].getValue("id") )); table->setItem(i+1,1,new QTableWidgetItem( speakers[i].getValue("nimi") + ", " + speakers[i].getValue("etunimi")) ); table->setItem(i+1,2,new QTableWidgetItem( speakers[i].getValue("pvm")) ); table->setItem(i+1,3,new QTableWidgetItem( speakers[i].getValue("etunimi") + " " + speakers[i].getValue("nimi")) ); if(c->currentText() == table->item(i+1,3)->text()) { QFont boldfont(table->item(i+1,1)->font().family(), table->item(i+1,1)->font().pointSize(), QFont::Bold); table->item(i+1,1)->setFont(boldfont); currentRow = i+1; } } table->verticalHeader()->hide(); table->setColumnWidth(1,150); table->setColumnWidth(2,100); table->setMinimumWidth(280); c->clear(); c->setModel(table->model()); c->setView(table); c->setModelColumn(1); c->setCurrentIndex(currentRow); table->setSortingEnabled(true); table->sortByColumn(1,Qt::AscendingOrder); }