Settings OptionsDialog::settingsFromUi() { Settings settings; if (ui->scanInCurrentFileRadioButton->isChecked()) settings.scanningScope = ScanningScopeCurrentFile; else if (ui->scanInSubprojectRadioButton->isChecked()) settings.scanningScope = ScanningScopeSubProject; else settings.scanningScope = ScanningScopeProject; settings.keywords.clear(); for (int i = 0; i < ui->keywordsList->count(); ++i) { QListWidgetItem *item = ui->keywordsList->item(i); Keyword keyword; keyword.name = item->text(); keyword.iconResource = item->data(Qt::UserRole).toString(); keyword.color = item->backgroundColor(); settings.keywords << keyword; } return settings; }
void OptionsDialog::editButtonClicked() { QListWidgetItem *item = ui->keywordsList->currentItem(); Keyword keyword; keyword.name = item->text(); keyword.iconResource = item->data(Qt::UserRole).toString(); keyword.color = item->backgroundColor(); KeywordDialog *addKeywordDialog = new KeywordDialog(keyword, this); if (addKeywordDialog->exec() == QDialog::Accepted) { keyword = addKeywordDialog->keyword(); item->setIcon(QIcon(keyword.iconResource)); item->setText(keyword.name); item->setData(Qt::UserRole, keyword.iconResource); item->setBackgroundColor(keyword.color); } }