update:完善搜索功能

This commit is contained in:
2025-07-06 20:14:51 +08:00
parent a79d76067e
commit 266be7146d
2 changed files with 30 additions and 0 deletions

View File

@@ -60,6 +60,11 @@ MainWindow::MainWindow(QWidget *parent)
});
checkUpdates();
// 新增:监听搜索框文本变化
connect(ui->searchPlainTextEdit, &QPlainTextEdit::textChanged, this, [=]() {
QString keyword = ui->searchPlainTextEdit->toPlainText();
filterAppsByKeyword(keyword);
});
initStyle();
});
@@ -196,6 +201,7 @@ void MainWindow::checkUpdates()
{
aptssUpdater updater;
QJsonArray updateInfo = updater.getUpdateInfoAsJson();
m_allApps = updateInfo; // 保存所有应用数据
m_model->setUpdateData(updateInfo);
for (const auto &item : updateInfo) {
@@ -205,6 +211,27 @@ void MainWindow::checkUpdates()
}
}
// 新增:根据关键字过滤应用
void MainWindow::filterAppsByKeyword(const QString &keyword)
{
if (keyword.trimmed().isEmpty()) {
m_model->setUpdateData(m_allApps);
return;
}
QJsonArray filtered;
for (const auto &item : m_allApps) {
QJsonObject obj = item.toObject();
// 可根据需要匹配更多字段
QString name = obj.value("name").toString();
QString package = obj.value("package").toString();
if (name.contains(keyword, Qt::CaseInsensitive) ||
package.contains(keyword, Qt::CaseInsensitive)) {
filtered.append(item);
}
}
m_model->setUpdateData(filtered);
}
void MainWindow::runAptssUpgrade()
{
QProcess process;