diff -Nru ukui-biometric-manager-4.10.0.0/debian/changelog ukui-biometric-manager-4.10.0.0/debian/changelog --- ukui-biometric-manager-4.10.0.0/debian/changelog 2024-08-19 17:44:17.000000000 +0800 +++ ukui-biometric-manager-4.10.0.0/debian/changelog 2025-01-17 09:47:19.000000000 +0800 @@ -1,3 +1,12 @@ +ukui-biometric-manager (4.10.0.0-ok4.6) nile; urgency=medium + + * BUG号:无 + * 需求号:无 + * 其他改动说明:使用到控制面板libukcc中的控件适配sdk接口 + * 其他改动影响域:无,commit id: + + -- liudun <liudun@kylinos.cn> Fri, 17 Jan 2025 09:47:19 +0800 + ukui-biometric-manager (4.10.0.0-ok4.5) nile; urgency=medium * BUG号:#IAAT5S【中】【gg-维哈柯】【生物特征管理工具】【设备与权限】【维吾尔语】权限-生物设备下方的文案显示不全,按钮位置过于靠近边框;鼠标悬浮在生物设备-设备的小叹号上,设备信息悬浮框文案布局不完全对 diff -Nru ukui-biometric-manager-4.10.0.0/debian/patches/0022-Translated-using-Weblate-Mongolian.patch ukui-biometric-manager-4.10.0.0/debian/patches/0022-Translated-using-Weblate-Mongolian.patch --- ukui-biometric-manager-4.10.0.0/debian/patches/0022-Translated-using-Weblate-Mongolian.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-biometric-manager-4.10.0.0/debian/patches/0022-Translated-using-Weblate-Mongolian.patch 2025-01-17 09:47:19.000000000 +0800 @@ -0,0 +1,34 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Tue, 27 Aug 2024 10:57:11 +0000 +Subject: Translated using Weblate (Mongolian) + +Currently translated at 100.0% (176 of 176 strings) + +Translation: openkylin-nile-new/ukui-biometric-manager +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/ukui-biometric-manager/mn/ +--- + biometric-manager/i18n_ts/mn.ts | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/biometric-manager/i18n_ts/mn.ts b/biometric-manager/i18n_ts/mn.ts +index f4944a9..f4d4feb 100644 +--- a/biometric-manager/i18n_ts/mn.ts ++++ b/biometric-manager/i18n_ts/mn.ts +@@ -342,7 +342,7 @@ p, li { white-space: pre-wrap; } + <message> + <location filename="../src/contentpane.cpp" line="300"/> + <source>Rename Feature</source> +- <translation>ᠣᠨᠴᠠᠯᠢᠭ ᠢ ᠳᠠᠬᠢᠨ ᠨᠡᠡᠷᠡᠢᠳᠴᠤ ᠪᠠᠢᠨᠠ</translation> ++ <translation>ᠣᠨᠴᠠᠯᠢᠭ ᠢ ᠳᠠᠬᠢᠨ ᠨᠡᠡᠷᠡᠢᠳᠴᠤ ᠪᠠᠢᠨᠠ</translation> + </message> + <message> + <source>Duplicate feature name</source> +@@ -1574,7 +1574,7 @@ Please authenticate yourself to continue</source> + <location filename="../src/main.cpp" line="167"/> + <location filename="../src/main.cpp" line="178"/> + <source>OK</source> +- <translation>ᠪᠠᠰᠠ ᠪᠣᠯᠣᠨᠠ ᠃</translation> ++ <translation>ᠡᠬᠢᠯᠡᠪᠡ</translation> + </message> + <message> + <location filename="../src/main.cpp" line="176"/> diff -Nru ukui-biometric-manager-4.10.0.0/debian/patches/0023-feat-biometric-plugin-Use-the-controls-in-the-contro.patch ukui-biometric-manager-4.10.0.0/debian/patches/0023-feat-biometric-plugin-Use-the-controls-in-the-contro.patch --- ukui-biometric-manager-4.10.0.0/debian/patches/0023-feat-biometric-plugin-Use-the-controls-in-the-contro.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-biometric-manager-4.10.0.0/debian/patches/0023-feat-biometric-plugin-Use-the-controls-in-the-contro.patch 2025-01-17 09:47:19.000000000 +0800 @@ -0,0 +1,2085 @@ +From: liudun <liudun@kylinos.cn> +Date: Fri, 17 Jan 2025 09:50:55 +0800 +Subject: feat(biometric-plugin): Use the controls in the control panel + libukcc to adapt the SDK interface +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +Description: Use the controls in the control panel libukcc to adapt the SDK interface + +Log: 使用到控制面板libukcc中的控件适配sdk接口 +Task: #419601 多人并行 使用到控制面板libukcc中的控件适配sdk接口 +--- + biometric-plugin/biometric-plugin.pro | 6 - + biometric-plugin/biometricenroll.cpp | 1 - + biometric-plugin/biometricenroll.h | 3 - + biometric-plugin/biometricmoreinfo.cpp | 250 ------------- + biometric-plugin/biometricmoreinfo.h | 84 ----- + biometric-plugin/biometricmoreinfo.ui | 311 --------------- + biometric-plugin/biometricswidget.cpp | 23 +- + biometric-plugin/biometricswidget.h | 2 - + biometric-plugin/biometricswidget.ui | 7 +- + biometric-plugin/changepwddialog.cpp | 405 -------------------- + biometric-plugin/changepwddialog.h | 107 ------ + biometric-plugin/changepwddialog.ui | 665 --------------------------------- + biometric-plugin/qrcodeenroll.cpp | 1 - + biometric-plugin/qrcodeenroll.h | 3 - + 14 files changed, 2 insertions(+), 1866 deletions(-) + delete mode 100644 biometric-plugin/biometricmoreinfo.cpp + delete mode 100644 biometric-plugin/biometricmoreinfo.h + delete mode 100644 biometric-plugin/biometricmoreinfo.ui + delete mode 100644 biometric-plugin/changepwddialog.cpp + delete mode 100644 biometric-plugin/changepwddialog.h + delete mode 100644 biometric-plugin/changepwddialog.ui + +diff --git a/biometric-plugin/biometric-plugin.pro b/biometric-plugin/biometric-plugin.pro +index ae4a54b..907c032 100644 +--- a/biometric-plugin/biometric-plugin.pro ++++ b/biometric-plugin/biometric-plugin.pro +@@ -67,7 +67,6 @@ SOURCES += \ + biometricdeviceinfo.cpp \ + biometricproxy.cpp \ + biometricenroll.cpp \ +- biometricmoreinfo.cpp \ + enrollbtn.cpp \ + giodbus.cpp \ + kalabel.cpp \ +@@ -76,7 +75,6 @@ SOURCES += \ + servicemanager.cpp \ + namelabel.cpp \ + changefeaturename.cpp \ +- changepwddialog.cpp \ + changeuserpwd.cpp \ + elipsemaskwidget.cpp \ + passwdcheckutil.cpp \ +@@ -91,7 +89,6 @@ HEADERS += \ + biometricdeviceinfo.h \ + biometricproxy.h \ + biometricenroll.h \ +- biometricmoreinfo.h \ + enrollbtn.h \ + giodbus.h \ + kalabel.h \ +@@ -101,7 +98,6 @@ HEADERS += \ + namelabel.h \ + changeuserpwd.h \ + changefeaturename.h \ +- changepwddialog.h \ + elipsemaskwidget.h \ + passwdcheckutil.h \ \ + uniauthservice.h \ +@@ -111,10 +107,8 @@ HEADERS += \ + + FORMS += \ + biometricswidget.ui \ +- biometricmoreinfo.ui \ + biometricenroll.ui \ + changefeaturename.ui \ +- changepwddialog.ui \ + qrcodeenroll.ui + + +diff --git a/biometric-plugin/biometricenroll.cpp b/biometric-plugin/biometricenroll.cpp +index 0220b4a..81e16a7 100644 +--- a/biometric-plugin/biometricenroll.cpp ++++ b/biometric-plugin/biometricenroll.cpp +@@ -25,7 +25,6 @@ + #include <unistd.h> + #include <opencv2/opencv.hpp> + +-#include "ukcc/widgets/closebutton.h" + #include "biometricdeviceinfo.h" + #include "biometricproxy.h" + #include "servicemanager.h" +diff --git a/biometric-plugin/biometricenroll.h b/biometric-plugin/biometricenroll.h +index 7a8acbf..2baaf28 100644 +--- a/biometric-plugin/biometricenroll.h ++++ b/biometric-plugin/biometricenroll.h +@@ -35,9 +35,6 @@ + #include <QCoreApplication> + #include "biometricdeviceinfo.h" + +-#include <ukcc/widgets/hoverwidget.h> +- +- + namespace Ui { + class BiometricEnrollDialog; + } +diff --git a/biometric-plugin/biometricmoreinfo.cpp b/biometric-plugin/biometricmoreinfo.cpp +deleted file mode 100644 +index 88c4dc4..0000000 +--- a/biometric-plugin/biometricmoreinfo.cpp ++++ /dev/null +@@ -1,250 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2020 KYLINOS Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#include "biometricmoreinfo.h" +-#include "ui_biometricmoreinfo.h" +-#include <QPixmap> +- +-#include <ukcc/widgets/closebutton.h> +-#include "biometricdeviceinfo.h" +-#include "biometricproxy.h" +- +-extern void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed); +- +-enum VerifyType { +- VERIFY_HARDWARE, +- VERIFY_SOFTWARE, +- VERIFY_MIX, +- VERIFY_OTHER +-}; +- +-enum StorageType { +- STORAGE_DEVICE, +- STORAGE_OS, +- STORAGE_MIX +-}; +- +-enum BusType { +- BUS_SERIAL, +- BUS_USB, +- BUS_PCIE, +- BUS_ANY = 100, +- BUS_OTHER +-}; +- +-enum IdentifyType { +- IDENTIFY_HARDWARE, +- IDENTIFY_SOFTWARE, +- IDENTIFY_MIX, +- IDENTIFY_OTHER +-}; +- +-struct SearchResult { +- int uid; +- int index; +- QString indexName; +-}; +- +-BiometricMoreInfoDialog::BiometricMoreInfoDialog( DeviceInfoPtr deviceinfo, QWidget *parent) : +- QDialog(parent), +- deviceInfo(deviceinfo), +- ui(new Ui::BiometricMoreInfoDialog) +-{ +- ui->setupUi(this); +- setupInit(); +- +- QString verifyType = transferVerifyType(deviceInfo->verifyType); +- QString busType = transferBusType(deviceInfo->busType); +- QString storageType = transferStorageType(deviceInfo->storageType); +- QString identifyType = transferIdentifyType(deviceInfo->identifyType); +- QString devStatus = deviceInfo->deviceNum > 0 ? tr("Connected") : tr("Unconnected"); +- +- qDebug()<<verifyType<<busType<<storageType<<identifyType<<devStatus; +- ui->bioBusTypeLbl->setText(busType); +- ui->bioVerifyTypeLbl->setText(verifyType); +- ui->bioStorageTypeLbl->setText(storageType); +- ui->bioIdentificationTypeLbl->setText(identifyType); +- ui->bioDeviceStatusLbll->setText(devStatus); +- +- defaultDeviceBtn = new SwitchButton(ui->biometricDefaultFrame); +- // defaultDeviceBtn->setChecked(false); +- if(getDefaultDevice() == deviceinfo->shortName) +- defaultDeviceBtn->setChecked(true); +- else +- defaultDeviceBtn->setChecked(false); +- +- ui->biometridDefaulltDeviceLayout->addWidget(defaultDeviceBtn); +- connect(defaultDeviceBtn, &SwitchButton::checkedChanged, [=](bool checked){ +- if(checked) +- setDefaultDevice(deviceinfo->shortName); +- else +- setDefaultDevice(""); +- }); +- +- mWatcher = nullptr; +- if(!mWatcher){ +- mWatcher = new QFileSystemWatcher(this); +- mWatcher->addPath(QDir::homePath() + "/" + UKUI_BIOMETRIC_CONFIG_PATH); +- connect(mWatcher,&QFileSystemWatcher::fileChanged,this,[=](const QString &path){ +- mWatcher->addPath(QDir::homePath() + "/" + UKUI_BIOMETRIC_CONFIG_PATH); +- defaultDeviceBtn->blockSignals(true); +- if(getDefaultDevice() == deviceinfo->shortName) +- defaultDeviceBtn->setChecked(true); +- else +- defaultDeviceBtn->setChecked(false); +- defaultDeviceBtn->blockSignals(false); +- }); +- } +-} +- +-BiometricMoreInfoDialog::~BiometricMoreInfoDialog() +-{ +- delete ui; +-} +- +-QString BiometricMoreInfoDialog::transferBioType(int type) +-{ +- switch(type) { +- case BIOTYPE_FINGERPRINT: +- return tr("FingerPrint"); +- case BIOTYPE_FINGERVEIN: +- return tr("Fingervein"); +- case BIOTYPE_IRIS: +- return tr("Iris"); +- case BIOTYPE_FACE: +- return tr("Face"); +- case BIOTYPE_VOICEPRINT: +- return tr("VoicePrint"); +- } +- return QString(); +-} +- +-QString BiometricMoreInfoDialog::transferVerifyType(int type) +-{ +- switch(type) { +- case VERIFY_HARDWARE: +- return tr("Hardware Verification"); +- case VERIFY_SOFTWARE: +- return tr("Software Verification"); +- case VERIFY_MIX: +- return tr("Mix Verification"); +- case VERIFY_OTHER: +- return tr("Other Verification"); +- } +- return QString(); +-} +-QString BiometricMoreInfoDialog::transferStorageType(int type) +-{ +- switch(type) { +- case STORAGE_DEVICE: +- return tr("Device Storage"); +- case STORAGE_OS: +- return tr("OS Storage"); +- case STORAGE_MIX: +- return tr("Mix Storage"); +- } +- return QString(); +-} +-QString BiometricMoreInfoDialog::transferBusType(int type) +-{ +- switch(type) { +- case BUS_SERIAL: +- return tr("Serial"); +- case BUS_USB: +- return tr("USB"); +- case BUS_PCIE: +- return tr("PCIE"); +- case BUS_ANY: +- return tr("Any"); +- case BUS_OTHER: +- return tr("Other"); +- } +- return QString(); +-} +-QString BiometricMoreInfoDialog::transferIdentifyType(int type) +-{ +- switch(type) { +- case VERIFY_HARDWARE: +- return tr("Hardware Identification"); +- case VERIFY_SOFTWARE: +- return tr("Software Identification"); +- case VERIFY_MIX: +- return tr("Mix Identification"); +- case VERIFY_OTHER: +- return tr("Other Identification"); +- } +- return QString(); +-} +- +-void BiometricMoreInfoDialog::on_closeBtn_clicked() +-{ +- close(); +-} +- +-void BiometricMoreInfoDialog::setupInit() +-{ +- setWindowTitle(tr("")); +- setWindowFlags(Qt::FramelessWindowHint | Qt::Tool); +- setAttribute(Qt::WA_TranslucentBackground); +- setAttribute(Qt::WA_DeleteOnClose); +- +- ui->closeBtn->setIcon(QIcon("://img/titlebar/close.svg")); +- +-} +- +-void BiometricMoreInfoDialog::paintEvent(QPaintEvent * event){ +- Q_UNUSED(event) +- +- QPainter p(this); +- p.setRenderHint(QPainter::Antialiasing); +- QPainterPath rectPath; +- rectPath.addRoundedRect(this->rect().adjusted(10, 10, -10, -10), 6, 6); +- +- // 画一个黑底 +- QPixmap pixmap(this->rect().size()); +- pixmap.fill(Qt::transparent); +- QPainter pixmapPainter(&pixmap); +- pixmapPainter.setRenderHint(QPainter::Antialiasing); +- pixmapPainter.setPen(Qt::transparent); +- pixmapPainter.setBrush(Qt::black); +- pixmapPainter.drawPath(rectPath); +- pixmapPainter.end(); +- +- // 模糊这个黑底 +- QImage img = pixmap.toImage(); +- qt_blurImage(img, 10, false, false); +- +- // 挖掉中心 +- pixmap = QPixmap::fromImage(img); +- QPainter pixmapPainter2(&pixmap); +- pixmapPainter2.setRenderHint(QPainter::Antialiasing); +- pixmapPainter2.setCompositionMode(QPainter::CompositionMode_Clear); +- pixmapPainter2.setPen(Qt::transparent); +- pixmapPainter2.setBrush(Qt::transparent); +- pixmapPainter2.drawPath(rectPath); +- +- // 绘制阴影 +- p.drawPixmap(this->rect(), pixmap, pixmap.rect()); +- +- // 绘制一个背景 +- p.save(); +- p.fillPath(rectPath,palette().color(QPalette::Base)); +- p.restore(); +-} +diff --git a/biometric-plugin/biometricmoreinfo.h b/biometric-plugin/biometricmoreinfo.h +deleted file mode 100644 +index 72532cf..0000000 +--- a/biometric-plugin/biometricmoreinfo.h ++++ /dev/null +@@ -1,84 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2020 KYLINOS Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +- +-#ifndef BIOMETRICMOREINFO_H +-#define BIOMETRICMOREINFO_H +- +-#include <QDialog> +-#include <QPainter> +-#include <QPainterPath> +-#include <QListWidget> +-#include <QDebug> +-#include <QPushButton> +-#include <QFileSystemWatcher> +-#include <QMovie> +-#include <QDBusInterface> +-#include <QDBusArgument> +-#include <QDBusReply> +-#include <QMessageBox> +-#include <QCoreApplication> +- +- +-#include <ukcc/widgets/hoverwidget.h> +-#include "biometricdeviceinfo.h" +-#include "biometricproxy.h" +-#include <ukcc/widgets/switchbutton.h> +- +-namespace Ui { +-class BiometricMoreInfoDialog; +-} +- +-class BiometricMoreInfoDialog : public QDialog +-{ +- Q_OBJECT +- +-public: +- explicit BiometricMoreInfoDialog(DeviceInfoPtr deviceinfo, QWidget *parent = nullptr); +- +- ~BiometricMoreInfoDialog(); +- +- +-protected: +- void paintEvent(QPaintEvent * event); +- +- +-private slots: +- void on_closeBtn_clicked(); +- +-private: +- Ui::BiometricMoreInfoDialog *ui; +- +- void setupInit(); +- +- QString transferBioType(int type); +- QString transferVerifyType(int type); +- QString transferStorageType(int type); +- QString transferBusType(int type); +- QString transferIdentifyType(int type); +- +- DeviceInfoPtr deviceInfo; +- SwitchButton *defaultDeviceBtn; +- QFileSystemWatcher *mWatcher; +- +-private slots: +- +-}; +- +-#endif // BIOMETRICENROLL_H +diff --git a/biometric-plugin/biometricmoreinfo.ui b/biometric-plugin/biometricmoreinfo.ui +deleted file mode 100644 +index 92ed518..0000000 +--- a/biometric-plugin/biometricmoreinfo.ui ++++ /dev/null +@@ -1,311 +0,0 @@ +-<?xml version="1.0" encoding="UTF-8"?> +-<ui version="4.0"> +- <class>BiometricMoreInfoDialog</class> +- <widget class="QDialog" name="BiometricMoreInfoDialog"> +- <property name="geometry"> +- <rect> +- <x>0</x> +- <y>0</y> +- <width>350</width> +- <height>300</height> +- </rect> +- </property> +- <property name="minimumSize"> +- <size> +- <width>350</width> +- <height>300</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>350</width> +- <height>300</height> +- </size> +- </property> +- <property name="windowTitle"> +- <string>Dialog</string> +- </property> +- <layout class="QVBoxLayout" name="verticalLayout_2"> +- <property name="spacing"> +- <number>8</number> +- </property> +- <property name="leftMargin"> +- <number>8</number> +- </property> +- <property name="topMargin"> +- <number>8</number> +- </property> +- <property name="rightMargin"> +- <number>8</number> +- </property> +- <property name="bottomMargin"> +- <number>8</number> +- </property> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout"> +- <property name="spacing"> +- <number>8</number> +- </property> +- <property name="leftMargin"> +- <number>8</number> +- </property> +- <property name="topMargin"> +- <number>8</number> +- </property> +- <property name="rightMargin"> +- <number>8</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="TitleLabel" name="titleLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>30</height> +- </size> +- </property> +- <property name="text"> +- <string>Biometrics </string> +- </property> +- <property name="alignment"> +- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> +- </property> +- </widget> +- </item> +- <item> +- <spacer name="horizontalSpacer"> +- <property name="orientation"> +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>40</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- <item> +- <widget class="CloseButton" name="closeBtn"> +- <property name="minimumSize"> +- <size> +- <width>30</width> +- <height>30</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>30</width> +- <height>30</height> +- </size> +- </property> +- <property name="focusPolicy"> +- <enum>Qt::NoFocus</enum> +- </property> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QVBoxLayout" name="verticalLayout"> +- <property name="spacing"> +- <number>8</number> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="QFrame" name="biometricDefaultFrame"> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>50</height> +- </size> +- </property> +- <layout class="QHBoxLayout" name="horizontalLayout_4"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="leftMargin"> +- <number>22</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>22</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <layout class="QHBoxLayout" name="biometridDefaulltDeviceLayout"> +- <item> +- <widget class="TitleLabel" name="label"> +- <property name="text"> +- <string>Default device </string> +- </property> +- </widget> +- </item> +- <item> +- <spacer name="horizontalSpacer_2"> +- <property name="orientation"> +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>40</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- </layout> +- </item> +- </layout> +- </widget> +- </item> +- <item> +- <widget class="QWidget" name="widget" native="true"> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>0</height> +- </size> +- </property> +- <layout class="QVBoxLayout" name="verticalLayout_3"> +- <property name="leftMargin"> +- <number>12</number> +- </property> +- <property name="rightMargin"> +- <number>12</number> +- </property> +- <item> +- <layout class="QGridLayout" name="gridLayout_3"> +- <item row="1" column="0"> +- <widget class="QLabel" name="label_2"> +- <property name="text"> +- <string>Verify Type:</string> +- </property> +- </widget> +- </item> +- <item row="3" column="0"> +- <widget class="QLabel" name="label_7"> +- <property name="text"> +- <string>Bus Type:</string> +- </property> +- </widget> +- </item> +- <item row="0" column="0"> +- <widget class="QLabel" name="label_3"> +- <property name="text"> +- <string>Device Status:</string> +- </property> +- </widget> +- </item> +- <item row="1" column="1"> +- <widget class="QLabel" name="bioVerifyTypeLbl"> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- <item row="0" column="1"> +- <widget class="QLabel" name="bioDeviceStatusLbll"> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- <item row="2" column="0"> +- <widget class="QLabel" name="label_6"> +- <property name="text"> +- <string>Storage Type:</string> +- </property> +- </widget> +- </item> +- <item row="4" column="0"> +- <widget class="QLabel" name="label_8"> +- <property name="text"> +- <string>Identification Type:</string> +- </property> +- </widget> +- </item> +- <item row="2" column="1"> +- <widget class="QLabel" name="bioStorageTypeLbl"> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- <item row="3" column="1"> +- <widget class="QLabel" name="bioBusTypeLbl"> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- <item row="4" column="1"> +- <widget class="QLabel" name="bioIdentificationTypeLbl"> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- </layout> +- </widget> +- </item> +- <item> +- <spacer name="verticalSpacer"> +- <property name="orientation"> +- <enum>Qt::Vertical</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>20</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- </layout> +- </item> +- </layout> +- </widget> +- <customwidgets> +- <customwidget> +- <class>TitleLabel</class> +- <extends>QLabel</extends> +- <header location="global">/usr/include/ukcc/widgets//titlelabel.h</header> +- </customwidget> +- <customwidget> +- <class>CloseButton</class> +- <extends>QPushButton</extends> +- <header location="global">/usr/include/ukcc/widgets/closebutton.h</header> +- </customwidget> +- </customwidgets> +- <resources/> +- <connections/> +-</ui> +diff --git a/biometric-plugin/biometricswidget.cpp b/biometric-plugin/biometricswidget.cpp +index fecc495..226b663 100644 +--- a/biometric-plugin/biometricswidget.cpp ++++ b/biometric-plugin/biometricswidget.cpp +@@ -17,8 +17,6 @@ + #include <QLineEdit> + #include <QMessageBox> + #include <unistd.h> +-#include <ukcc/widgets/switchbutton.h> +-#include <ukcc/widgets/imageutil.h> + #include "namelabel.h" + #include "changefeaturename.h" + #include "elipsemaskwidget.h" +@@ -60,6 +58,7 @@ void BiometricsWidget::initBioComonent() + , QDBusConnection::systemBus()); + serviceInterface->setTimeout(2147483647); /* 微秒 */ + ++ ui->titleLabel->setContentsMargins(16, 0, 0, 0); + + addBioFeatureBtn = new EnrollBtn; + addUserHorLayout = new QHBoxLayout(); +@@ -712,26 +711,6 @@ void BiometricsWidget::showVerifyDialog(FeatureInfoPtr featureinfo) + dialog->verify(deviceInfoPtr->id,getuid(),featureinfo->index); + } + +-void BiometricsWidget::biometricShowMoreInfoDialog() +-{ +- if(ui->biometricDeviceBox_2->count() <= 0 || ui->biometrictypeBox->count() <= 0) +- return ; +- +- int index = ui->biometricDeviceBox_2->currentIndex(); +- int type = ui->biometrictypeBox->currentData().toInt(); +- +- if(index < 0|| type < 0) +- return ; +- +- DeviceInfoPtr deviceInfo = deviceMap.value(type).at(index); +- +- if(!deviceInfo) +- return ; +- +- BiometricMoreInfoDialog * dialog = new BiometricMoreInfoDialog(deviceInfo); +- dialog->exec(); +-} +- + void BiometricsWidget::renameFeaturedone(FeatureInfoPtr featureinfo ,QString newname) + { + QListWidgetItem *item = biometricFeatureMap.value(featureinfo->index_name); +diff --git a/biometric-plugin/biometricswidget.h b/biometric-plugin/biometricswidget.h +index 74ce875..9a02a42 100644 +--- a/biometric-plugin/biometricswidget.h ++++ b/biometric-plugin/biometricswidget.h +@@ -8,7 +8,6 @@ + #include "biometricproxy.h" + #include "biometricenroll.h" + #include "qrcodeenroll.h" +-#include "biometricmoreinfo.h" + #include "pwdchangethread.h" + #include "enrollbtn.h" + #include "kswitchbutton.h" +@@ -73,7 +72,6 @@ private: + void deleteFeaturedone(FeatureInfoPtr feature); + void renameFeaturedone(FeatureInfoPtr feature,QString newname); + void setBiometricDeviceVisible(QString userName, int authType, bool visible); +- void biometricShowMoreInfoDialog(); + bool isShowBiometric(); + void initUserInfo(); + QString _accountTypeIntToString(int type); +diff --git a/biometric-plugin/biometricswidget.ui b/biometric-plugin/biometricswidget.ui +index d7e6d41..c80542e 100644 +--- a/biometric-plugin/biometricswidget.ui ++++ b/biometric-plugin/biometricswidget.ui +@@ -48,7 +48,7 @@ + <number>0</number> + </property> + <item> +- <widget class="TitleLabel" name="titleLabel"> ++ <widget class="QLabel" name="titleLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> +@@ -804,11 +804,6 @@ + <extends>QLabel</extends> + <header>kalabel.h</header> + </customwidget> +- <customwidget> +- <class>TitleLabel</class> +- <extends>QLabel</extends> +- <header location="global">/usr/include/ukcc/widgets/titlelabel.h</header> +- </customwidget> + </customwidgets> + <resources/> + <connections/> +diff --git a/biometric-plugin/changepwddialog.cpp b/biometric-plugin/changepwddialog.cpp +deleted file mode 100644 +index 77c6e58..0000000 +--- a/biometric-plugin/changepwddialog.cpp ++++ /dev/null +@@ -1,405 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#include "changepwddialog.h" +-#include "ui_changepwddialog.h" +- +-#include "elipsemaskwidget.h" +-#include "passwdcheckutil.h" +- +-#include <QStyledItemDelegate> +- +-#include <QDebug> +- +-#include "ukcc/widgets/closebutton.h" +- +-/* qt会将glib里的signals成员识别为宏,所以取消该宏 +- * 后面如果用到signals时,使用Q_SIGNALS代替即可 +- **/ +-#ifdef signals +-#undef signals +-#endif +- +-extern "C" { +-#include <glib.h> +-#include <gio/gio.h> +- +-} +- +- +-#define PWD_LOW_LENGTH 6 +-#define PWD_HIGH_LENGTH 20 +- +- +-extern void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed); +- +- +-ChangePwdDialog::ChangePwdDialog(bool _isCurrentUser, QString _username, QWidget *parent) : +- QDialog(parent), +- isCurrentUser(_isCurrentUser), +- ui(new Ui::ChangePwdDialog), +- currentUserName(_username) +-{ +- ui->setupUi(this); +- +- setWindowFlags(Qt::FramelessWindowHint | Qt::Tool); +- setAttribute(Qt::WA_TranslucentBackground); +- setAttribute(Qt::WA_DeleteOnClose); +- setWindowTitle(tr("Change pwd")); +- +- curPwdTip = ""; +- +- timerForCheckPwd = new QTimer; +- timerForCheckPwd->setInterval(1000); +- timerForCheckPwd->setSingleShot(true); +- +- ui->titleLabel->setStyleSheet("QLabel{color: palette(windowText);}"); +- ui->pwdFrame->setFrameShape(QFrame::Shape::Box); +- ui->tipLabel->setAlignment(Qt::AlignCenter); +- ui->tipLabel->setStyleSheet("color:red;"); +- +-// ui->closeBtn->setIcon(QIcon("://img/titlebar/close.svg")); +- +-// isCurrentUser = true; +- +- pcThread = new PwdCheckThread(); +- +- +- initPwdChecked(); +- setupComponent(); +- setupConnect(); +-} +- +-ChangePwdDialog::~ChangePwdDialog() +-{ +- delete ui; +- ui = nullptr; +- +-// pcThread->terminate(); +-// delete pcThread; +-} +- +-bool ChangePwdDialog::checkOtherPasswd(QString name, QString pwd){ +- FILE * stream; +- char command[128]; +- char output[256]; +- +- QByteArray ba1 = name.toLatin1(); +- +- // +- if (pwd.contains("'")){ +- snprintf(command, 128, "/usr/bin/checkTest %s \"%s\"", ba1.data(), pwd.toLatin1().data()); +- } else { +- +- snprintf(command, 128, "/usr/bin/checkTest %s '%s'", ba1.data(), pwd.toLatin1().data()); +- } +- +- if ((stream = popen(command, "r")) == NULL){ +- return false; +- } +- +- while(fgets(output, 256, stream) != NULL){ +- qDebug() << "output:" << QString(output).simplified(); +- } +- +-// if (fread(output, sizeof(char), 128, stream) > 0){ +-// pclose(stream); +-// return true; +-// } +- +- +- +- pclose(stream); +- return false; +-} +- +-void ChangePwdDialog::initPwdChecked(){ +- +- +- +-#ifdef ENABLEPQ +- int ret; +- void *auxerror; +- char buf[255]; +- +- settings = pwquality_default_settings(); +- if (settings == NULL) { +- enablePwdQuality = false; +- qDebug() << "init pwquality settings failed"; +- } else { +- enablePwdQuality = true; +- } +- +- ret = pwquality_read_config(settings, PWCONF, &auxerror); +- if (ret != 0){ +- enablePwdQuality = false; +- qDebug() << "Reading pwquality configuration file failed: " << pwquality_strerror(buf, sizeof(buf), ret, auxerror); +- } else { +- enablePwdQuality = true; +- } +- +- if (PasswdCheckUtil::getCurrentPamState()) +- enablePwdQuality = true; +- else +- enablePwdQuality = false; +- +-#else +- enablePwdQuality = false; +-#endif +-} +- +-void ChangePwdDialog::setupComponent(){ +- +- ElipseMaskWidget * cpMaskWidget = new ElipseMaskWidget(ui->faceLabel); +- cpMaskWidget->setGeometry(0, 0, ui->faceLabel->width(), ui->faceLabel->height()); +- +- ui->pwdtypeComboBox->setText(tr("General Pwd")); +- +- ui->curPwdLineEdit->setEchoMode(QLineEdit::Password); +- ui->pwdLineEdit->setEchoMode(QLineEdit::Password); +- ui->pwdsureLineEdit->setEchoMode(QLineEdit::Password); +- +- ui->curPwdLineEdit->setPlaceholderText(tr("Current Password")); +- ui->pwdLineEdit->setPlaceholderText(tr("New Password")); +- ui->pwdsureLineEdit->setPlaceholderText(tr("New Password Identify")); +- +- refreshConfirmBtnStatus(); +-} +- +-void ChangePwdDialog::setupConnect(){ +-/* +- connect(pcThread, &PwdCheckThread::complete, this, [=](bool re){ +- curPwdTip = re ? "" : tr("Pwd input error, re-enter!"); +- +- if (pwdTip.isEmpty() && pwdSureTip.isEmpty()){ +- ui->tipLabel->setText(curPwdTip); +- } +- +- if (curPwdTip.isEmpty()){ +- pwdTip.isEmpty() ? ui->tipLabel->setText(pwdSureTip) : ui->tipLabel->setText(pwdTip); +- } +- +- refreshConfirmBtnStatus(); +- }); +-*/ +- if (isCurrentUser){ +- +- connect(timerForCheckPwd, &QTimer::timeout, [=]{ +- /* 密码为空不检测 */ +- if (ui->curPwdLineEdit->text().isEmpty()){ +- return; +- } +- +- pcThread->setArgs(currentUserName, ui->curPwdLineEdit->text()); +- +- pcThread->start(); +- +- }); +- +- connect(ui->curPwdLineEdit, &QLineEdit::textChanged, [=]{ +- pwdLegalityCheck(); +- +- ui->confirmPushBtn->setEnabled(false); +- +- timerForCheckPwd->start(); +- }); +- +- connect(ui->confirmPushBtn, &QPushButton::clicked, [=]{ +- this->accept(); +- +- emit passwd_send(ui->pwdLineEdit->text()); +- }); +- } else { +- connect(ui->confirmPushBtn, &QPushButton::clicked, [=]{ +- this->accept(); +- +- emit passwd_send2(ui->pwdLineEdit->text()); +- }); +- } +- +- +- +- connect(ui->pwdLineEdit, &QLineEdit::textChanged, [=]{ +- pwdLegalityCheck(); +- +- refreshConfirmBtnStatus(); +- }); +- connect(ui->pwdsureLineEdit, &QLineEdit::textChanged, [=](QString text){ +- if (!text.isEmpty() && text != ui->pwdLineEdit->text()){ +- pwdSureTip = tr("Inconsistency with pwd"); +- } else { +- pwdSureTip = ""; +- } +- +- ui->tipLabel->setText(pwdSureTip); +- if (pwdSureTip.isEmpty()){ +- pwdTip.isEmpty() ? ui->tipLabel->setText(curPwdTip) : ui->tipLabel->setText(pwdTip); +- } +- +- refreshConfirmBtnStatus(); +- }); +- +- connect(ui->cancelPushBtn, &QPushButton::clicked, [=]{ +-// reject(); +- close(); +- }); +-} +- +-void ChangePwdDialog::setFace(QString iconfile){ +- ui->faceLabel->setPixmap(QPixmap(iconfile).scaled(QSize(80, 80))); +- +-} +- +-void ChangePwdDialog::setUsername(QString realname){ +- ui->usernameLabel->setText(realname); +-} +- +-void ChangePwdDialog::setAccountType(QString aType){ +- ui->aTypeLabel->setText(aType); +-} +- +-void ChangePwdDialog::haveCurrentPwdEdit(bool have){ +- ui->curPwdLineEdit->setVisible(have); +- ui->label->setVisible(have); +-} +- +-void ChangePwdDialog::paintEvent(QPaintEvent *event) { +- Q_UNUSED(event) +- +- QPainter p(this); +- p.setRenderHint(QPainter::Antialiasing); +- QPainterPath rectPath; +- rectPath.addRoundedRect(this->rect().adjusted(10, 10, -10, -10), 6, 6); +- +- // 画一个黑底 +- QPixmap pixmap(this->rect().size()); +- pixmap.fill(Qt::transparent); +- QPainter pixmapPainter(&pixmap); +- pixmapPainter.setRenderHint(QPainter::Antialiasing); +- pixmapPainter.setPen(Qt::transparent); +- pixmapPainter.setBrush(Qt::black); +- pixmapPainter.setOpacity(0.65); +- pixmapPainter.drawPath(rectPath); +- pixmapPainter.end(); +- +- // 模糊这个黑底 +- QImage img = pixmap.toImage(); +- qt_blurImage(img, 10, false, false); +- +- // 挖掉中心 +- pixmap = QPixmap::fromImage(img); +- QPainter pixmapPainter2(&pixmap); +- pixmapPainter2.setRenderHint(QPainter::Antialiasing); +- pixmapPainter2.setCompositionMode(QPainter::CompositionMode_Clear); +- pixmapPainter2.setPen(Qt::transparent); +- pixmapPainter2.setBrush(Qt::transparent); +- pixmapPainter2.drawPath(rectPath); +- +- // 绘制阴影 +- p.drawPixmap(this->rect(), pixmap, pixmap.rect()); +- +- // 绘制一个背景 +- p.save(); +- p.fillPath(rectPath,palette().color(QPalette::Base)); +- p.restore(); +- +-} +- +-void ChangePwdDialog::pwdLegalityCheck(){ +- // +- if (!checkCharLegitimacy(ui->pwdLineEdit->text())){ +- pwdTip = tr("Contains illegal characters!"); +- } else if (QString::compare(ui->pwdLineEdit->text(), ui->curPwdLineEdit->text()) == 0 && !ui->pwdLineEdit->text().isEmpty()){ +- pwdTip = tr("Same with old pwd"); +- } else { +- if (enablePwdQuality){ +-#ifdef ENABLEPQ +- void * auxerror; +- int ret; +- const char * msg; +- char buf[256]; +- +- QByteArray ba = ui->pwdLineEdit->text().toLatin1(); +- QByteArray ba1 = ui->curPwdLineEdit->text().toLatin1(); +- +- if (isCurrentUser){ +- ret = pwquality_check(settings, ba.data(), ba1.data(), currentUserName.toLatin1().data(), &auxerror); +- } else { +- ret = pwquality_check(settings, ba.data(), NULL, currentUserName.toLatin1().data(), &auxerror); +- } +- +- if (ret < 0 && ui->pwdLineEdit->text().length() > 0){ +- msg = pwquality_strerror(buf, sizeof(buf), ret, auxerror); +- pwdTip = QString(msg); +- } else { +- pwdTip = ""; +- } +-#endif +- +- } else { //系统未开启pwdquality模块 +- pwdTip = ""; +- } +- } +- +- //防止先输入确认密码,再输入密码后pwdsuretipLabel无法刷新 +- if (!ui->pwdsureLineEdit->text().isEmpty()){ +- if (ui->pwdLineEdit->text() == ui->pwdsureLineEdit->text()) { +- pwdSureTip = ""; +- } else { +- pwdSureTip = tr("Inconsistency with pwd"); +- } +- } +- +- ui->tipLabel->setText(pwdTip); +- if (pwdTip.isEmpty()){ +- pwdSureTip.isEmpty() ? ui->tipLabel->setText(curPwdTip) : ui->tipLabel->setText(pwdSureTip); +- } +-} +- +-bool ChangePwdDialog::checkCharLegitimacy(QString password){ +- foreach (QChar ch, password){ +- if (int(ch.toLatin1() <= 0 || int(ch.toLatin1()) > 127)){ +- return false; +- } +- } +- return true; +-} +- +- +-void ChangePwdDialog::refreshConfirmBtnStatus(){ +- +- if (getuid() && isCurrentUser){ +- if (!ui->tipLabel->text().isEmpty() || \ +- ui->curPwdLineEdit->text().isEmpty() || ui->curPwdLineEdit->text() == tr("Current Password") || \ +- ui->pwdLineEdit->text().isEmpty() || ui->pwdLineEdit->text() == tr("New Password") || \ +- ui->pwdsureLineEdit->text().isEmpty() || ui->pwdsureLineEdit->text() == tr("New Password Identify") || +- !curPwdTip.isEmpty() || !pwdTip.isEmpty() || !pwdSureTip.isEmpty()) +- ui->confirmPushBtn->setEnabled(false); +- else +- ui->confirmPushBtn->setEnabled(true); +- } else { +- if (!ui->tipLabel->text().isEmpty() || \ +- ui->pwdLineEdit->text().isEmpty() || ui->pwdLineEdit->text() == tr("New Password") || \ +- ui->pwdsureLineEdit->text().isEmpty() || ui->pwdsureLineEdit->text() == tr("New Password Identify") || +- !pwdTip.isEmpty() || !pwdSureTip.isEmpty()) +- ui->confirmPushBtn->setEnabled(false); +- else +- ui->confirmPushBtn->setEnabled(true); +- } +-} +diff --git a/biometric-plugin/changepwddialog.h b/biometric-plugin/changepwddialog.h +deleted file mode 100644 +index 218c91a..0000000 +--- a/biometric-plugin/changepwddialog.h ++++ /dev/null +@@ -1,107 +0,0 @@ +-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +- * +- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +- * +- */ +-#ifndef CHANGEPWDDIALOG_H +-#define CHANGEPWDDIALOG_H +- +-#include <QDialog> +-#include <QPainter> +-#include <QPainterPath> +-#include <QThread> +- +-#include <QTimer> +- +-#include "pwdcheckthread.h" +- +-#ifdef ENABLEPQ +-extern "C" { +- +-#include <pwquality.h> +- +-} +- +-#define PWCONF "/etc/security/pwquality.conf" +-#define RFLAG 0x1 +-#define CFLAG 0x2 +- +-#endif +- +-namespace Ui { +-class ChangePwdDialog; +-} +- +-class ChangePwdDialog : public QDialog +-{ +- Q_OBJECT +- +-public: +- explicit ChangePwdDialog(bool _isCurrentUser, QString _username, QWidget *parent = 0); +- ~ChangePwdDialog(); +- +-public: +- void initPwdChecked(); +- void setupComponent(); +- void setupConnect(); +- +- void refreshConfirmBtnStatus(); +- +- void setFace(QString iconfile); +- void setUsername(QString realname); +- void setPwdType(QString type); +- void setAccountType(QString text); +- void haveCurrentPwdEdit(bool have); +- +- bool isCurrentUser; +- +-protected: +- void paintEvent(QPaintEvent *); +- +-private: +- Ui::ChangePwdDialog *ui; +- +- bool checkCharLegitimacy(QString password); +- bool checkOtherPasswd(QString name, QString pwd); +- +- QString currentUserName; +- QString pwdTip; +- QString pwdSureTip; +- QString curPwdTip; +- +- bool enablePwdQuality; +- +-#ifdef ENABLEPQ +- pwquality_settings_t *settings; +-#endif +- +-private: +- PwdCheckThread * pcThread; +- +- QTimer * timerForCheckPwd; +- +- +-private Q_SLOTS: +- void pwdLegalityCheck(); +- +-Q_SIGNALS: +- void passwd_send(QString pwd); +- void passwd_send2(QString pwd); +- void pwdCheckOver(); +-}; +- +-#endif // CHANGEPWDDIALOG_H +diff --git a/biometric-plugin/changepwddialog.ui b/biometric-plugin/changepwddialog.ui +deleted file mode 100644 +index b092ad2..0000000 +--- a/biometric-plugin/changepwddialog.ui ++++ /dev/null +@@ -1,665 +0,0 @@ +-<?xml version="1.0" encoding="UTF-8"?> +-<ui version="4.0"> +- <class>ChangePwdDialog</class> +- <widget class="QDialog" name="ChangePwdDialog"> +- <property name="geometry"> +- <rect> +- <x>0</x> +- <y>0</y> +- <width>420</width> +- <height>412</height> +- </rect> +- </property> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>420</width> +- <height>412</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>420</width> +- <height>456</height> +- </size> +- </property> +- <property name="windowTitle"> +- <string notr="true">Change Pwd</string> +- </property> +- <layout class="QVBoxLayout" name="verticalLayout_2"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="QFrame" name="frame"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>420</width> +- <height>412</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>424</width> +- <height>456</height> +- </size> +- </property> +- <property name="frameShape"> +- <enum>QFrame::NoFrame</enum> +- </property> +- <property name="frameShadow"> +- <enum>QFrame::Raised</enum> +- </property> +- <layout class="QVBoxLayout" name="verticalLayout"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="leftMargin"> +- <number>32</number> +- </property> +- <property name="topMargin"> +- <number>32</number> +- </property> +- <property name="rightMargin"> +- <number>32</number> +- </property> +- <property name="bottomMargin"> +- <number>8</number> +- </property> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout_2"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="sizeConstraint"> +- <enum>QLayout::SetDefaultConstraint</enum> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="TitleLabel" name="titleLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>36</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>36</height> +- </size> +- </property> +- <property name="text"> +- <string>Change Pwd</string> +- </property> +- <property name="alignment"> +- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> +- </property> +- </widget> +- </item> +- <item> +- <spacer name="horizontalSpacer_4"> +- <property name="orientation"> +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>401</width> +- <height>33</height> +- </size> +- </property> +- </spacer> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QVBoxLayout" name="verticalLayout_4"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout_4"> +- <property name="spacing"> +- <number>16</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="QLabel" name="faceLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>48</width> +- <height>48</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>48</width> +- <height>48</height> +- </size> +- </property> +- <property name="text"> +- <string/> +- </property> +- <property name="scaledContents"> +- <bool>true</bool> +- </property> +- </widget> +- </item> +- <item> +- <layout class="QVBoxLayout" name="verticalLayout_8"> +- <property name="spacing"> +- <number>3</number> +- </property> +- <item alignment="Qt::AlignBottom"> +- <widget class="QLabel" name="usernameLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- <item alignment="Qt::AlignTop"> +- <widget class="QLabel" name="aTypeLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <spacer name="horizontalSpacer_6"> +- <property name="orientation"> +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>40</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- </layout> +- </item> +- <item> +- <widget class="QWidget" name="widget" native="true"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <layout class="QVBoxLayout" name="verticalLayout_11"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <layout class="QVBoxLayout" name="verticalLayout_10"> +- <property name="spacing"> +- <number>8</number> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <property name="topMargin"> +- <number>32</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout_5"> +- <item> +- <widget class="QLabel" name="label_5"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>104</width> +- <height>0</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>16777215</height> +- </size> +- </property> +- <property name="text"> +- <string>Pwd type</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QFrame" name="pwdFrame"> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>0</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>16777215</height> +- </size> +- </property> +- <property name="frameShape"> +- <enum>QFrame::StyledPanel</enum> +- </property> +- <property name="frameShadow"> +- <enum>QFrame::Raised</enum> +- </property> +- <layout class="QHBoxLayout" name="horizontalLayout_8"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <property name="bottomMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="QLabel" name="pwdtypeComboBox"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text"> +- <string/> +- </property> +- </widget> +- </item> +- </layout> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout_9"> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="QLabel" name="label"> +- <property name="minimumSize"> +- <size> +- <width>104</width> +- <height>0</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>104</width> +- <height>16777215</height> +- </size> +- </property> +- <property name="text"> +- <string>Cur pwd</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLineEdit" name="curPwdLineEdit"> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>36</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>36</height> +- </size> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout_6"> +- <item> +- <widget class="QLabel" name="pwdLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>104</width> +- <height>0</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>104</width> +- <height>16777215</height> +- </size> +- </property> +- <property name="text"> +- <string>New pwd</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLineEdit" name="pwdLineEdit"> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>36</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>36</height> +- </size> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout_7"> +- <item> +- <widget class="QLabel" name="pwdsureLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>104</width> +- <height>0</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>16777215</height> +- </size> +- </property> +- <property name="text"> +- <string>New pwd sure</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLineEdit" name="pwdsureLineEdit"> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>36</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>36</height> +- </size> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout_3"> +- <property name="spacing"> +- <number>0</number> +- </property> +- <property name="leftMargin"> +- <number>0</number> +- </property> +- <item> +- <widget class="QLabel" name="tipLabel"> +- <property name="sizePolicy"> +- <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="minimumSize"> +- <size> +- <width>0</width> +- <height>28</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>16777215</width> +- <height>28</height> +- </size> +- </property> +- <property name="text"> +- <string/> +- </property> +- <property name="alignment"> +- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- </layout> +- </item> +- </layout> +- </widget> +- </item> +- <item> +- <spacer name="verticalSpacer_2"> +- <property name="orientation"> +- <enum>Qt::Vertical</enum> +- </property> +- <property name="sizeType"> +- <enum>QSizePolicy::Expanding</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>20</width> +- <height>24</height> +- </size> +- </property> +- </spacer> +- </item> +- <item> +- <layout class="QHBoxLayout" name="horizontalLayout"> +- <property name="spacing"> +- <number>8</number> +- </property> +- <property name="topMargin"> +- <number>0</number> +- </property> +- <property name="rightMargin"> +- <number>0</number> +- </property> +- <item> +- <spacer name="horizontalSpacer"> +- <property name="orientation"> +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>40</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- <item> +- <widget class="QPushButton" name="cancelPushBtn"> +- <property name="minimumSize"> +- <size> +- <width>120</width> +- <height>36</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>120</width> +- <height>36</height> +- </size> +- </property> +- <property name="text"> +- <string>Cancel</string> +- </property> +- <property name="flat"> +- <bool>false</bool> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QPushButton" name="confirmPushBtn"> +- <property name="minimumSize"> +- <size> +- <width>120</width> +- <height>36</height> +- </size> +- </property> +- <property name="maximumSize"> +- <size> +- <width>120</width> +- <height>36</height> +- </size> +- </property> +- <property name="text"> +- <string>Confirm</string> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- </layout> +- </item> +- <item> +- <spacer name="verticalSpacer_4"> +- <property name="orientation"> +- <enum>Qt::Vertical</enum> +- </property> +- <property name="sizeType"> +- <enum>QSizePolicy::Fixed</enum> +- </property> +- <property name="sizeHint" stdset="0"> +- <size> +- <width>20</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- </layout> +- </widget> +- </item> +- </layout> +- </widget> +- <customwidgets> +- <customwidget> +- <class>TitleLabel</class> +- <extends>QLabel</extends> +- <header location="global">/usr/include/ukcc/widgets//titlelabel.h</header> +- </customwidget> +- </customwidgets> +- <resources/> +- <connections/> +-</ui> +diff --git a/biometric-plugin/qrcodeenroll.cpp b/biometric-plugin/qrcodeenroll.cpp +index 41227fc..8ffc1b6 100644 +--- a/biometric-plugin/qrcodeenroll.cpp ++++ b/biometric-plugin/qrcodeenroll.cpp +@@ -25,7 +25,6 @@ + #include <unistd.h> + #include <opencv2/opencv.hpp> + #include <QDBusAbstractInterface> +-#include "ukcc/widgets/closebutton.h" + #include "biometricdeviceinfo.h" + #include "biometricproxy.h" + #include "servicemanager.h" +diff --git a/biometric-plugin/qrcodeenroll.h b/biometric-plugin/qrcodeenroll.h +index 3e10ffb..25a1cdd 100644 +--- a/biometric-plugin/qrcodeenroll.h ++++ b/biometric-plugin/qrcodeenroll.h +@@ -39,9 +39,6 @@ + #include "kalabel.h" + #include "biometricdeviceinfo.h" + +-#include <ukcc/widgets/hoverwidget.h> +- +- + /** + * @brief UpdateStauts调用返回的结果 + */ diff -Nru ukui-biometric-manager-4.10.0.0/debian/patches/series ukui-biometric-manager-4.10.0.0/debian/patches/series --- ukui-biometric-manager-4.10.0.0/debian/patches/series 2024-08-19 17:44:17.000000000 +0800 +++ ukui-biometric-manager-4.10.0.0/debian/patches/series 2025-01-17 09:47:19.000000000 +0800 @@ -19,3 +19,5 @@ 0019-21-bug-I9IU27.patch 0020-update-biometric-manager-data-biometric-manager.desk.patch 0021-23.patch +0022-Translated-using-Weblate-Mongolian.patch +0023-feat-biometric-plugin-Use-the-controls-in-the-contro.patch