예제 #1
0
void SearchResultWidget::searchPageNavigationClicked(QAction *action)
{
	if (!action) return;

	QVariant actionData = action->data();
	if ( !actionData.isValid() || actionData.isNull() ) return;
	QStringList dataList = actionData.toString().split("|", QString::SkipEmptyParts);
	if (dataList.size() == 2)
		showSearchResult(dataList.at(1).toInt());
}
예제 #2
0
bool SearchResultWidget::init(QMainWindow *qmw, const QString &iconThemePath)
{
	if (resultList.isEmpty()) return false;

	moreThanOnePage = SearchResultWidget::maxItemPerPage>0 && resultList.size() >= SearchResultWidget::maxItemPerPage+1;
	navButtonsNeeded = false;

	setupUi(qmw, iconThemePath);
	showSearchResult(0);
	
	return true;
}
예제 #3
0
void SearchResultWidget::filterResults(const QString &text)
{
    QString str = QGanjoorDbBrowser::cleanString(text);
    if (str.isEmpty()) {
        resultList = copyResultList;
        emit searchFiltered(phrase);
        showSearchResult(0);
        return;
    }//searchTable->setItemDelegateForColumn(2, new SaagharItemDelegate());

    //SaagharItemDelegate *itemDelegate = searchTable->itemDelegateForColumn(2);
    //itemDelegate->
    emit searchFiltered(phrase + " " + str);
    //QMap<int, QString> tmpList;

    resultList.clear();
    QMap<int, QString>::const_iterator it = copyResultList.constBegin();
    const QMap<int, QString>::const_iterator endIterator = copyResultList.constEnd();
    while (it != endIterator) {
        QString value = it.value();
        value = QGanjoorDbBrowser::cleanString(value);
        if (value.contains(str, Qt::CaseInsensitive)) {
            resultList.insertMulti(it.key(), it.value());
        }
        ++it;
    }
    if (resultList.isEmpty()) {
        pageLabel->setText(tr("Nothing found!"));
        searchPreviousPage->setEnabled(false);
        searchNextPage->setEnabled(false);
        searchTable->clear();
        searchTable->setRowCount(0);
    }
    else {
        showSearchResult(0);
    }
}
예제 #4
0
//SLOT
void Gui_AdminWindow::startSearch() {
    res = _admin->find(edt[4]->text().toStdString());
    if(res.empty()) {
        if(!tbar->isHidden()) tbar->hide();
        _userInfo->setHtml("<h2> No results</h2>");
    }
    else {
        if(tbar->isHidden()) tbar->show();
        if(!tbar->actions().at(0)->isVisible()) tbar->actions().at(0)->setVisible(true);
        if(res.size() > 1)
            if(!tbar->actions().at(2)->isVisible()) tbar->actions().at(2)->setVisible(true);
        it = res.begin();
        showSearchResult();
    }
}
예제 #5
0
//SLOT
void Gui_AdminWindow::nextResult() {
    ++it;
    showSearchResult();
}
예제 #6
0
void NetWorkWidget::searchMusic(QString musicName)
{
    connect(netWork, SIGNAL(getMusicUrlsFinished(QMap<QString, QStringList>)),
            this, SLOT(showSearchResult(QMap<QString, QStringList>)));
    netWork->searchMusic(musicName);
}