Fix for ticket #124

Search don't work with utf8 chars.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4574 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2011-08-27 16:15:56 +00:00
parent ac6f4539e9
commit 154d315c92
2 changed files with 8 additions and 8 deletions

View File

@ -557,7 +557,7 @@ void SearchDialog::initSearchResult(const std::string& txt,qulonglong searchId)
QString sid_hexa = QString::number(searchId,16) ; QString sid_hexa = QString::number(searchId,16) ;
QTreeWidgetItem *item2 = new QTreeWidgetItem(); QTreeWidgetItem *item2 = new QTreeWidgetItem();
item2->setText(SS_TEXT_COL, QString::fromStdString(txt)); item2->setText(SS_TEXT_COL, QString::fromUtf8(txt.c_str()));
item2->setText(SS_COUNT_COL, QString::number(0)); item2->setText(SS_COUNT_COL, QString::number(0));
item2->setText(SS_SEARCH_ID_COL, sid_hexa); item2->setText(SS_SEARCH_ID_COL, sid_hexa);
@ -567,7 +567,7 @@ void SearchDialog::initSearchResult(const std::string& txt,qulonglong searchId)
void SearchDialog::advancedSearch(Expression* expression) void SearchDialog::advancedSearch(Expression* expression)
{ {
advSearchDialog->hide(); advSearchDialog->hide();
/* call to core */ /* call to core */
std::list<DirDetails> results; std::list<DirDetails> results;
@ -601,7 +601,7 @@ void SearchDialog::searchKeywords()
void SearchDialog::searchKeywords(const QString& keywords) void SearchDialog::searchKeywords(const QString& keywords)
{ {
std::string txt = keywords.toStdString(); std::string txt = keywords.toUtf8().constData();
if(txt.length() < 3) if(txt.length() < 3)
return ; return ;
@ -612,7 +612,7 @@ void SearchDialog::searchKeywords(const QString& keywords)
std::list<std::string> words; std::list<std::string> words;
QStringListIterator qWordsIter(qWords); QStringListIterator qWordsIter(qWords);
while (qWordsIter.hasNext()) while (qWordsIter.hasNext())
words.push_back(qWordsIter.next().toStdString()); words.push_back(qWordsIter.next().toUtf8().constData());
int n = words.size() ; int n = words.size() ;
@ -962,7 +962,7 @@ void SearchDialog::insertFile(const std::string& txt,qulonglong searchId, const
anonymousSource = modifiedResultCount.at(1).toInt() + 1; anonymousSource = modifiedResultCount.at(1).toInt() + 1;
} }
anonymousSource = anonymousSource + friendSource; anonymousSource = anonymousSource + friendSource;
modifiedResult = QString::number(friendSource) + "/" + QString::number(anonymousSource); modifiedResult = QString::number(friendSource) + "/" + QString::number(anonymousSource);
(*it)->setText(SR_ID_COL,modifiedResult); (*it)->setText(SR_ID_COL,modifiedResult);
QTreeWidgetItem *item = (*it); QTreeWidgetItem *item = (*it);
found = true ; found = true ;
@ -1170,8 +1170,8 @@ void SearchDialog::resultsToTree(std::string txt,qulonglong searchId, const std:
insertFile(txt,searchId,fd, FRIEND_SEARCH); insertFile(txt,searchId,fd, FRIEND_SEARCH);
} else if (it->type == DIR_TYPE_DIR) { } else if (it->type == DIR_TYPE_DIR) {
// insertDirectory(txt, searchId, *it, NULL); // insertDirectory(txt, searchId, *it, NULL);
insertDirectory(txt, searchId, *it); insertDirectory(txt, searchId, *it);
} }
ui.searchResultWidget->setSortingEnabled(true); ui.searchResultWidget->setSortingEnabled(true);

View File

@ -158,7 +158,7 @@ Expression* ExpressionWidget::getRsExpression()
QString txt = exprParamElem->getStrSearchValue(); QString txt = exprParamElem->getStrSearchValue();
QStringList words = txt.split(" ", QString::SkipEmptyParts); QStringList words = txt.split(" ", QString::SkipEmptyParts);
for (int i = 0; i < words.size(); ++i) for (int i = 0; i < words.size(); ++i)
wordList.push_back(words.at(i).toStdString()); wordList.push_back(words.at(i).toUtf8().constData());
} else if (inRangedConfig){ } else if (inRangedConfig){
// correct for reversed ranges to be nice to the user // correct for reversed ranges to be nice to the user
lowVal = exprParamElem->getIntLowValue(); lowVal = exprParamElem->getIntLowValue();