void ReplaceColor(QString col, QString rep) { QColor tmpc; for (int c = 0; c < ScCore->primaryMainWindow()->doc->Items->count(); c++) { PageItem *ite = ScCore->primaryMainWindow()->doc->Items->at(c); if (ite->itemType() == PageItem::TextFrame) { for (int d = 0; d < ite->itemText.length(); d++) { //FIXME:NLS that should work on runs replaceColors(ite->itemText, d, col, rep); } } if (col == ite->fillColor()) ite->setFillColor(rep); if (col == ite->lineColor()) ite->setLineColor(rep); QList<VColorStop*> cstops = ite->fill_gradient.colorStops(); for (uint cst = 0; cst < ite->fill_gradient.Stops(); ++cst) { if (col == cstops.at(cst)->name) { ite->SetQColor(&tmpc, rep, cstops.at(cst)->shade); cstops.at(cst)->color = tmpc; cstops.at(cst)->name = rep; } } } for (int c = 0; c < ScCore->primaryMainWindow()->doc->MasterItems.count(); c++) { PageItem *ite = ScCore->primaryMainWindow()->doc->MasterItems.at(c); if (ite->itemType() == PageItem::TextFrame) { for (int d = 0; d < ite->itemText.length(); d++) { //FIXME: NLS this should work on runs replaceColors(ite->itemText, d, col, rep); } } if (col == ite->fillColor()) ite->setFillColor(rep); if (col == ite->lineColor()) ite->setLineColor(rep); QList<VColorStop*> cstops = ite->fill_gradient.colorStops(); for (uint cst = 0; cst < ite->fill_gradient.Stops(); ++cst) { if (col == cstops.at(cst)->name) { ite->SetQColor(&tmpc, rep, cstops.at(cst)->shade); cstops.at(cst)->color = tmpc; cstops.at(cst)->name = rep; } } } }
QVariant BtModuleTextModel::lexiconData(const QModelIndex & index, int role) const { int row = index.row(); const CSwordLexiconModuleInfo *lexiconModule = qobject_cast<const CSwordLexiconModuleInfo*>(m_moduleInfoList.at(0)); QList<const CSwordModuleInfo*> moduleList; moduleList << lexiconModule; QString keyName = lexiconModule->entries()[row]; if (role == ModuleEntry::TextRole) { Rendering::CEntryDisplay entryDisplay; QString text = entryDisplay.text(moduleList, keyName, m_displayOptions, m_filterOptions); text.replace("#CHAPTERTITLE#", ""); text = replaceColors(text); return CSwordModuleSearch::highlightSearchedText(text, m_highlightWords); } else if (role == ModuleEntry::ReferenceRole){ return keyName; } return QString(); }
QVariant BtModuleTextModel::verseData(const QModelIndex & index, int role) const { int row = index.row(); CSwordVerseKey key = indexToVerseKey(row); int verse = key.getVerse(); if (role == ModuleEntry::TextRole) { if (verse == 0) return QString(); QString text; QString chapterTitle; if (verse == 1) chapterTitle = key.book() + " " + QString::number(key.getChapter()); text += Rendering::CEntryDisplay().textKeyRendering(m_moduleInfoList, key.key(), m_displayOptions, m_filterOptions, Rendering::CTextRendering::KeyTreeItem::Settings::SimpleKey); text.replace("#CHAPTERTITLE#", chapterTitle); text = replaceColors(text); return CSwordModuleSearch::highlightSearchedText(text, m_highlightWords); } return QString(); }
const std::string ItemInfo::getName(const unsigned char color) const { return replaceColors(mName, color); }
const std::string ItemInfo::getDescription(const unsigned char color) const { return replaceColors(mDescription, color); }