From 771625dae018af75304a0d2a7c942eb2f6e16e0a Mon Sep 17 00:00:00 2001 From: Keshav Bhatt Date: Sat, 27 Aug 2022 21:29:04 +0530 Subject: chore: unlock action button - use unlock action button instead of pushbutton --- src/icons.qrc | 2 ++ src/icons/green_arrow-right-line.png | Bin 0 -> 3035 bytes src/lock.cpp | 34 +++++++++++++++++++--------------- src/lock.h | 5 +++-- src/lock.ui | 15 +-------------- src/main.cpp | 7 ------- 6 files changed, 25 insertions(+), 38 deletions(-) create mode 100644 src/icons/green_arrow-right-line.png diff --git a/src/icons.qrc b/src/icons.qrc index 6c3a11c..29e1a7f 100644 --- a/src/icons.qrc +++ b/src/icons.qrc @@ -396,5 +396,7 @@ icons/minus.png icons/plus.png icons/app/whatsapp-message-32.png + icons/white/green_arrow-right-line.png + icons/green_arrow-right-line.png diff --git a/src/icons/green_arrow-right-line.png b/src/icons/green_arrow-right-line.png new file mode 100644 index 0000000..ec863e6 Binary files /dev/null and b/src/icons/green_arrow-right-line.png differ diff --git a/src/lock.cpp b/src/lock.cpp index 46b38cd..a854a61 100644 --- a/src/lock.cpp +++ b/src/lock.cpp @@ -9,10 +9,26 @@ Lock::Lock(QWidget *parent) : QWidget(parent), ui(new Ui::Lock) { ui->setupUi(this); - ui->unlock->setEnabled(false); ui->setPass->setEnabled(false); ui->wrong->hide(); + passcodeLoginAction = ui->passcodeLogin->addAction( + QIcon(":/icons/green_arrow-right-line.png"), + QLineEdit::TrailingPosition); + passcodeLoginAction->setEnabled(false); + connect(passcodeLoginAction, &QAction::triggered, passcodeLoginAction, + [this]() { + QString password = + QByteArray::fromBase64(settings.value("asdfg").toByteArray()); + if (ui->passcodeLogin->text() == password && check_password_set()) { + isLocked = false; + this->animateOut(); + emit unLocked(); + } else { + ui->wrong->show(); + } + }); + QGraphicsOpacityEffect *eff = new QGraphicsOpacityEffect(this); ui->centerWidget->setGraphicsEffect(eff); @@ -184,24 +200,12 @@ void Lock::on_setPass_clicked() { bool Lock::check_password_set() { return settings.value("asdfg").isValid(); } -void Lock::on_unlock_clicked() { - QString password = - QByteArray::fromBase64(settings.value("asdfg").toByteArray()); - if (ui->passcodeLogin->text() == password && check_password_set()) { - isLocked = false; - animateOut(); - emit unLocked(); - } else { - ui->wrong->show(); - } -} - void Lock::on_passcodeLogin_textChanged(const QString &arg1) { if (arg1.contains(" ")) { ui->passcodeLogin->setText(arg1.simplified()); } ui->wrong->hide(); - ui->unlock->setEnabled(arg1.length() > 3); + passcodeLoginAction->setEnabled(arg1.length() > 3); } void Lock::lock_app() { @@ -215,7 +219,7 @@ void Lock::lock_app() { ui->passcodeLogin->setFocus(); } -void Lock::on_passcodeLogin_returnPressed() { on_unlock_clicked(); } +void Lock::on_passcodeLogin_returnPressed() {passcodeLoginAction->trigger(); } bool Lock::getCapsLockOn() { Display *d = XOpenDisplay((char *)0); diff --git a/src/lock.h b/src/lock.h index 9082593..14a58e2 100644 --- a/src/lock.h +++ b/src/lock.h @@ -1,6 +1,7 @@ #ifndef LOCK_H #define LOCK_H +#include #include #include @@ -21,8 +22,7 @@ private slots: void on_passcode2_textChanged(const QString &arg1); void on_setPass_clicked(); bool check_password_set(); - void on_unlock_clicked(); - void on_passcodeLogin_textChanged(const QString &arg1); + void on_passcodeLogin_textChanged(const QString &arg1); void on_passcodeLogin_returnPressed(); bool getCapsLockOn(); void checkCaps(); @@ -47,6 +47,7 @@ private: Ui::Lock *ui; bool isLocked = true; QSettings settings; + QAction *passcodeLoginAction; }; #endif // LOCK_H diff --git a/src/lock.ui b/src/lock.ui index de4df9a..b4ec96b 100644 --- a/src/lock.ui +++ b/src/lock.ui @@ -594,7 +594,7 @@ border-bottom-left-radius: 4px; - Enter your passcode to get access to app + Enter your passcode to get access Qt::AlignCenter @@ -623,19 +623,6 @@ border-bottom-left-radius: 4px; - - - - - 0 - 30 - - - - Unlock - - - diff --git a/src/main.cpp b/src/main.cpp index 360dc95..84720ef 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,13 +14,6 @@ int main(int argc, char *argv[]) { QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO"; - if (!qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO) && - !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR") && - !qEnvironmentVariableIsSet("QT_SCALE_FACTOR") && - !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) { - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - } #ifdef QT_DEBUG qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--remote-debugging-port=9421"); -- cgit v1.2.3