//======================================================================================================================================================================================== void MainWindow::listShows(QString location){ showList->clear(); // make it empty so we only need to worry about adding items seasonList->clear(); episodeList->clear(); QFileInfo info(location); if(!info.isDir()) return; // cant list contents unless is a folder QDir loc(location); if(!loc.exists()){ printf("%s", ("unable to open location : " + location + "\n").toStdString().c_str() ); return; } QStringList list = loc.entryList(QDir::Dirs | QDir::NoDotAndDotDot); for(int x=0; x<list.length(); x++){ showList->addItem(list[x]); } list = loc.entryList(QDir::Files); for(int x=0; x<list.length(); x++){ QListWidgetItem *temp = new QListWidgetItem(list[x]); temp->setBackground(Qt::red); showList->addItem(temp); } }
int PartsBinListView::setItemAux(ModelPart * modelPart, int position) { if (modelPart->modelPartShared() == NULL) return position; if (modelPart->itemType() == ModelPart::Unknown) { // don't want the empty root to appear in the view return position; } emit settingItem(); QString moduleID = modelPart->moduleID(); if (contains(moduleID)) { return position; } QListWidgetItem * lwi = new QListWidgetItem(modelPart->title()); if (modelPart->itemType() == ModelPart::Space) { lwi->setBackground(QBrush(SectionHeaderBackgroundColor)); lwi->setForeground(QBrush(SectionHeaderForegroundColor)); lwi->setData(Qt::UserRole, 0); lwi->setFlags(0); lwi->setText(" " + TranslatedCategoryNames.value(modelPart->instanceText(), modelPart->instanceText())); } else { loadImage(modelPart, lwi, moduleID); } if(position > -1 && position < count()) { insertItem(position, lwi); } else { addItem(lwi); position = this->count(); } return position; }
//----------------------------------------------------------------------------- void DebugScriptWindow::hook_logWarning(std::string warn) { QListWidgetItem* item = new QListWidgetItem(QString::fromStdString(warn)); item->setBackground(QBrush(QColor(246, 234, 190))); mListWidget->addItem(item); mListWidget->scrollToBottom(); }
void BCI2000Viewer::FillChannelList() { ui->channelList->blockSignals( true ); ui->channelList->clear(); if( mFile.IsOpen() ) { QListWidgetItem* pItem = new QListWidgetItem( tr("States"), ui->channelList ); pItem->setBackground( cHeadingColor ); pItem->setFlags( Qt::NoItemFlags ); const StateList* states = mFile.States(); for( int i = 0; i < states->Size(); ++i ) { pItem = new QListWidgetItem( ( *states )[ i ].Name().c_str(), ui->channelList ); pItem->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable ); } pItem = new QListWidgetItem( tr("Channels"), ui->channelList ); pItem->setBackground( cHeadingColor ); pItem->setFlags( Qt::NoItemFlags ); int base = ui->channelList->count(), channelsInFile = mFile.SignalProperties().Channels(); if( mFile.Parameters()->Exists( "ChannelNames" ) ) { ParamRef ChannelNames = mFile.Parameter( "ChannelNames" ); for( int i = 0; i < ChannelNames->NumValues() && i < channelsInFile; ++i ) { pItem = new QListWidgetItem( ChannelNames( i ).c_str(), ui->channelList ); pItem->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable ); } } for( int i = ui->channelList->count() - base; i < channelsInFile; ++i ) { pItem = new QListWidgetItem( QString( tr("Channel %1") ).arg( i + 1 ), ui->channelList ); pItem->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable ); } int j = 0; for( ++j; j < ui->channelList->count() && ( ui->channelList->item( j )->flags() & Qt::ItemIsUserCheckable ); ++j ) ui->channelList->item( j )->setCheckState( Qt::Unchecked ); for( ++j; j < ui->channelList->count() && ( ui->channelList->item( j )->flags() & Qt::ItemIsUserCheckable ); ++j ) ui->channelList->item( j )->setCheckState( Qt::Checked ); } ui->channelList->blockSignals( false ); }
bool AnnotationConfigurationHandler::startElement( const QString & /* namespaceURI */, const QString & /* localName */, const QString &qName, const QXmlAttributes &attributes ) { if ( !metAnnotationConfigurationTag && qName != "annotationConfiguration" ) { errorStr = QObject::tr( "The file is not an Annotation Configuration file." ); return false; } if ( qName == "annotationConfiguration" ) { metAnnotationConfigurationTag = true; } else if ( qName == "entity" ) { QListWidgetItem *item = new QListWidgetItem(listWidget); item->setFlags( item->flags() | Qt::ItemIsEditable ); if (m_isEditor) { item->setFlags( item->flags() | Qt::ItemIsUserCheckable); } item->setText( attributes.value( "name" ) ); QColor color( attributes.value( "color" ) ); QColor white( Qt::white ); QBrush brush( color ); colors->push_back( QColor( attributes.value( "color" ).toLower() ) ); (*colorNames2EntityTypes)[attributes.value( "color" ).toLower()] = attributes.value( "name" ); /// @todo setBackgroundColor is deprecated in QT 4.2, replace by /// setBackground below after upgrading. /// item->setBackgroundColor ( QColor( attributes.value( "color" ) ) ); if (attributes.value("recursive") == "true") { m_recursiveEntityTypes->push_back(attributes.value( "name" )); QFont font = item->font(); font.setItalic(true); font.setBold(true); item->setFont(font); if (m_isEditor) { item->setCheckState(Qt::Checked); } } else { if (m_isEditor) { item->setCheckState(Qt::Unchecked); } } item->setBackground ( brush ); item->setTextColor ( white ); } return true; }
void sms_list::refresh_s() { ui->listWidget->clear(); if(db_from_parent->get_contact(contact_tel.toStdString()).get_name() != "未命名") { ui->nameLable->setText(QString::fromStdString(db_from_parent->get_contact(contact_tel.toStdString()).get_name())); } else ui->nameLable->setText(""); ui->phone_numberLable->setText(contact_tel);//contact_list_dialog::contact_index map<string,int> smss = db_from_parent->get_sms_list(contact_tel.toStdString()); map<string,int>::iterator it; Sms tem_sms; for( it = smss.begin();it != smss.end();++it){ tem_sms = db_from_parent->get_sms(it->second); QListWidgetItem *item = new QListWidgetItem(); stringstream ss; ss << tem_sms.get_id(); string id = ss.str(); item->setData(1,QVariant(QString::fromStdString(id))); string text = tem_sms.get_formated_text(26) + "\n\n"; string time = (it->first).substr(0,4) + "/" + (it->first).substr(4,2) + "/" + (it->first).substr(6,2) + " " + (it->first).substr(8,2) + ":" + (it->first).substr(10,2); text.append("" + time + "\n"); if(tem_sms.get_cont() != tem_sms.get_from()) { item->setBackground(QColor::fromRgb(245,248,212)); } else item->setBackground(QColor::fromRgb(250,230,250)); if(tem_sms.get_status() != 0) { text.append("Sending failure"); } item->setText(QString::fromStdString(text)); ui->listWidget->addItem(item); ui->listWidget->addItem(""); } ui->listWidget->scrollToBottom(); timer_s->stop(); }
void MainWindow::addSession() { if (!current_db_class) { return; } MTListWidget * lw = new MTListWidget; QDialog * d = createAddSessionDialogue(tr("Add session"), lw); QList<QDateTime> sessions_list; for (int i = 0; i < CLLSSListWidget->count(); ++i) { sessions_list << CLLSSListWidget->item(i)->data(Qt::UserRole).toDateTime(); } QFont font; font.setBold(true); for (int i = 0; i < SVLSListWidget->count(); ++i) { if (sessions_list.contains(SVLSListWidget->item(i)->data(Qt::UserRole).toDateTime())) { continue; } QListWidgetItem * item = new QListWidgetItem(*(SVLSListWidget->item(i))); item->setFont(font); item->setBackground(QBrush(QColor(255, 255, 255))); item->setForeground(QBrush(QColor(0, 0, 0))); lw->addItem(item); } for (int i = 0; i < SVLASListWidget->count(); ++i) { if (sessions_list.contains(SVLASListWidget->item(i)->data(Qt::UserRole).toDateTime())) { continue; } QListWidgetItem * item = new QListWidgetItem(*(SVLASListWidget->item(i))); item->setBackground(QBrush(QColor(255, 255, 255))); item->setForeground(QBrush(QColor(0, 0, 0))); lw->addItem(item); } lw->setCurrentRow(0); if (!d->exec()) { delete d; return; } if (lw->currentItem() == NULL) { delete d; return; } QDateTime datetime = lw->currentItem()->data(Qt::UserRole).toDateTime(); current_db_class->addSession(datetime); QListWidgetItem * item = new QListWidgetItem(*(lw->currentItem())); item->setFont(QFont()); CLLSSListWidget->addItem(item); delete d; setDatabaseModified(); Session * session = current_db_sessions.value(datetime, current_db_archivedsessions.value(datetime, new ArchivedSession(this))); SessionWizard wizard(session, current_db_class, this); wizard.setWindowModality(Qt::WindowModal); wizard.exec(); for (int i = 0; i < wizard.numMatchedPairs(); ++i) { current_db_class->member(wizard.studentNumberInClass(i))->addSession(datetime, wizard.studentNumberInSession(i)); } setCurrentClassMember(CLLSListWidget->highlightedItem()); CLSCAverageLabel->setText(QString("%1%").arg(current_db_class->average(¤t_db_sessions, ¤t_db_archivedsessions))); }
//----------------------------------------------------------------------------- void DebugScriptWindow::hook_logError(std::string error) { /// TODO: Insert a list widget item that is colored (background). QListWidgetItem* item = new QListWidgetItem(QString::fromStdString(error)); item->setBackground(QBrush(QColor(238, 209, 212))); mListWidget->addItem(item); mListWidget->scrollToBottom(); }
void MyDialog::on_pushButton_2_clicked() { //ui->listWidget->currentItem()->setText("Fussy"); QListWidgetItem *item = ui->listWidget->currentItem(); item->setText("Fussy bunny"); item->setTextColor(Qt::red); item->setBackground(Qt::black); }
int PartsBinListView::setItemAux(ModelPart * modelPart, int position) { if (modelPart->modelPartShared() == NULL) return position; if (modelPart->itemType() == ModelPart::Unknown) { // don't want the empty root to appear in the view return position; } emit settingItem(); QString moduleID = modelPart->moduleID(); if(contains(moduleID)) { m_partHash[moduleID]->copy(modelPart); // copies into the cached modelPart, but I don't know why return position; } QListWidgetItem * lwi = new QListWidgetItem(modelPart->title()); if (modelPart->itemType() == ModelPart::Space) { lwi->setBackground(QBrush(SectionHeaderBackgroundColor)); lwi->setForeground(QBrush(SectionHeaderForegroundColor)); lwi->setData(Qt::UserRole, 0); lwi->setFlags(0); lwi->setText(" " + TranslatedCategoryNames.value(modelPart->instanceText(), modelPart->instanceText())); } else { ItemBase * itemBase = ItemBaseHash.value(moduleID); if (itemBase == NULL) { itemBase = PartFactory::createPart(modelPart, ViewLayer::ThroughHoleThroughTop_OneLayer, ViewLayer::IconView, ViewGeometry(), ItemBase::getNextID(), NULL, NULL, false); ItemBaseHash.insert(moduleID, itemBase); QString error; LayerAttributes layerAttributes; FSvgRenderer * renderer = itemBase->setUpImage(modelPart, ViewLayer::IconView, ViewLayer::Icon, itemBase->viewLayerSpec(), layerAttributes, error); if (renderer != NULL) { if (itemBase) { itemBase->setFilename(renderer->filename()); } itemBase->setSharedRendererEx(renderer); } } lwi->setData(Qt::UserRole, qVariantFromValue( itemBase ) ); QSize size(HtmlInfoView::STANDARD_ICON_IMG_WIDTH, HtmlInfoView::STANDARD_ICON_IMG_HEIGHT); QPixmap * pixmap = FSvgRenderer::getPixmap(itemBase->renderer(), size); lwi->setIcon(QIcon(*pixmap)); delete pixmap; lwi->setData(Qt::UserRole + 1, itemBase->renderer()->defaultSize()); m_partHash[moduleID] = modelPart; } if(position > -1 && position < count()) { insertItem(position, lwi); } else { addItem(lwi); position = this->count(); } return position; }
void TabbedMainWindow::addUsersToCluster(QString hostname, QString usernamepassword, QListWidget *list1, QListWidget *list2) { ProgressDialog progbar("CMClusters - Connecting...", "Please wait while a connection to the selected clusters are established!"); progbar.show(); for (int i = list1->count(); i --> 0;) { if (list1->item(i)->isSelected()) { QString userid = getSubstringBetween(list1->item(i)->text(), QString("("), QString(")")); qDebug() << userid; QListWidgetItem* userToRemove = list1->item(i); QListWidgetItem* userToAdd = new QListWidgetItem(list1->item(i)->text()); QByteArray jsonString = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns=\"http://www.cisco.com/AXL/API/8.5\">"; jsonString += "<soapenv:Body><ns:executeSQLUpdate><sql>UPDATE enduser SET enduser.islocaluser = '******' WHERE enduser.userid = '" + userid.toLocal8Bit() + "'</sql></ns:executeSQLUpdate></SOAP-ENV:Envelope>"; QByteArray postDataSize = QByteArray::number(jsonString.size()); QUrl req("https://" + hostname.toLocal8Bit() + ":8443/axl/"); QNetworkRequest request(req); request.setRawHeader("SOAPAction", "\"CUCM:DB ver=8.5 executeSQLUpdate\""); request.setRawHeader("Authorization", "Basic " + usernamepassword.toLocal8Bit()); request.setRawHeader("Content-Type", "text/xml"); request.setRawHeader("Content-Length", postDataSize); QNetworkAccessManager test; QEventLoop loop; connect(&test, SIGNAL(finished(QNetworkReply*)), &loop, SLOT(quit())); QNetworkReply * reply = test.post(request, jsonString); reply->ignoreSslErrors(); // Ignore only unsigned later on connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onError(QNetworkReply::NetworkError))); loop.exec(); QByteArray response = reply->readAll(); QVariant statusCode = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); if ( !statusCode.isValid() ) { qDebug() << "Failed..."; qDebug() << statusCode.data(); } int status = statusCode.toInt(); if ( status != 200 ) { QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); qDebug() << reason; } else { qDebug() << "Good reply"; qDebug() << response; if (response.contains("<rowsUpdated>1</rowsUpdated>")) { qDebug() << "Something went correct!"; delete userToRemove; list2->addItem(userToAdd); userToAdd->setBackground(QColor(0, 170, 255));//Correct the color scheme } else { qDebug() << "We f****d up!"; } } } }
void QcListWidget::setColors( const QVariantList & colors ) const { int cc = colors.count(); int ic = count(); for( int i=0; i<cc && i < ic; ++i ) { QListWidgetItem *it = item(i); QColor color( colors[i].value<QColor>() ); if( color.isValid() ) it->setBackground( color ); } }
void PeakColorDlg::onColor() { QListWidgetItem* item = d_list->currentItem(); Q_ASSERT( item != 0 ); const QColor clr = QColorDialog::getColor( item->background().color(), this ); if( !clr.isValid() ) return; item->setBackground( clr ); d_colors->setColor( item->type(), clr ); }
void Datoteka::ucitaj() { flag = false; ui->listWidget->clear(); instructions.clear(); QFile file("komande.txt"); if(!file.open(QIODevice::ReadOnly)) { QMessageBox::information(0, "error", file.errorString()); } QTextStream in(&file); while(!in.atEnd()) { QString line = in.readLine(); if(!line.contains(QRegExp("Q[0-9]+ [a-z] [a-z] [R,S,L] Q[0-9]+"))) { QListWidgetItem *item = new QListWidgetItem(line, ui->listWidget); item->setForeground(Qt::red); // sets red text item->setBackground(Qt::white); ui->listWidget->addItem(item); ui->listWidget->show(); flag = true; } else { QListWidgetItem *item = new QListWidgetItem(line, ui->listWidget); instructions.push_back(line); item->setForeground(Qt::black); ui->listWidget->addItem(item); } } if(!flag) { emit upaliNext(); } else { emit losaKomanda(); } instructionLab->setVectorInstruction(instructions); file.close(); }
QListWidgetItem* ListWidgetHandler::makeItem(const TraceEntry &entry) const { QListWidgetItem *item = new QListWidgetItem(entry.context, listWidget); item->setBackground( (listWidget->count() % 2)? Qt::white : Qt::lightGray ); QVariant data; data.setValue(entry); item->setData(Qt::UserRole, data); return item; }
void SettingsDialog::setupActionsList() { QList<QAction*> actionsList = pmchart->toolbarActionsList(); QList<QAction*> enabledList = pmchart->enabledActionsList(); actionListWidget->blockSignals(true); actionListWidget->clear(); for (int i = 0; i < actionsList.size(); i++) { QAction *action = actionsList.at(i); QListWidgetItem *item = new QListWidgetItem(action->icon(), action->iconText()); actionListWidget->insertItem(i, item); if (enabledList.contains(action) == false) item->setBackground(disabled); } actionListWidget->blockSignals(false); }
void UsersDialog::populateList(const QString &filter) { QRegExp nameFilter("*" + filter + "*"); nameFilter.setPatternSyntax(QRegExp::Wildcard); nameFilter.setCaseSensitivity(Qt::CaseInsensitive); ui->listWidget->clear(); if (userList) { for (QList<UserInfo>::iterator it = userList->begin(); it != userList->end(); ++it) { UserInfo &user(*it); if (filter.isEmpty() || nameFilter.exactMatch(user.name)) { if (user.validity == '-' && !ui->checkBox->isChecked()) continue; if (user.expiry.toTime_t() > 0 && user.expiry.daysTo(QDateTime::currentDateTime()) > 0 && !ui->checkBox->isChecked()) continue; QString userText = user.name + "\n" + user.key_id; if (user.created.toTime_t() > 0) { userText += " " + tr("created") + " " + user.created.toString(Qt::SystemLocaleShortDate); } if (user.expiry.toTime_t() > 0) userText += " " + tr("expires") + " " + user.expiry.toString(Qt::SystemLocaleShortDate); QListWidgetItem *item = new QListWidgetItem(userText, ui->listWidget); item->setCheckState(user.enabled ? Qt::Checked : Qt::Unchecked); item->setData(Qt::UserRole, QVariant::fromValue(&user)); if (user.have_secret) { // item->setForeground(QColor(32, 74, 135)); item->setForeground(Qt::blue); QFont font; font.setFamily(font.defaultFamily()); font.setBold(true); item->setFont(font); } else if (user.validity == '-') { item->setBackground(QColor(164, 0, 0)); item->setForeground(Qt::white); } else if (user.expiry.toTime_t() > 0 && user.expiry.daysTo(QDateTime::currentDateTime()) > 0) { item->setForeground(QColor(164, 0, 0)); } ui->listWidget->addItem(item); } } } }
void PeakColorDlg::select(PeakColorList * list) { Q_ASSERT( list != 0 ); d_colors = list; for( int i = 1; i <= 255; i++ ) { QListWidgetItem* item = new QListWidgetItem(d_list,i); item->setSizeHint( QSize(30,30) ); QColor clr = d_colors->getColor(i); if( !clr.isValid() ) clr = Qt::transparent; item->setBackground( clr ); item->setText( QString::number(i) ); } exec(); }
void MainWindow::EnumCertificates() { PCCERT_CONTEXT pCert = NULL; std::vector< PCCERT_CONTEXT > cert_vector; int count = 1; HCERTSTORE hCertStore = NULL; wchar_t pszStr[ 2000 ]; wchar_t pszStr2[ 2000 ]; LPCWSTR storage = L""; if(ui->rbMYStorage->isChecked() == true) storage = L"MY"; else storage = L"ROOT"; hCertStore = CertOpenStore( CERT_STORE_PROV_SYSTEM, 0, NULL, CERT_SYSTEM_STORE_CURRENT_USER, storage); while( pCert = CertEnumCertificatesInStore( hCertStore, pCert ) ) { cert_vector.push_back( CertDuplicateCertificateContext( pCert ) ); CertGetNameString( pCert, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL, pszStr, 128 ); CertGetNameString( pCert, CERT_NAME_SIMPLE_DISPLAY_TYPE, CERT_NAME_ISSUER_FLAG, NULL, pszStr2, 128 ); QString str = ""; DWORD pcbData = 0; if(CertGetCertificateContextProperty(pCert, CERT_KEY_PROV_INFO_PROP_ID, NULL, &pcbData) != 0) str = "Issuer: "+QString::fromWCharArray(pszStr2)+" \nSubject: "+QString::fromWCharArray(pszStr)+"\nHave the private key"; else str = "Issuer: "+QString::fromWCharArray(pszStr2)+" \nSubject: "+QString::fromWCharArray(pszStr); QListWidgetItem *item = new QListWidgetItem(str); if(count % 2 != 0) item->setBackground(Qt::lightGray); ui->listCerts->addItem(item); certList.append(pCert); count++; } }
/** * @brief MainWindow::chargerListWidgetProduits * Vide la liste widget produit * Charge la combobox avec les rayons * Vide les vecteur associés a la liste widget produits * Charge la listWidgetProduits avec les produits dans les rayons */ void MainWindow::chargerListWidgetProduits(){ //vide la liste widget produit ui->listWidgetProduits->clear(); //charge la combobox avec les rayons chargerComboBoxRayons(); //vide les vecteur associés a la liste widget produits vectorRayonsProduits.clear(); vectorPositionInListOfRayon.clear(); int i=0; QString rayon; //requete qui permet d'afficher les produits dans les rayons QSqlQuery req("select produitId, produitLib, rayonLib from produit natural join rayon where produitLib like '%"+ui->lineEditRechercheProduits->text()+"%' order by rayonId , produitLib"); while(req.next()) { QListWidgetItem *item; if(req.value(2).toString()!=rayon) // si on change de rayon { item=new QListWidgetItem(req.value(2).toString()); item->setBackground(Qt::gray);//change le fond en gris (ligne du rayon) item->setTextColor(Qt::white);//change la couleur en blanc (ligne du rayon) item->setTextAlignment(Qt::AlignCenter);//centre le rayon au milieu de la listwidget item->setFlags(Qt::ItemIsEnabled);//empéche le clique sur le rayon item->setToolTip("Rayon");//définie le tooltip si rayon vectorPositionInListOfRayon.push_back(i); vectorRayonsProduits.push_back(req.value(2).toString()); ui->listWidgetProduits->addItem(item); rayon=req.value(2).toString(); i++; } item=new QListWidgetItem(req.value(1).toString()); item->setToolTip("Produit");//définie le tooltip si produit vectorRayonsProduits.push_back(req.value(0).toString()); ui->listWidgetProduits->addItem(item); i++; } if(i==0) { ui->listWidgetProduits->addItem("Aucun produit trouvé"); } }
void UsersDialog::populateList(const QString &filter) { QRegExp nameFilter("*"+filter+"*"); nameFilter.setPatternSyntax(QRegExp::Wildcard); nameFilter.setCaseSensitivity(Qt::CaseInsensitive); ui->listWidget->clear(); if (userList) { for (UserInfo &user : *userList) { if (filter.isEmpty() || nameFilter.exactMatch(user.name)) { QListWidgetItem *item = new QListWidgetItem(user.name + "\n" + user.key_id, ui->listWidget); item->setCheckState(user.enabled ? Qt::Checked : Qt::Unchecked); item->setData(Qt::UserRole, QVariant::fromValue(&user)); if (user.have_secret) { item->setForeground(Qt::blue); } else if (user.validity == '-') { item->setBackground(Qt::red); } ui->listWidget->addItem(item); } } } }
void AddPluginDialog::filter() { QListWidget* pluginList = ui->pluginList; const int curr_item = 0 < pluginList->count() ? pluginList->currentRow() : 0; pluginList->clear(); static QIcon fallIco = XdgIcon::fromTheme("preferences-plugin"); int pluginCount = mPlugins.length(); for (int i = 0; i < pluginCount; ++i) { const LXQt::PluginInfo &plugin = mPlugins.at(i); QString s = QStringLiteral("%1 %2 %3 %4").arg(plugin.name(), plugin.comment(), plugin.value("Name").toString(), plugin.value("Comment").toString()); if (!s.contains(ui->searchEdit->text(), Qt::CaseInsensitive)) continue; QListWidgetItem* item = new QListWidgetItem(ui->pluginList); // disable single-instances plugins already in use if (dynamic_cast<LXQtPanelApplication const *>(qApp)->isPluginSingletonAndRunnig(plugin.id())) { item->setFlags(item->flags() & ~Qt::ItemIsEnabled); item->setBackground(palette().brush(QPalette::Disabled, QPalette::Text)); item->setText(QStringLiteral("<b>%1</b><br>%2<br><small>%3</small>") .arg(plugin.name(), plugin.comment(), tr("(only one instance can run at a time)"))); } else item->setText(QStringLiteral("<b>%1</b><br>%2").arg(plugin.name(), plugin.comment())); item->setIcon(plugin.icon(fallIco)); item->setData(INDEX_ROLE, i); } if (pluginCount > 0) ui->pluginList->setCurrentRow(curr_item < pluginCount ? curr_item : pluginCount - 1); }
static PyObject *meth_QListWidgetItem_setBackground(PyObject *sipSelf, PyObject *sipArgs) { PyObject *sipParseErr = NULL; { const QBrush* a0; int a0State = 0; QListWidgetItem *sipCpp; if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QListWidgetItem, &sipCpp, sipType_QBrush, &a0, &a0State)) { sipCpp->setBackground(*a0); sipReleaseType(const_cast<QBrush *>(a0),sipType_QBrush,a0State); Py_INCREF(Py_None); return Py_None; } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoMethod(sipParseErr, sipName_QListWidgetItem, sipName_setBackground, doc_QListWidgetItem_setBackground); return NULL; }
void MainWindow::on_comboBox_currentIndexChanged(int index) { ui->toDo->clear(); ui->doing->clear(); ui->toVerify->clear(); ui->done->clear(); if(index == 0 ){ QListWidgetItem* pItem6 =new QListWidgetItem( " Item number: 6 \n Item: Database maken \n Hours: 8 \n Prio: 96 \n Team member: Leroy van Zeeland \n PBI: 5"); pItem6->setBackground(Qt::green); ui->doing->addItem(pItem6); QListWidgetItem* pItem1 =new QListWidgetItem( " Item number: 20 \n Item: Bel monteren \n Hours: 1 \n Prio: 66 \n Team member: Robbert van Elk \n PBI: 5"); pItem1->setBackground(Qt::yellow); ui->doing->addItem(pItem1); QListWidgetItem* pItem7 =new QListWidgetItem( " Item number: 9 \n Item: DKD maken \n Hours: 6 \n Prio: 84 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem7->setBackground(Qt::green); ui->toVerify->addItem(pItem7); QListWidgetItem* pItem5 =new QListWidgetItem( " Item number: 2 \n Item: QT bestuderen \n Hours: 3 \n Prio: 100 \n Team member: Leroy van Zeeland \n PBI: 5"); pItem5->setBackground(Qt::green); ui->toDo->addItem(pItem5); QListWidgetItem* pItem2 =new QListWidgetItem( " Item number: 14 \n Item: Wiel plakken \n Hours: 1 \n Prio: 94 \n Team member: Robbert van Elk \n PBI: 6"); pItem2->setBackground(Qt::yellow); ui->toDo->addItem(pItem2); QListWidgetItem* pItem =new QListWidgetItem( " Item number: 1 \n Item: Fiets maken \n Hours: 6 \n Prio: 90 \n Team member: Robbert van Elk \n PBI: 5"); pItem->setBackground(Qt::yellow); ui->toDo->addItem(pItem); QListWidgetItem* pItem4 =new QListWidgetItem( " Item number: 3 \n Item: Account aanmaken \n Hours: 1 \n Prio: 86 \n Team member: Robbert van Elk \n PBI: 6"); pItem4->setBackground(Qt::yellow); ui->toDo->addItem(pItem4); QListWidgetItem* pItem8 =new QListWidgetItem( " Item number: 55 \n Item: Unit test maken \n Hours: 2 \n Prio: 70 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem8->setBackground(Qt::green); ui->toDo->addItem(pItem8); QListWidgetItem* pItem9 =new QListWidgetItem( " Item number: 32 \n Item: QT installeren \n Hours: 1 \n Prio: 68 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem9->setBackground(Qt::green); ui->toDo->addItem(pItem9); QListWidgetItem* pItem10 =new QListWidgetItem( " Item number: 19 \n Item: Presentatie maken \n Hours: 4 \n Prio: 66 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem10->setBackground(Qt::green); ui->toDo->addItem(pItem10); QListWidgetItem* pItem3 =new QListWidgetItem( " Item number: 12 \n Item: Computer aansluiten \n Hours: 3 \n Prio: 88 \n Team member: Robbert van Elk \n PBI: 6"); pItem3->setBackground(Qt::yellow); ui->done->addItem(pItem3); }else if(index == 1){ QListWidgetItem* pItem =new QListWidgetItem( " Item number: 1 \n Item: Fiets maken \n Hours: 6 \n Prio: 90 \n Team member: Robbert van Elk \n PBI: 5"); pItem->setBackground(Qt::yellow); ui->toDo->addItem(pItem); QListWidgetItem* pItem2 =new QListWidgetItem( " Item number: 20 \n Item: Bel monteren \n Hours: 1 \n Prio: 66 \n Team member: Robbert van Elk \n PBI: 5"); pItem2->setBackground(Qt::yellow); ui->doing->addItem(pItem2); QListWidgetItem* pItem3 =new QListWidgetItem( " Item number: 14 \n Item: Wiel plakken \n Hours: 1 \n Prio: 94 \n Team member: Robbert van Elk \n PBI: 6"); pItem3->setBackground(Qt::yellow); ui->toDo->addItem(pItem3); QListWidgetItem* pItem4 =new QListWidgetItem( " Item number: 12 \n Item: Computer aansluiten \n Hours: 3 \n Prio: 88 \n Team member: Robbert van Elk \n PBI: 6"); pItem4->setBackground(Qt::yellow); ui->done->addItem(pItem4); QListWidgetItem* pItem5 =new QListWidgetItem( " Item number: 3 \n Item: Account aanmaken \n Hours: 1 \n Prio: 86 \n Team member: Robbert van Elk \n PBI: 6"); pItem5->setBackground(Qt::yellow); ui->toDo->addItem(pItem5); } else if(index == 2){ QListWidgetItem* pItem =new QListWidgetItem( " Item number: 2 \n Item: QT bestuderen \n Hours: 3 \n Prio: 100 \n Team member: Leroy van Zeeland \n PBI: 5"); pItem->setBackground(Qt::green); ui->toDo->addItem(pItem); QListWidgetItem* pItem2 =new QListWidgetItem( " Item number: 6 \n Item: Database maken \n Hours: 8 \n Prio: 96 \n Team member: Leroy van Zeeland \n PBI: 5"); pItem2->setBackground(Qt::green); ui->doing->addItem(pItem2); QListWidgetItem* pItem3 =new QListWidgetItem( " Item number: 9 \n Item: DKD maken \n Hours: 6 \n Prio: 84 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem3->setBackground(Qt::green); ui->toVerify->addItem(pItem3); QListWidgetItem* pItem4 =new QListWidgetItem( " Item number: 55 \n Item: Unit test maken \n Hours: 2 \n Prio: 70 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem4->setBackground(Qt::green); ui->toDo->addItem(pItem4); QListWidgetItem* pItem5 =new QListWidgetItem( " Item number: 32 \n Item: QT installeren \n Hours: 1 \n Prio: 68 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem5->setBackground(Qt::green); ui->toDo->addItem(pItem5); QListWidgetItem* pItem6 =new QListWidgetItem( " Item number: 19 \n Item: Presentatie maken \n Hours: 4 \n Prio: 66 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem6->setBackground(Qt::green); ui->toDo->addItem(pItem6); } }
bool FormMaterialIndicesManager::updateMaterials(QImage& image){ bSkipUpdating = true; // Calculate image color map colorIndices.clear(); for(int w = 0 ; w < image.width() ; w++){ for(int h = 0 ; h < image.height() ; h++){ QRgb pixel = image.pixel(w,h); QColor bgColor = QColor(pixel); int indeks = bgColor.red()*255*255 + bgColor.green()*255 + bgColor.blue(); colorIndices[indeks] = pixel; }} if(colorIndices.size() > 32){ QMessageBox msgBox; msgBox.setText("Error: too much colors!"); msgBox.setInformativeText(" Sorry, but this image does not look like a material texture.\n" " Your image contains more than 32 different colors"); msgBox.setStandardButtons(QMessageBox::Cancel); msgBox.exec(); bSkipUpdating = false; return false; } typedef std::map<int,QRgb>::iterator it_type; ui->listWidgetMaterialIndices->clear(); // generate materials list int indeks = 1; for(it_type iterator = colorIndices.begin(); iterator != colorIndices.end(); iterator++) { qDebug() << "Material index: " << iterator->first << " Color :" << QColor(iterator->second); QListWidgetItem* pItem =new QListWidgetItem("Material"+QString::number(indeks++)); QColor mColor = QColor(iterator->second); pItem->setForeground(mColor); // sets red text pItem->setBackground(mColor); // sets green background QColor textColor = QColor(255-mColor.red(),255-mColor.green(),255-mColor.blue()); pItem->setTextColor(textColor); ui->listWidgetMaterialIndices->addItem(pItem); } qDebug() << "Updating material indices. Total indices count:" << ui->listWidgetMaterialIndices->count(); for(int i = 0 ; i < METALLIC_TEXTURE ; i++){ materialIndices[i].clear(); for(int m = 0 ; m < ui->listWidgetMaterialIndices->count() ; m++){ QString m_name = ui->listWidgetMaterialIndices->item(m)->text(); FBOImageProporties tmp; tmp.copySettings(imagesPointers[i]->imageProp); materialIndices[i][m_name] = tmp; } } lastMaterialIndex = 0; QString cText = ui->listWidgetMaterialIndices->item(lastMaterialIndex)->text(); ui->listWidgetMaterialIndices->item(lastMaterialIndex)->setText(cText+" (selected material)"); QColor bgColor = ui->listWidgetMaterialIndices->item(lastMaterialIndex)->backgroundColor(); FBOImageProporties::currentMaterialIndeks = bgColor.red()*255*255 + bgColor.green()*255 + bgColor.blue(); bSkipUpdating = false; return true; }
void TabbedMainWindow::findUsers(QString hostname, QString usernamepassword, int condition1, QString condition2, QString argument, QListWidget * list, QListWidget * list2) { //First maybe we clear the dang list?! QString condition1String, condition2String; if (condition1 == 0) { condition1String = "enduser.firstname"; } else if (condition1 == 1) { condition1String = "enduser.middlename"; } else if (condition1 == 2) { condition1String = "enduser.lastname"; } else if (condition1 == 3) { condition1String = "enduser.userid"; } else if (condition1 == 4) { condition1String = "enduser.islocaluser"; } else if (condition1 == 5) { condition1String = "enduser.telephonenumber"; } if (condition2 == "Equals") { condition2String = "= '" + argument.toLower() + "'"; } else if (condition2 == "Contains") { condition2String = "LIKE '%" + argument.toLower() + "%'"; } else if (condition2 == "Begins with") { condition2String = "LIKE '" + argument.toLower() + "%'"; } else if (condition2 == "Ends with") { condition2String = "LIKE '%" + argument.toLower() + "'"; } else if (condition2 == "Is Empty") { condition2String = "IS NULL"; } else if (condition2 == "Is not Empty") { condition2String = "IS NOT NULL"; } else if (condition2 == "True") { condition2String = "= 't'"; } else if (condition2 == "False") { condition2String = "= 'f'"; } ProgressDialog progbar("CMClusters - Connecting...", "Please wait while a connection to the selected clusters are established!"); progbar.show(); QByteArray jsonString = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns=\"http://www.cisco.com/AXL/API/8.5\">"; if (condition1 == 4) { jsonString += "<soapenv:Body><ns:executeSQLQuery><sql>SELECT enduser.userid,enduser.firstname,enduser.middlename,enduser.lastname,enduser.islocaluser,enduser.telephonenumber from enduser where " + condition1String + condition2String + "</sql></ns:executeSQLQuery></SOAP-ENV:Envelope>"; } else { jsonString += "<soapenv:Body><ns:executeSQLQuery><sql>SELECT enduser.userid,enduser.firstname,enduser.middlename,enduser.lastname,enduser.islocaluser,enduser.telephonenumber from enduser where lower(" + condition1String + ") " + condition2String + "</sql></ns:executeSQLQuery></SOAP-ENV:Envelope>"; } QByteArray postDataSize = QByteArray::number(jsonString.size()); QUrl req("https://" + hostname.toLocal8Bit() + ":8443/axl/"); QNetworkRequest request(req); request.setRawHeader("SOAPAction", "\"CUCM:DB ver=8.5 executeSQLQuery\""); request.setRawHeader("Authorization", "Basic " + usernamepassword.toLocal8Bit()); request.setRawHeader("Content-Type", "text/xml"); request.setRawHeader("Content-Length", postDataSize); QNetworkAccessManager test; QEventLoop loop; connect(&test, SIGNAL(finished(QNetworkReply*)), &loop, SLOT(quit())); QNetworkReply * reply = test.post(request, jsonString); reply->ignoreSslErrors(); // Ignore only unsigned later on connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onError(QNetworkReply::NetworkError))); loop.exec(); QByteArray response = reply->readAll(); QVariant statusCode = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); if ( !statusCode.isValid() ) { qDebug() << "Failed..."; qDebug() << statusCode.data(); } int status = statusCode.toInt(); if ( status != 200 ) { QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); qDebug() << reason; } else { qDebug() << "Good reply"; //qDebug() << response; QDomDocument doc; doc.setContent(response); QDomNodeList rates = doc.elementsByTagName("row"); for (int i = 0; i < rates.size(); i++) { QString finalString; QDomNode n = rates.item(i); QDomElement firstname = n.firstChildElement("firstname"); if (firstname.text() != "") finalString = firstname.text() + " "; QDomElement middlename = n.firstChildElement("middlename"); if (middlename.text() != "") finalString += middlename.text() + " "; QDomElement lastname = n.firstChildElement("lastname"); if (lastname.text() != " ") finalString += lastname.text(); QDomElement userid = n.firstChildElement("userid"); finalString += " (" + userid.text() + ") "; QDomElement islocaluser = n.firstChildElement("islocaluser"); QDomElement telephonenumber = n.firstChildElement("telephonenumber"); if (telephonenumber.text() != "") { finalString += " [" + telephonenumber.text() + "]"; } else { finalString += " [No Telephone Number]"; } QListWidgetItem* user = new QListWidgetItem(finalString); if (islocaluser.text() == "t") { user->setBackground(QColor(0, 170, 255)); list2->addItem(user); } else { user->setBackground(QColor(170, 0, 0)); list->addItem(user); } } } }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->pbiWidget->setRowCount(3); //ui->pbiWidget->setColumnCount(2); //ui->pbiWidget->setEditTriggers(QAbstractItemView::EditTriggers(0)); ui->pbiWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //ui->pbiWidget->setHorizontalHeaderLabels(QString("Name;Workflow step;").split(";")); ui->pbiWidget->setColumnWidth(0, 834); ui->pbiWidget->setColumnWidth(1, 100); ui->pbiWidget->setColumnWidth(2, 50); ui->pbiWidget->setItem(0,0,new QTableWidgetItem("Er moet drag en drop inzitten")); ui->pbiWidget->setItem(0,1,new QTableWidgetItem("Complete")); ui->pbiWidget->setItem(0,2,new QTableWidgetItem("84")); ui->pbiWidget->setItem(1,0,new QTableWidgetItem("SBI moeten zichtbaar zijn")); ui->pbiWidget->setItem(1,1,new QTableWidgetItem("Complete")); ui->pbiWidget->setItem(1,2,new QTableWidgetItem("74")); ui->pbiWidget->setItem(2,0,new QTableWidgetItem("SBI detail moeten kunnen worden bekeken")); ui->pbiWidget->setItem(2,1,new QTableWidgetItem("Complete")); ui->pbiWidget->setItem(2,2,new QTableWidgetItem("64")); ui->widgetBurnDown->addGraph(); ui->widgetBurnDown->graph(0)->setName("Ideal tasks remaining"); ui->widgetBurnDown->graph(0)->setPen(QPen(Qt::blue)); ui->widgetBurnDown->graph(0)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, Qt::blue, Qt::blue, 7)); ui->widgetBurnDown->addGraph(); ui->widgetBurnDown->graph(1)->setName("Actual tasks remaining"); ui->widgetBurnDown->graph(1)->setPen(QPen(Qt::red)); ui->widgetBurnDown->graph(1)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, Qt::red, Qt::red, 7)); ui->widgetBurnDown->yAxis->setLabel("Sum of task Estimates (Hours)"); ui->widgetBurnDown->xAxis->setLabel("Iteration Timeline (Days)"); ui->widgetBurnDown->legend->setVisible(true); QFont legendFont = font(); legendFont.setPointSize(10); ui->widgetBurnDown->legend->setFont(legendFont); ui->widgetBurnDown->legend->setSelectedFont(legendFont); ui->widgetBurnDown->legend->setSelectableParts(QCPLegend::spItems); QVector<double> x(15), y0(200), y1(200); for (int i=0; i<=14; ++i) { x[i] = i; y0[i] = (200-(14*i)); //y1[i] = 200*(cos(i/10.0)); } y1[0] = 200; y1[1] = 198; y1[2] = 190; y1[3] = 170; y1[4] = 140; y1[5] = 110; y1[6] = 100; y1[7] = 90; y1[8] = 70; y1[9] = 35; y1[10] = 30; y1[11] = 28; y1[12] = 10; y1[13] = 5; y1[14] = 0; ui->widgetBurnDown->xAxis->setRange(0,15); ui->widgetBurnDown->yAxis->setRange(0,200); ui->widgetBurnDown->graph(0)->setData(x, y0); ui->widgetBurnDown->graph(1)->setData(x, y1); ui->toDo->viewport()->setAcceptDrops(true); ui->toDo->setDragEnabled(true); ui->toDo->setSelectionMode(QAbstractItemView::SingleSelection); ui->toDo->setAcceptDrops(true); //ui->toDo->setDragDropMode(QAbstractItemView::DragDrop); ui->done->viewport()->setAcceptDrops(true); ui->done->setDragEnabled(true); ui->done->setSelectionMode(QAbstractItemView::SingleSelection); ui->done->setAcceptDrops(true); //ui->done->setDragDropMode(QAbstractItemView::DragDrop); ui->toVerify->viewport()->setAcceptDrops(true); ui->toVerify->setDragEnabled(true); ui->toVerify->setSelectionMode(QAbstractItemView::SingleSelection); //ui->toVerify->setDragDropMode(QAbstractItemView::DragDrop); ui->toVerify->setAcceptDrops(true); ui->doing->viewport()->setAcceptDrops(true); ui->doing->setDragEnabled(true); ui->doing->setSelectionMode(QAbstractItemView::SingleSelection); //ui->doing->setDragDropMode(QAbstractItemView::DragDrop); ui->doing->setAcceptDrops(true); //ui->toDo->setStyleSheet( "QListWidget::item { border:2px solid;border-radius:10px; }" ); ui->toDo->setSpacing(6); ui->toVerify->setSpacing(6); ui->doing->setSpacing(6); ui->done->setSpacing(6); //taskboard items QListWidgetItem* pItem6 =new QListWidgetItem( " Item number: 6 \n Item: Database maken \n Hours: 8 \n Prio: 96 \n Team member: Leroy van Zeeland \n PBI: 5"); pItem6->setBackground(Qt::green); ui->doing->addItem(pItem6); QListWidgetItem* pItem1 =new QListWidgetItem( " Item number: 20 \n Item: Bel monteren \n Hours: 1 \n Prio: 66 \n Team member: Robbert van Elk \n PBI: 5"); pItem1->setBackground(Qt::yellow); ui->doing->addItem(pItem1); QListWidgetItem* pItem7 =new QListWidgetItem( " Item number: 9 \n Item: DKD maken \n Hours: 6 \n Prio: 84 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem7->setBackground(Qt::green); ui->toVerify->addItem(pItem7); QListWidgetItem* pItem5 =new QListWidgetItem( " Item number: 2 \n Item: QT bestuderen \n Hours: 3 \n Prio: 100 \n Team member: Leroy van Zeeland \n PBI: 5"); pItem5->setBackground(Qt::green); ui->toDo->addItem(pItem5); QListWidgetItem* pItem2 =new QListWidgetItem( " Item number: 14 \n Item: Wiel plakken \n Hours: 1 \n Prio: 94 \n Team member: Robbert van Elk \n PBI: 6"); pItem2->setBackground(Qt::yellow); ui->toDo->addItem(pItem2); QListWidgetItem* pItem =new QListWidgetItem( " Item number: 1 \n Item: Fiets maken \n Hours: 6 \n Prio: 90 \n Team member: Robbert van Elk \n PBI: 5"); pItem->setBackground(Qt::yellow); ui->toDo->addItem(pItem); QListWidgetItem* pItem4 =new QListWidgetItem( " Item number: 3 \n Item: Account aanmaken \n Hours: 1 \n Prio: 86 \n Team member: Robbert van Elk \n PBI: 6"); pItem4->setBackground(Qt::yellow); ui->toDo->addItem(pItem4); QListWidgetItem* pItem8 =new QListWidgetItem( " Item number: 55 \n Item: Unit test maken \n Hours: 2 \n Prio: 70 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem8->setBackground(Qt::green); ui->toDo->addItem(pItem8); QListWidgetItem* pItem9 =new QListWidgetItem( " Item number: 32 \n Item: QT installeren \n Hours: 1 \n Prio: 68 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem9->setBackground(Qt::green); ui->toDo->addItem(pItem9); QListWidgetItem* pItem10 =new QListWidgetItem( " Item number: 19 \n Item: Presentatie maken \n Hours: 4 \n Prio: 66 \n Team member: Leroy van Zeeland \n PBI: 6"); pItem10->setBackground(Qt::green); ui->toDo->addItem(pItem10); QListWidgetItem* pItem3 =new QListWidgetItem( " Item number: 12 \n Item: Computer aansluiten \n Hours: 3 \n Prio: 88 \n Team member: Robbert van Elk \n PBI: 6"); pItem3->setBackground(Qt::yellow); ui->done->addItem(pItem3); }
void MainWindow::setCurrentSession(QListWidgetItem * item) { if (item == NULL) { return; } selectSessionItem(item); Session * session; if (item->listWidget() == SVLSListWidget) { session = current_db_sessions.value(item->data(Qt::UserRole).toDateTime()); } else if (item->listWidget() == SVLASListWidget) { session = current_db_archivedsessions.value(item->data(Qt::UserRole).toDateTime()); } else { return; } current_db_session = session; SVSelectedSessionWidget->setEnabled(true); SVNameLabel->setText(session->name()); SVDateTimeLabel->setText(session->dateTimeToString()); SVPassMarkLabel->setText(QString::number(session->passMark().passMark())); SVOverallResultsProgressBar->setMaximum((int)session->maximumScore()); SVOverallResultsProgressBar->setValue(session->score() > 0 ? (int)session->score() : 0); SVOverallResultsLabel->setText(QString("%1%").arg(session->average())); current_db_students.clear(); SVLCListWidget->clear(); SVLogListWidget->clear(); for (int i = 0; i < session->numLogEntries(); ++i) { QListWidgetItem * log_entry = new QListWidgetItem (session->logEntry(i).entryText(), SVLogListWidget); log_entry->setBackground(QBrush(session->logEntry(i).entryBackgroundColour())); log_entry->setForeground(QBrush(session->logEntry(i).entryForegroundColour())); } SVLogGroupBox->setVisible(session->numLogEntries() > 0); for (int i = 0; i < session->numStudents(); ++i) { QListWidgetItem * item = new QListWidgetItem(session->student(i)->name(), SVLCListWidget); current_db_students.insert(item, session->student(i)); if (session->student(i)->passed()) { item->setBackground(QBrush(QColor(197, 255, 120))); } else { item->setBackground(QBrush(QColor(204, 163, 0))); } item->setForeground(QBrush(QColor(0, 0, 0))); } SVPassMarkTableWidget->clearContents(); SVPassMarkTableWidget->verticalHeader()->hide(); if (session->passMark().count() > 0) { passMarkDetailsTab->setEnabled(true); QTableWidgetItem * item; SVPassMarkTableWidget->setRowCount(session->passMark().count()); for (int i = 0; i < session->passMark().count(); ++i) { if (session->passMark().condition(i) < 0 || session->passMark().condition(i) >= current_db_f.size()) { continue; } item = new QTableWidgetItem(QString("%1 - %2").arg(session->passMark().condition(i) + 1).arg(current_db_f[session->passMark().condition(i)])); item->setBackground(QBrush(backgroundColourForFlag(session->passMark().condition(i)))); item->setForeground(QBrush(foregroundColourForFlag(session->passMark().condition(i)))); SVPassMarkTableWidget->setItem(i, 0, item); item = new QTableWidgetItem(QString::number(session->passMark().value(i))); SVPassMarkTableWidget->setItem(i, 1, item); SVPassMarkTableWidget->setRowHeight(i, 16); } SVPassMarkTableWidget->filterItems(SVSearchDetailsLineEdit, SVSearchDetailsLineEdit->text()); SVStudentTabWidget->setCurrentIndex(1); } else { passMarkDetailsTab->setEnabled(false); SVStudentTabWidget->setCurrentIndex(0); } selectedStudentTab->setEnabled(false); scoringSystemTab->setEnabled(true); SVScoringSystemTableWidget->item(0, 1)->setText(session->scoringSystem().allowIncompleteAnswers ? tr("allowed") : tr("disallowed")); for (int i = 0, n = 0; i < 3; ++i, n += 3) { SVScoringSystemTableWidget->item(n + 1, 1)->setText(QString::number(session->scoringSystem().correctAnswer[i])); SVScoringSystemTableWidget->item(n + 2, 1)->setText(QString::number(session->scoringSystem().incorrectAnswer[i])); SVScoringSystemTableWidget->item(n + 3, 1)->setText(QString::number(session->scoringSystem().missingAnswer[i])); } SVLCGroupBox->setEnabled(true); SVLogGroupBox->setEnabled(true); togglePrintEnabled(); enableSVTools(); }
KeyBinder::KeyBinder(QWidget * parent, const QString & helpText, const QString & defaultText, const QString & resetButtonText) : QWidget(parent) { this->defaultText = defaultText; enableSignal = false; // Two-column tab layout QHBoxLayout * pageKeysLayout = new QHBoxLayout(this); pageKeysLayout->setSpacing(0); pageKeysLayout->setContentsMargins(0, 0, 0, 0); // Table for category list QVBoxLayout * catListContainer = new QVBoxLayout(); catListContainer->setContentsMargins(10, 10, 10, 10); catList = new QListWidget(); catList->setFixedWidth(180); catList->setStyleSheet("QListWidget::item { font-size: 14px; } QListWidget:hover { border-color: #F6CB1C; } QListWidget::item:selected { background: #150A61; color: yellow; }"); catList->setFocusPolicy(Qt::NoFocus); connect(catList, SIGNAL(currentRowChanged(int)), this, SLOT(changeBindingsPage(int))); catListContainer->addWidget(catList); pageKeysLayout->addLayout(catListContainer); // Reset all binds button if (!resetButtonText.isEmpty()) { QPushButton * btnResetAll = new QPushButton(resetButtonText); catListContainer->addWidget(btnResetAll); btnResetAll->setFixedHeight(40); catListContainer->setStretch(1, 0); catListContainer->setSpacing(10); connect(btnResetAll, SIGNAL(clicked()), this, SIGNAL(resetAllBinds())); } // Container for pages of key bindings QWidget * bindingsPagesContainer = new QWidget(); QVBoxLayout * rightLayout = new QVBoxLayout(bindingsPagesContainer); // Scroll area for key bindings QScrollArea * scrollArea = new QScrollArea(); scrollArea->setContentsMargins(0, 0, 0, 0); scrollArea->setWidget(bindingsPagesContainer); scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); scrollArea->setWidgetResizable(true); scrollArea->setFrameShape(QFrame::NoFrame); scrollArea->setStyleSheet("background: #130F2A;"); // Add key binding pages to bindings tab pageKeysLayout->addWidget(scrollArea); pageKeysLayout->setStretch(1, 1); // Custom help text QLabel * helpLabel = new QLabel(); helpLabel->setText(helpText); helpLabel->setStyleSheet("color: #130F2A; background: #F6CB1C; border: solid 4px #F6CB1C; border-radius: 10px; padding: auto 20px;"); helpLabel->setFixedHeight(24); rightLayout->addWidget(helpLabel, 0, Qt::AlignCenter); // Category list and bind table row heights const int rowHeight = 20; QSize catSize, headerSize; catSize.setHeight(36); headerSize.setHeight(24); // Category list header QListWidgetItem * catListHeader = new QListWidgetItem(tr("Category")); catListHeader->setSizeHint(headerSize); catListHeader->setFlags(Qt::NoItemFlags); catListHeader->setForeground(QBrush(QColor("#130F2A"))); catListHeader->setBackground(QBrush(QColor("#F6CB1C"))); catListHeader->setTextAlignment(Qt::AlignCenter); catList->addItem(catListHeader); // Populate bindingsPages = new QHBoxLayout(); bindingsPages->setContentsMargins(0, 0, 0, 0); rightLayout->addLayout(bindingsPages); QWidget * curPage = NULL; QVBoxLayout * curLayout = NULL; QTableWidget * curTable = NULL; bool bFirstPage = true; selectedBindTable = NULL; bindComboBoxCellMappings = new QHash<QObject *, QTableWidgetItem *>(); bindCellComboBoxMappings = new QHash<QTableWidgetItem *, QComboBox *>(); for (int i = 0; i < BINDS_NUMBER; i++) { if (cbinds[i].category != NULL) { // Add stretch at end of previous layout if (curLayout != NULL) curLayout->insertStretch(-1, 1); // Category list item QListWidgetItem * catItem = new QListWidgetItem(HWApplication::translate("binds (categories)", cbinds[i].category)); catItem->setSizeHint(catSize); catList->addItem(catItem); // Create new page curPage = new QWidget(); curLayout = new QVBoxLayout(curPage); curLayout->setSpacing(2); bindingsPages->addWidget(curPage); if (!bFirstPage) curPage->setVisible(false); } // Description if (cbinds[i].description != NULL) { QLabel * desc = new QLabel(HWApplication::translate("binds (descriptions)", cbinds[i].description)); curLayout->addWidget(desc, 0); QFrame * divider = new QFrame(); divider->setFrameShape(QFrame::HLine); divider->setFrameShadow(QFrame::Plain); curLayout->addWidget(divider, 0); } // New table if (cbinds[i].category != NULL || cbinds[i].description != NULL) { curTable = new QTableWidget(0, 2); curTable->verticalHeader()->setVisible(false); curTable->horizontalHeader()->setVisible(false); curTable->horizontalHeader()->setResizeMode(QHeaderView::Stretch); curTable->verticalHeader()->setDefaultSectionSize(rowHeight); curTable->setShowGrid(false); curTable->setStyleSheet("QTableWidget { border: none; } "); curTable->setSelectionBehavior(QAbstractItemView::SelectRows); curTable->setSelectionMode(QAbstractItemView::SingleSelection); curTable->setFocusPolicy(Qt::NoFocus); connect(curTable, SIGNAL(itemSelectionChanged()), this, SLOT(bindSelectionChanged())); connect(curTable, SIGNAL(itemClicked(QTableWidgetItem *)), this, SLOT(bindCellClicked(QTableWidgetItem *))); curLayout->addWidget(curTable, 0); } // Hidden combo box QComboBox * comboBox = CBBind[i] = new QComboBox(curTable); comboBox->setModel((QAbstractItemModel*)DataManager::instance().bindsModel()); comboBox->setVisible(false); comboBox->setFixedWidth(200); // Table row int row = curTable->rowCount(); QTableWidgetItem * nameCell = new QTableWidgetItem(HWApplication::translate("binds", cbinds[i].name)); nameCell->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); curTable->insertRow(row); curTable->setItem(row, 0, nameCell); QTableWidgetItem * bindCell = new QTableWidgetItem(comboBox->currentText()); bindCell->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); curTable->setItem(row, 1, bindCell); curTable->resizeColumnsToContents(); curTable->setFixedHeight(curTable->verticalHeader()->length() + 10); // Updates the text in the table cell connect(comboBox, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(bindChanged(const QString &))); // Map combo box and that row's cells to each other bindComboBoxCellMappings->insert(comboBox, bindCell); bindCellComboBoxMappings->insert(nameCell, comboBox); bindCellComboBoxMappings->insert(bindCell, comboBox); }