feat: 改进搜索动画

This commit is contained in:
uniartisan 2022-11-26 02:20:17 +08:00
parent 9c80179493
commit b9121c13ab
2 changed files with 23 additions and 4 deletions

View File

@ -745,9 +745,15 @@ void Widget::searchApp(QString text)
// 禁止同时进行多次搜索 // 禁止同时进行多次搜索
if (!mutex.tryLock()) if (!mutex.tryLock())
{ {
qDebug() << "Do not repeat searches";
sendNotification(tr("Do not repeat searches!"));
return; return;
} }
//加载动画
spinner->show();
spinner->start();
// 关键字搜索处理 // 关键字搜索处理
httpClient->get("https://search.deepinos.org.cn/appinfo/search") httpClient->get("https://search.deepinos.org.cn/appinfo/search")
.header("content-type", "application/json") .header("content-type", "application/json")
@ -760,8 +766,14 @@ void Widget::searchApp(QString text)
qDebug() << "相关应用未找到!"; qDebug() << "相关应用未找到!";
sendNotification(tr("Relative apps Not Found!")); sendNotification(tr("Relative apps Not Found!"));
mutex.unlock(); mutex.unlock();
clearSearchApp();
spinner->stop();
spinner->hide();
ui->stackedWidget->setCurrentIndex(0);
ui->webEngineView->setUrl(QUrl("https://wayou.github.io/t-rex-runner"));
return; return;
} }
clearSearchApp();
displaySearchApp(json); }) displaySearchApp(json); })
.onError([this](QString errorStr) .onError([this](QString errorStr)
{ {
@ -781,9 +793,9 @@ void Widget::closeEvent(QCloseEvent *event)
} }
/** /**
* @brief APP信息 * @brief APP信息
*/ */
void Widget::displaySearchApp(QJsonArray array) void Widget::clearSearchApp()
{ {
ui->stackedWidget->setCurrentIndex(4); ui->stackedWidget->setCurrentIndex(4);
@ -798,8 +810,14 @@ void Widget::displaySearchApp(QJsonArray array)
} }
main->removeItem(applist_grid); main->removeItem(applist_grid);
spinner->show(); }
spinner->start(); /**
* @brief APP信息
*/
void Widget::displaySearchApp(QJsonArray array)
{
for(int i = 0; i < array.size(); i++) for(int i = 0; i < array.size(); i++)
{ {

View File

@ -82,6 +82,7 @@ private slots:
void sltAppinfoScreenshot(QPixmap *picture, int index); void sltAppinfoScreenshot(QPixmap *picture, int index);
void sltAppinfoFinish(); void sltAppinfoFinish();
void clearSearchApp(); // 清除搜索的APP信息
void displaySearchApp(QJsonArray array); // 展示搜索的APP信息 void displaySearchApp(QJsonArray array); // 展示搜索的APP信息
void downloadIconsFinished(int arraysize); // 当前搜索列表图标是否下载完成 void downloadIconsFinished(int arraysize); // 当前搜索列表图标是否下载完成