void SearchOpenFiles::doSearchNextFile(int startLine) { if (m_cancelSearch) { m_nextIndex = -1; m_cancelSearch = true; emit searchDone(); return; } // NOTE The document managers signal documentWillBeDeleted() must be connected to // cancelSearch(). A closed file could lead to a crash if it is not handled. int line = searchOpenFile(m_docList[m_nextIndex], m_regExp, startLine); if (line == 0) { // file searched go to next m_nextIndex++; if (m_nextIndex == m_docList.size()) { m_nextIndex = -1; m_cancelSearch = true; emit searchDone(); } else { emit searchNextFile(0); } } else { emit searchNextFile(line); } }
/** * @brief Called when the search result was downloaded * Emits "searchDone" if there are no more pages in the result set * @see TMDbConcerts::parseSearch */ void TMDbConcerts::searchFinished() { qDebug() << "Entered"; QList<ScraperSearchResult> results; if (m_searchReply->error() != QNetworkReply::NoError ) { qWarning() << "Network Error" << m_searchReply->errorString(); m_searchReply->deleteLater(); emit searchDone(results); return; } QString msg = QString::fromUtf8(m_searchReply->readAll()); int nextPage = -1; results = parseSearch(msg, &nextPage); m_results.append(results); m_searchReply->deleteLater(); if (nextPage == -1) { emit searchDone(m_results); } else { QUrl url(QString("http://api.themoviedb.org/3/search/movie?api_key=%1&language=%2&page=%3&query=%4").arg(m_apiKey).arg(m_language).arg(nextPage).arg(m_searchString)); QNetworkRequest request(url); request.setRawHeader("Accept", "application/json"); m_searchReply = this->qnam()->get(request); connect(m_searchReply, SIGNAL(finished()), this, SLOT(searchFinished())); } }
/** * @brief Called when the search result was downloaded * Emits "searchDone" if there are no more pages in the result set * @see Cinefacts::parseSearch */ void Cinefacts::searchFinished() { QNetworkReply *reply = static_cast<QNetworkReply*>(QObject::sender()); reply->deleteLater(); if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 302 || reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 301) { qDebug() << "Got redirect" << reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); QString redirect = reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toString(); if (!redirect.startsWith("http")) redirect.prepend("http://www.cinefacts.de"); QUrl url(redirect); QNetworkReply *reply = qnam()->get(QNetworkRequest(url)); new NetworkReplyWatcher(this, reply); connect(reply, SIGNAL(finished()), this, SLOT(searchFinished())); return; } QList<ScraperSearchResult> results; if (reply->error() == QNetworkReply::NoError) { QString msg = QString::fromUtf8(reply->readAll()); results = parseSearch(msg); } else { qWarning() << "Network Error" << reply->errorString(); } emit searchDone(results); }
void OpenClipArt::slotShowResults(KJob* job) { if (job->error() != 0 ) return; m_listWidget->blockSignals(true); KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job ); QDomDocument doc; doc.setContent(QString::fromLatin1(storedQueryJob->data())); QDomNodeList items = doc.documentElement().elementsByTagName("item"); for (int i = 0; i < items.count(); ++i) { QDomElement currentClip = items.at(i).toElement(); QDomElement title = currentClip.firstChildElement("title"); QListWidgetItem *item = new QListWidgetItem(title.firstChild().nodeValue(), m_listWidget); QDomElement thumb = currentClip.firstChildElement("media:thumbnail"); item->setData(imageRole, thumb.attribute("url")); QDomElement enclosure = currentClip.firstChildElement("enclosure"); item->setData(downloadRole, enclosure.attribute("url")); QDomElement link = currentClip.firstChildElement("link"); item->setData(infoUrl, link.firstChild().nodeValue()); QDomElement license = currentClip.firstChildElement("cc:license"); item->setData(licenseRole, license.firstChild().nodeValue()); QDomElement desc = currentClip.firstChildElement("description"); item->setData(descriptionRole, desc.firstChild().nodeValue()); QDomElement author = currentClip.firstChildElement("dc:creator"); item->setData(authorRole, author.firstChild().nodeValue()); item->setData(authorUrl, QString("http://openclipart.org/user-detail/") + author.firstChild().nodeValue()); } m_listWidget->blockSignals(false); m_listWidget->setCurrentRow(0); emit searchDone(); }
/** * @brief Main CLI function. */ void CLI::run() { if (!parseArguments(m_arguments)) { emit finished(); return; } QFileInfo fi(m_movieFile); QString searchTerm = fi.completeBaseName(); if (!m_searchTerm.isEmpty()) { searchTerm = m_searchTerm; } else if (m_useFolderName) { QStringList path = fi.canonicalPath().split(QDir::separator()); if (path.count() > 0) searchTerm = path.last(); } QSettings settings; m_movie = new Movie(QStringList() << m_movieFile, this); m_scraper = Manager::instance()->getScraperForName(m_scraperName); m_scraper->loadSettings(settings); connect(m_scraper, SIGNAL(searchDone(QList<ScraperSearchResult>)), this, SLOT(onScraperSearchDone(QList<ScraperSearchResult>))); connect(m_movie, SIGNAL(loaded(Movie*)), this, SLOT(onScraperLoadDone())); if (m_scraperId.isEmpty()) { m_scraper->search(searchTerm); } else { m_movie->controller()->loadData(m_scraperId, m_scraper, m_infosToLoad); } }
MediaPassionImages::MediaPassionImages(QObject *parent) { setParent(parent); m_provides << ImageType::MovieBackdrop << ImageType::MoviePoster << ImageType::MovieCdArt << ImageType::MovieLogo << ImageType::MovieClearArt; m_searchResultLimit = 0; m_mediaPassion = new MediaPassion(this); m_dummyMovie = new Movie(QStringList(), this); connect(m_dummyMovie->controller(), SIGNAL(sigInfoLoadDone(Movie*)), this, SLOT(onLoadImagesFinished())); connect(m_mediaPassion, SIGNAL(searchDone(QList<ScraperSearchResult>)), this, SLOT(onSearchMovieFinished(QList<ScraperSearchResult>))); }
void SearchDialog::clientActivated(int n) { if ((unsigned)n >= m_widgets.size()) return; searchDone(m_active); if (m_widgets[n].widget != m_current) showResult(NULL); m_search->wndCondition->raiseWidget(m_widgets[n].widget); setTitle(); }
/** * @brief TMDbImages::TMDbImages * @param parent */ TMDbImages::TMDbImages(QObject *parent) { setParent(parent); m_provides << ImageDialogType::MovieBackdrop << ImageDialogType::MoviePoster << ImageDialogType::ConcertBackdrop << ImageDialogType::ConcertPoster; m_searchResultLimit = 0; m_tmdb = new TMDb(this); m_tmdb->loadSettings(); m_dummyMovie = new Movie(QStringList(), this); connect(m_dummyMovie, SIGNAL(loaded(Movie*)), this, SLOT(onLoadImagesFinished())); connect(m_tmdb, SIGNAL(searchDone(QList<ScraperSearchResult>)), this, SLOT(onSearchMovieFinished(QList<ScraperSearchResult>))); }
void ArchiveOrg::slotShowResults(KJob* job) { if (job->error() != 0 ) return; m_listWidget->blockSignals(true); KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job ); QJsonParseError jsonError; QJsonDocument doc = QJsonDocument::fromJson(storedQueryJob->data(), &jsonError); if (jsonError.error != QJsonParseError::NoError) { // There was an error parsing data KMessageBox::sorry(m_listWidget, jsonError.errorString(), i18n("Error Loading Data")); } QVariant data = doc.toVariant(); QVariant sounds; if (data.canConvert(QVariant::Map)) { QMap <QString, QVariant> map = data.toMap(); QMap<QString, QVariant>::const_iterator i = map.constBegin(); while (i != map.constEnd()) { if (i.key() == QLatin1String("response")) { sounds = i.value(); if (sounds.canConvert(QVariant::Map)) { QMap <QString, QVariant> soundsList = sounds.toMap(); if (soundsList.contains(QStringLiteral("numFound"))) emit searchInfo(i18np("Found %1 result", "Found %1 results", soundsList.value("numFound").toInt())); QList <QVariant> resultsList; if (soundsList.contains(QStringLiteral("docs"))) { resultsList = soundsList.value(QStringLiteral("docs")).toList(); } for (int j = 0; j < resultsList.count(); ++j) { if (resultsList.at(j).canConvert(QVariant::Map)) { QMap <QString, QVariant> soundmap = resultsList.at(j).toMap(); if (soundmap.contains(QStringLiteral("title"))) { QListWidgetItem *item = new QListWidgetItem(soundmap.value(QStringLiteral("title")).toString(), m_listWidget); item->setData(descriptionRole, soundmap.value(QStringLiteral("description")).toString()); item->setData(idRole, soundmap.value(QStringLiteral("identifier")).toString()); QString author = soundmap.value(QStringLiteral("creator")).toString(); item->setData(authorRole, author); if (author.startsWith(QLatin1String("http"))) item->setData(authorUrl, author); item->setData(infoUrl, "http://archive.org/details/" + soundmap.value(QStringLiteral("identifier")).toString()); item->setData(downloadRole, "http://archive.org/download/" + soundmap.value(QStringLiteral("identifier")).toString()); item->setData(licenseRole, soundmap.value(QStringLiteral("licenseurl")).toString()); } } } } } ++i; } } m_listWidget->blockSignals(false); m_listWidget->setCurrentRow(0); emit searchDone(); }
void IMDB::onSearchFinished() { QNetworkReply *reply = static_cast<QNetworkReply*>(QObject::sender()); QList<ScraperSearchResult> results; if (reply->error() == QNetworkReply::NoError ) { QString msg = QString::fromUtf8(reply->readAll()); results = parseSearch(msg); } else { qWarning() << "Network Error" << reply->errorString(); } reply->deleteLater(); emit searchDone(results); }
void SearchDiskFiles::startSearch(const QStringList &files, const QRegExp ®exp) { if (files.size() == 0) { emit searchDone(); return; } m_cancelSearch = false; m_files = files; m_regExp = regexp; m_matchCount = 0; m_statusTime.restart(); start(); }
void SearchOpenFiles::doSearchNextFile() { if (m_cancelSearch) { m_nextIndex = -1; emit searchDone(); return; } int column; // NOTE The document managers signal documentWillBeDeleted() must be connected to // cancelSearch(). A closed file could lead to a crash if it is not handled. for (int line =0; line < m_docList[m_nextIndex]->lines(); line++) { column = m_regExp.indexIn(m_docList[m_nextIndex]->line(line)); while (column != -1) { if (m_docList[m_nextIndex]->url().isLocalFile() ) { emit matchFound(m_docList[m_nextIndex]->url().path(), line, column, m_docList[m_nextIndex]->line(line), m_regExp.matchedLength()); } else { emit matchFound(m_docList[m_nextIndex]->url().prettyUrl(), line, column, m_docList[m_nextIndex]->line(line), m_regExp.matchedLength()); } column = m_regExp.indexIn(m_docList[m_nextIndex]->line(line), column + 1); } } m_nextIndex++; if (m_nextIndex == m_docList.size()) { m_nextIndex = -1; emit searchDone(); } else { emit searchNextFile(); } }
void SearchModel::searchResultsReceived(const QByteArray & data) { QList < QtTvDB::Show * > result; result = QtTvDB::Show::parseShows(data); if (result.size()) { beginInsertRows(QModelIndex(), 0, result.size() - 1); shows = result; endInsertRows(); } emit searchDone(!!result.size()); }
/** * @brief ConcertSearch::ConcertSearch * @param parent */ ConcertSearch::ConcertSearch(QWidget *parent) : QDialog(parent), ui(new Ui::ConcertSearch) { ui->setupUi(this); ui->results->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents); ui->searchString->setType(MyLineEdit::TypeLoading); #ifdef Q_WS_MAC setWindowFlags((windowFlags() & ~Qt::WindowType_Mask) | Qt::Sheet); setStyleSheet(styleSheet() + " #ConcertSearch { border: 1px solid rgba(0, 0, 0, 100); border-top: none; }"); #else setWindowFlags((windowFlags() & ~Qt::WindowType_Mask) | Qt::Dialog); #endif foreach (ConcertScraperInterface *scraper, Manager::instance()->concertScrapers()) { ui->comboScraper->addItem(scraper->name(), Manager::instance()->concertScrapers().indexOf(scraper)); connect(scraper, SIGNAL(searchDone(QList<ScraperSearchResult>)), this, SLOT(showResults(QList<ScraperSearchResult>))); }
void IMDB::onSearchIdFinished() { QNetworkReply* reply = static_cast<QNetworkReply *>(QObject::sender()); QList<ScraperSearchResult> results; if (reply->error() == QNetworkReply::NoError) { QString msg = QString::fromUtf8(reply->readAll()); ScraperSearchResult result; QRegExp rx; rx.setMinimal(true); rx.setPattern("<h1 class=\"header\"> <span class=\"itemprop\" itemprop=\"name\">(.*)</span>"); if (rx.indexIn(msg) != -1) { result.name = rx.cap(1); rx.setPattern("<h1 class=\"header\"> <span class=\"itemprop\" itemprop=\"name\">.*<span class=\"nobr\">\\(<a href=\"[^\"]*\" >([0-9]*)</a>\\)</span>"); if (rx.indexIn(msg) != -1) { result.released = QDate::fromString(rx.cap(1), "yyyy"); } else { rx.setPattern("<h1 class=\"header\"> <span class=\"itemprop\" itemprop=\"name\">.*</span>.*<span class=\"nobr\">\\(([0-9]*)\\)</span>"); if (rx.indexIn(msg) != -1) result.released = QDate::fromString(rx.cap(1), "yyyy"); } } else { rx.setPattern("<h1 itemprop=\"name\" class=\"\">(.*) <span id=\"titleYear\">\\(<a href=\"/year/([0-9]+)/\\?ref_=tt_ov_inf\""); if (rx.indexIn(msg) != -1) { result.name = rx.cap(1); result.released = QDate::fromString(rx.cap(2), "yyyy"); } } rx.setPattern("<link rel=\"canonical\" href=\"http://www.imdb.com/title/(.*)/\" />"); if (rx.indexIn(msg) != -1) result.id = rx.cap(1); if ((!result.id.isEmpty()) && (!result.name.isEmpty())) results.append(result); } else { qWarning() << "Network Error" << reply->errorString(); } reply->deleteLater(); emit searchDone(results); }
void SearchWhileTyping::startSearch(const KTextEditor::Document *doc, const QRegExp ®Exp) { int column; QTime maxTime; maxTime.start(); for (int line =0; line < doc->lines(); line++) { if (maxTime.elapsed() > 50) { kDebug() << "Search time exceeded -> stop" << maxTime.elapsed() << line; break; } column = regExp.indexIn(doc->line(line)); while (column != -1) { emit matchFound(doc->url().pathOrUrl(), line, column, doc->line(line), regExp.matchedLength()); column = regExp.indexIn(doc->line(line), column + 1); } } emit searchDone(); }
/** * @brief Called when the search result was downloaded * Emits "searchDone" if there are no more pages in the result set * @see OFDb::parseSearch */ void OFDb::searchFinished() { QNetworkReply *reply = static_cast<QNetworkReply*>(QObject::sender()); QString searchStr = reply->property("searchString").toString(); int notFoundCounter = reply->property("notFoundCounter").toInt(); if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 302 || reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 301) { qDebug() << "Got redirect" << reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); reply->deleteLater(); reply = qnam()->get(QNetworkRequest(reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl())); reply->setProperty("searchString", searchStr); connect(reply, SIGNAL(finished()), this, SLOT(searchFinished())); return; } // try to get another mirror when 404 occurs if (reply->error() == QNetworkReply::ContentNotFoundError && notFoundCounter < 3) { qWarning() << "Got 404"; notFoundCounter++; reply->deleteLater(); QUrl url(QString("http://www.ofdbgw.org/search/%1").arg(searchStr)); reply = qnam()->get(QNetworkRequest(url)); reply->setProperty("searchString", searchStr); reply->setProperty("notFoundCounter", notFoundCounter); connect(reply, SIGNAL(finished()), this, SLOT(searchFinished())); return; } QList<ScraperSearchResult> results; if (reply->error() == QNetworkReply::NoError ) { QString msg = QString::fromUtf8(reply->readAll()); results = parseSearch(msg, searchStr); } else { qWarning() << "Network Error" << reply->errorString(); } reply->deleteLater(); emit searchDone(results); }
bool CollectionModel::id_list_get (Xmms::List<unsigned int> const &list) { beginRemoveRows (QModelIndex (), 0, m_plist.size ()); m_plist.clear (); endRemoveRows (); int i = 0; for (list.first (); list.isValid (); ++list) { i ++; } beginInsertRows (QModelIndex (), 0, i); for (list.first (); list.isValid (); ++list) { m_plist.append (*list); } endInsertRows (); emit searchDone (); return true; }
/** * @brief FanartTv::FanartTv * @param parent */ FanartTv::FanartTv(QObject *parent) { setParent(parent); m_language = "en"; m_preferredDiscType = "BluRay"; m_widget = new QWidget(MainWindow::instance()); m_box = new QComboBox(m_widget); m_box->addItem(tr("Bulgarian"), "bg"); m_box->addItem(tr("Chinese"), "zh"); m_box->addItem(tr("Croatian"), "hr"); m_box->addItem(tr("Czech"), "cs"); m_box->addItem(tr("Danish"), "da"); m_box->addItem(tr("Dutch"), "nl"); m_box->addItem(tr("English"), "en"); m_box->addItem(tr("Finnish"), "fi"); m_box->addItem(tr("French"), "fr"); m_box->addItem(tr("German"), "de"); m_box->addItem(tr("Greek"), "el"); m_box->addItem(tr("Hebrew"), "he"); m_box->addItem(tr("Hungarian"), "hu"); m_box->addItem(tr("Italian"), "it"); m_box->addItem(tr("Japanese"), "ja"); m_box->addItem(tr("Korean"), "ko"); m_box->addItem(tr("Norwegian"), "no"); m_box->addItem(tr("Polish"), "pl"); m_box->addItem(tr("Portuguese"), "pt"); m_box->addItem(tr("Russian"), "ru"); m_box->addItem(tr("Slovene"), "sl"); m_box->addItem(tr("Spanish"), "es"); m_box->addItem(tr("Swedish"), "sv"); m_box->addItem(tr("Turkish"), "tr"); m_discBox = new QComboBox(m_widget); m_discBox->addItem(tr("3D"), "3D"); m_discBox->addItem(tr("BluRay"), "BluRay"); m_discBox->addItem(tr("DVD"), "DVD"); m_personalApiKeyEdit = new QLineEdit(m_widget); QGridLayout *layout = new QGridLayout(m_widget); layout->addWidget(new QLabel(tr("Language")), 0, 0); layout->addWidget(m_box, 0, 1); layout->addWidget(new QLabel(tr("Preferred Disc Type")), 1, 0); layout->addWidget(m_discBox, 1, 1); layout->addWidget(new QLabel(tr("Personal API key")), 2, 0); layout->addWidget(m_personalApiKeyEdit, 2, 1); layout->setColumnStretch(2, 1); layout->setContentsMargins(12, 0, 12, 12); m_widget->setLayout(layout); m_provides << ImageType::MovieBackdrop << ImageType::MovieLogo << ImageType::MovieClearArt << ImageType::MovieCdArt << ImageType::MovieBanner << ImageType::MovieThumb << ImageType::MoviePoster << ImageType::TvShowClearArt << ImageType::TvShowBackdrop << ImageType::TvShowBanner << ImageType::TvShowThumb << ImageType::TvShowSeasonThumb << ImageType::TvShowSeasonPoster << ImageType::TvShowLogos << ImageType::TvShowCharacterArt << ImageType::TvShowPoster << ImageType::ConcertBackdrop << ImageType::ConcertLogo << ImageType::ConcertClearArt << ImageType::ConcertCdArt; m_apiKey = "842f7a5d1cc7396f142b8dd47c4ba42b"; m_searchResultLimit = 0; m_tvdb = new TheTvDb(this); m_tmdb = new TMDb(this); connect(m_tvdb, SIGNAL(sigSearchDone(QList<ScraperSearchResult>)), this, SLOT(onSearchTvShowFinished(QList<ScraperSearchResult>))); connect(m_tmdb, SIGNAL(searchDone(QList<ScraperSearchResult>)), this, SLOT(onSearchMovieFinished(QList<ScraperSearchResult>))); }
void SearchDialog::fillClients() { vector<ClientWidget> widgets = m_widgets; m_widgets.clear(); m_search->cmbClients->clear(); unsigned nClients = 0; int current = -1; int defCurrent = -1; for (unsigned i = 0; i < getContacts()->nClients(); i++){ Client *client = getContacts()->getClient(i); QWidget *search = client->searchWindow(m_search->wndCondition); if (search == NULL) continue; unsigned n; for (n = 0; n < widgets.size(); n++){ if ((widgets[n].client != client) || !widgets[n].name.isEmpty()) continue; delete search; search = widgets[n].widget; widgets[n].widget = NULL; break; } if (n >= widgets.size()) m_search->wndCondition->addWidget(search, ++m_id); m_search->cmbClients->insertItem(Pict(client->protocol()->description()->icon, m_search->cmbClients->colorGroup().base()), CorePlugin::m_plugin->clientName(client)); ClientWidget cw; cw.client = client; cw.widget = search; m_widgets.push_back(cw); if (search == m_current) current = m_widgets.size() - 1; if (client->protocol()->description()->flags & PROTOCOL_SEARCH) nClients++; if (client->name() == CorePlugin::m_plugin->getSearchClient()) defCurrent = m_widgets.size() - 1; } if (nClients > 1){ unsigned n; QWidget *search = NULL; for (n = 0; n < widgets.size(); n++){ if (widgets[n].client == (Client*)(-1)){ search = widgets[n].widget; widgets[n].widget = NULL; break; } } if (search == NULL){ search = new SearchAll(m_search->wndCondition); m_search->wndCondition->addWidget(new SearchAll(m_search->wndCondition), ++m_id); } m_search->cmbClients->insertItem(Pict("find", m_search->cmbClients->colorGroup().base()), i18n("All networks")); ClientWidget cw; cw.client = (Client*)(-1); cw.widget = search; m_widgets.push_back(cw); if ((search == m_current) || ((m_current == NULL) && (current < 0) && (defCurrent < 0))) current = m_widgets.size() - 1; } unsigned n; QWidget *search = NULL; for (n = 0; n < widgets.size(); n++){ if (widgets[n].client == NULL){ search = widgets[n].widget; widgets[n].widget = NULL; break; } } if (search == NULL){ search = new NonIM(m_search->wndCondition); m_search->wndCondition->addWidget(search, ++m_id); } m_search->cmbClients->insertItem(Pict("nonim", m_search->cmbClients->colorGroup().base()), i18n("Non-IM contact")); ClientWidget cw; cw.client = NULL; cw.widget = search; m_widgets.push_back(cw); if (search == m_current) current = m_widgets.size() - 1; if (m_update->isActive()){ m_update->stop(); }else if (m_result){ m_result->viewport()->setUpdatesEnabled(false); } for (n = 0; n < widgets.size(); n++){ if (widgets[n].name.isEmpty()) continue; unsigned i; for (i = 0; i < m_widgets.size(); i++) if (widgets[n].client == m_widgets[i].client) break; if (i >= m_widgets.size()) continue; m_search->cmbClients->insertItem(Pict(widgets[n].client->protocol()->description()->icon, m_search->cmbClients->colorGroup().base()), widgets[n].name); m_widgets.push_back(widgets[n]); widgets[n].widget = NULL; } for (n = 0; n < widgets.size(); n++){ if (widgets[n].widget){ if (widgets[n].widget == m_active) searchDone(m_active); if (widgets[n].widget == m_current) m_current = NULL; for (QListViewItem *item = m_result->firstChild(); item; ){ QListViewItem *next = item->nextSibling(); if ((QWidget*)(item->text(COL_SEARCH_WND).toULong()) == widgets[n].widget) delete item; if (next == NULL) break; item = next; } delete widgets[n].widget; } } if (current == -1) current = defCurrent; if (current == -1) current = 0; m_search->cmbClients->setCurrentItem(current); clientActivated(current); setStatus(); m_update->start(500); }
void JabberAdd::checkDone() { if (m_id_browse.empty() && m_id_disco.empty() && m_disco_items.empty() && m_agents.empty()) emit searchDone(this); }
MedialibDialog::MedialibDialog (QWidget *parent, XClient *client) : QDialog (parent) { QSettings s; setAttribute (Qt::WA_DeleteOnClose); setWindowTitle (tr ("Esperanza - Medialib Search")); QGridLayout *g = new QGridLayout (this); m_client = client; m_completer = NULL; m_qb = new QComboBox (this); m_qb->addItem (tr ("All"), MedialibSearchModel::ALL); m_qb->addItem (tr ("Artist"), MedialibSearchModel::ARTIST); m_qb->addItem (tr ("Album"), MedialibSearchModel::ALBUM); m_qb->addItem (tr ("Title"), MedialibSearchModel::TITLE); m_qb->addItem (tr ("Year"), MedialibSearchModel::YEAR); g->addWidget (m_qb, 0, 0, 1, 1); QLabel *l = new QLabel (tr ("="), this); g->addWidget (l, 0, 1, 1, 1); m_le = new QLineEdit (this); m_le->setFocus (Qt::OtherFocusReason); m_le->setFocusPolicy (Qt::StrongFocus); connect (m_le, SIGNAL (returnPressed ()), this, SLOT (do_search ())); g->addWidget (m_le, 0, 2, 1, 1); g->setColumnStretch (2, 1); m_indicator = new ProgressIndicator (this); g->addWidget (m_indicator, 0, 3, 1, 1); PlayerButton *expand = new PlayerButton (this, ":images/minmax.png"); g->addWidget (expand, 0, 4, 1, 1); connect (expand, SIGNAL (clicked (QMouseEvent *)), this, SLOT (expand_clicked ())); m_browser = new MedialibPaneBrowser (this, m_client); if (!s.value ("medialib/paneopen", false).toBool ()) { m_browser->hide (); } else { m_le->setEnabled (false); m_qb->setEnabled (false); } g->addWidget (m_browser, 1, 0, 1, 5); m_list = new MedialibView (this, client); g->addWidget (m_list, 2, 0, 1, 5); QWidget *dummy = new QWidget (this); QHBoxLayout *hbox = new QHBoxLayout (dummy); g->setRowStretch (2, 1); m_cb = new QCheckBox (tr ("Display unavailable entries"), dummy); hbox->addWidget (m_cb); connect (m_cb, SIGNAL (stateChanged (int)), this, SLOT (do_search ())); hbox->addStretch (1); PlayerButton *plus = new PlayerButton (dummy, ":images/plus.png"); connect (plus, SIGNAL (clicked (QMouseEvent *)), this, SLOT (plus_pressed (QMouseEvent *))); PlayerButton *stop = new PlayerButton (dummy, ":images/stop.png"); connect (stop, SIGNAL (clicked (QMouseEvent *)), this, SLOT (close ())); hbox->addWidget (plus); hbox->addWidget (stop); g->addWidget (dummy, 3, 0, 1, 5); g->setMargin (1); resize (s.value ("medialibdialog/size", QSize (500, 350)).toSize ()); connect (m_list, SIGNAL (searchDone ()), this, SLOT (search_done ())); m_qb->setCurrentIndex (s.value ("medialib/searchdef", 0).toInt ()); load_compl_list (m_qb->currentIndex ()); connect (m_qb, SIGNAL (currentIndexChanged (int)), this, SLOT (load_compl_list (int))); }
void SearchFolder::run() { handleNextItem(QFileInfo(m_folder)); emit searchDone(); }