Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
//SPDX-FileCopyrightText: 2025 - 2026 UnionTech Software Technology Co., Ltd.
//
//SPDX-License-Identifier: GPL-3.0-or-later

Expand All @@ -18,17 +18,15 @@
explicit AbstractBiometricController(QObject *parent = nullptr);
virtual ~AbstractBiometricController() = default;

CharaMangerModel::AddInfoState addStage() const { return m_addStage; }

Check warning on line 21 in src/plugin-authentication/operation/abstractbiometriccontroller.h

View workflow job for this annotation

GitHub Actions / cppcheck

The function 'addStage' is never used.
void setAddStage(CharaMangerModel::AddInfoState stage);

// 纯虚函数,子类必须实现
virtual void startEnroll() = 0;
virtual void stopEnroll() = 0;
virtual void rename(const QString &oldName, const QString &newName) = 0;
virtual void remove(const QString &id) = 0;

// 虚函数,子类可以选择性重写
virtual bool isAvailable() const { return true; }

Check warning on line 29 in src/plugin-authentication/operation/abstractbiometriccontroller.h

View workflow job for this annotation

GitHub Actions / cppcheck

The function 'isAvailable' is never used.
virtual QString getTypeName() const = 0;

signals:
Expand Down
4 changes: 2 additions & 2 deletions src/plugin-authentication/operation/charamangermodel.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
//SPDX-FileCopyrightText: 2025 - 2026 UnionTech Software Technology Co., Ltd.
//
//SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -131,7 +131,7 @@ void CharaMangerModel::onFingerEnrollStatusChanged(int code, const QString& msg)
case ET_Failed: {
m_progress = 0;
QString title = tr("Scan failed");
QString msg = "";
QString msg = tr("Scan suspended");
do {
QStringList keys = jsonObject.keys();
if (!keys.contains("subcode")) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
//SPDX-FileCopyrightText: 2025 - 2026 UnionTech Software Technology Co., Ltd.
//
//SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -157,6 +157,7 @@ void FingerprintAuthController::onFingerEnrollFailed(const QString &title, const
{
m_fingerTipTitle = title;
m_fingerTipMessage = msg;
m_fingertipImagePath = "user_biometric_fingerprint_lose";
setAddStage(CharaMangerModel::Fail);
emit fingerTipsChanged();
stopEnroll();
Expand All @@ -181,6 +182,9 @@ void FingerprintAuthController::onFingerEnrollDisconnected()

void FingerprintAuthController::onFingerLiftTimerTimeout()
{
if (m_addStage == CharaMangerModel::Fail || m_addStage == CharaMangerModel::Success) {
return;
}
QString m_defTitle;
QString m_defTip;
if (m_fingerPro > 0 && m_fingerPro < 35) {
Expand All @@ -201,6 +205,9 @@ void FingerprintAuthController::onFingerLiftTimerTimeout()

void FingerprintAuthController::onFingerAniValueChanged(const QVariant &index)
{
if (m_addStage == CharaMangerModel::Fail) {
return;
}
if (index == 150) {
m_fingertipImagePath = "user_biometric_fingerprint_success";
} else {
Expand Down
8 changes: 7 additions & 1 deletion src/plugin-authentication/qml/AddFingerDialog.qml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
// SPDX-FileCopyrightText: 2025 - 2026 UnionTech Software Technology Co., Ltd.
// SPDX-License-Identifier: GPL-3.0-or-later

import QtQuick 2.15
Expand Down Expand Up @@ -27,6 +27,12 @@ D.DialogWindow {
}
}

onActiveChanged: function() {
if (listview.currentIndex == 1 && !active) {
dccData.fingerprintController.stopEnroll()
}
}

D.ListView {
id: listview
implicitWidth: dialog.width - dialog.leftPadding - dialog.rightPadding
Expand Down