CombinedArtworksModel::CombinedArtworksModel(QObject *parent): ArtworksViewModel(parent), m_CommonKeywordsModel(m_HoldPlaceholder, this), m_EditFlags(Common::CombinedEditFlags::None), m_ModifiedFlags(0) { m_CommonKeywordsModel.setSpellCheckInfo(&m_SpellCheckInfo); QObject::connect(&m_CommonKeywordsModel, SIGNAL(spellCheckErrorsChanged()), this, SLOT(spellCheckErrorsChangedHandler())); QObject::connect(&m_CommonKeywordsModel, SIGNAL(completionsAvailable()), this, SIGNAL(completionsAvailable())); QObject::connect(&m_CommonKeywordsModel, SIGNAL(afterSpellingErrorsFixed()), this, SLOT(spellCheckErrorsFixedHandler())); }
void AutoCompleteService::findKeywordCompletions(const QString &prefix, QObject *notifyObject) { if (m_AutoCompleteWorker == NULL) { LOG_WARNING << "Worker is NULL"; return; } LOG_INFO << "Requested for" << prefix; std::shared_ptr<CompletionQuery> query(new CompletionQuery(prefix, m_AutoCompleteModel), [](CompletionQuery *cq) { cq->deleteLater(); }); Common::BasicKeywordsModel *basicKeywordsModel = qobject_cast<Common::BasicKeywordsModel*>(notifyObject); Q_ASSERT(basicKeywordsModel != NULL); QObject::connect(query.get(), SIGNAL(completionsAvailable()), basicKeywordsModel, SIGNAL(completionsAvailable())); QObject::connect(query.get(), SIGNAL(completionsAvailable()), m_AutoCompleteModel, SLOT(completionsArrived())); m_AutoCompleteWorker->submitItem(query); }