void SearchWidget::search () { IHaveSearch *search = GetCurrentSearch (); if (!search) { qWarning () << Q_FUNC_INFO << "no current search object"; return; } QObject *sessObj = search->CreateSearchSession (); ISearchSession *sess = qobject_cast<ISearchSession*> (sessObj); CurrentSess_.reset (sess); if (!sess) { qWarning () << Q_FUNC_INFO << sessObj << "doesn't implement ISearchSession"; return; } sess->RestartSearch (Ui_.Server_->text ()); if (Ui_.ResultsTree_->selectionModel ()) Ui_.ResultsTree_->selectionModel ()->deleteLater (); Ui_.ResultsTree_->setModel (sess->GetRepresentationModel ()); }
void SearchWidget::on_AccountBox__activated (int) { IHaveSearch *s = GetCurrentSearch (); Ui_.Server_->setText (s->GetDefaultSearchServer ()); QTimer::singleShot (0, this, SLOT (search ())); }