void MetadataUpdater::runQuery() { m_indices.clear(); m_resultList.clear(); Nepomuk2::Query::Query myQuery; if (m_queryServiceClient) { m_queryServiceClient->close(); m_queryServiceClient->deleteLater(); } m_queryServiceClient = new Nepomuk2::Query::QueryServiceClient(this); connect(m_queryServiceClient, SIGNAL(newEntries(QList<Nepomuk2::Query::Result>)), this, SLOT(newEntries(QList<Nepomuk2::Query::Result>))); // connect(queryServiceClient, SIGNAL(entriesRemoved(QList<QUrl>)),SLOT(entriesRemoved(QList<QUrl>))); connect(m_queryServiceClient, SIGNAL(error(QString)), SLOT(error(QString))); connect(m_queryServiceClient, SIGNAL(finishedListing()), SLOT(finishedListing())); emit reset(); QMutexLocker locker(&m_termMutex); myQuery.setTerm(m_term); kDebug() << "SPARQL Query " << myQuery.toSparqlQuery(); m_queryServiceClient->query(myQuery); emit queryStarted(); }
Nepomuk::Utils::SearchWidget::SearchWidget(QWidget *parent) : QWidget(parent), d_ptr(new SearchWidgetPrivate()) { Q_D(SearchWidget); d->q = this; //query editor widget d->m_queryEdit = new SearchLineEdit(this); d->m_queryButton = new KPushButton(i18n("Search"), this); connect(d->m_queryEdit, SIGNAL(queryChanged(Nepomuk::Query::Query)), this, SLOT(_k_queryComponentChanged())); connect(d->m_queryButton, SIGNAL(clicked()), this, SLOT(_k_queryComponentChanged())); //item widget d->m_itemWidget = new QListView(this); d->m_resourceModel = new Utils::SimpleResourceModel(this); d->m_itemWidget->setModel(d->m_resourceModel); connect(d->m_itemWidget->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SIGNAL(selectionChanged())); connect(d->m_itemWidget->selectionModel(), SIGNAL(currentChanged( const QModelIndex &,const QModelIndex&)), this, SLOT(_k_forwardCurrentChanged(const QModelIndex &, const QModelIndex &))); //facets widget d->m_facetWidget = new Nepomuk::Utils::FacetWidget(this); d->setupFacetWidget(); connect(d->m_facetWidget, SIGNAL(queryTermChanged(Nepomuk::Query::Term)), this, SLOT(_k_queryComponentChanged())); //layout and config QSplitter* facetSplitter = new QSplitter(this); facetSplitter->addWidget(d->m_itemWidget); facetSplitter->addWidget(d->m_facetWidget); QGridLayout* layout = new QGridLayout( this ); layout->setMargin(0); layout->addWidget( d->m_queryEdit, 0, 0 ); layout->addWidget( d->m_queryButton, 0, 1 ); layout->addWidget( facetSplitter, 1, 0, 1, 2 ); layout->setRowStretch(1,1); // query client setup connect( &d->m_queryClient, SIGNAL(newEntries(QList<Nepomuk::Query::Result>)), d->m_resourceModel, SLOT(addResults(QList<Nepomuk::Query::Result>)) ); connect( &d->m_queryClient, SIGNAL(finishedListing()), this, SLOT(_k_listingFinished())); setSelectionMode(QListView::ExtendedSelection); setConfigFlags( DefaultConfigFlags ); }