Replace QList by QVector

This commit is contained in:
Chocobo1
2019-08-02 12:55:06 +08:00
parent 6cc7c700b8
commit e90a2c00a5
30 changed files with 94 additions and 73 deletions

View File

@@ -127,13 +127,16 @@ void SearchHandler::processFinished(const int exitcode)
void SearchHandler::readSearchOutput()
{
QByteArray output = m_searchProcess->readAllStandardOutput();
output.replace("\r", "");
output.replace('\r', "");
QList<QByteArray> lines = output.split('\n');
if (!m_searchResultLineTruncated.isEmpty())
lines.prepend(m_searchResultLineTruncated + lines.takeFirst());
m_searchResultLineTruncated = lines.takeLast().trimmed();
QList<SearchResult> searchResultList;
QVector<SearchResult> searchResultList;
searchResultList.reserve(lines.size());
for (const QByteArray &line : asConst(lines)) {
SearchResult searchResult;
if (parseSearchResult(QString::fromUtf8(line), searchResult))
@@ -141,7 +144,8 @@ void SearchHandler::readSearchOutput()
}
if (!searchResultList.isEmpty()) {
m_results.append(searchResultList);
for (const SearchResult &result : searchResultList)
m_results.append(result);
emit newSearchResults(searchResultList);
}
}

View File

@@ -33,6 +33,7 @@
#include <QList>
#include <QObject>
#include <QString>
#include <QVector>
class QProcess;
class QTimer;
@@ -71,7 +72,7 @@ public:
signals:
void searchFinished(bool cancelled = false);
void searchFailed();
void newSearchResults(const QList<SearchResult> &results);
void newSearchResults(const QVector<SearchResult> &results);
private:
void readSearchOutput();