diff options
author | 2022-02-28 18:08:28 +0530 | |
---|---|---|
committer | 2022-02-28 18:08:28 +0530 | |
commit | 9867a6b6279229d53fe59854a511c9eea9888427 (patch) | |
tree | cefdf3aa78e35741100a554f0fc25d75c4ef3065 /src/lock.cpp | |
parent | 020ac6daeac226da90bc0c884a9b22a7da9baa99 (diff) | |
download | whatsie-9867a6b6279229d53fe59854a511c9eea9888427.tar.gz whatsie-9867a6b6279229d53fe59854a511c9eea9888427.zip |
build: migrate to qt 5.15
Diffstat (limited to 'src/lock.cpp')
-rw-r--r-- | src/lock.cpp | 350 |
1 files changed, 166 insertions, 184 deletions
diff --git a/src/lock.cpp b/src/lock.cpp index e5c65d1..4eb65d1 100644 --- a/src/lock.cpp +++ b/src/lock.cpp @@ -5,214 +5,196 @@ #ifdef Q_OS_WIN32 #include <Windows.h> #else -#include <X11/XKBlib.h> // sudo apt install libx11-dev +#include <X11/XKBlib.h> // apt install libx11-dev #include <QGraphicsOpacityEffect> #include <QPropertyAnimation> #endif -Lock::Lock(QWidget *parent) : - QWidget(parent), - ui(new Ui::Lock) -{ - ui->setupUi(this); - ui->unlock->setEnabled(false); - ui->setPass->setEnabled(false); - ui->wrong->hide(); +Lock::Lock(QWidget *parent) : QWidget(parent), ui(new Ui::Lock) { + ui->setupUi(this); + ui->unlock->setEnabled(false); + ui->setPass->setEnabled(false); + ui->wrong->hide(); - QGraphicsOpacityEffect *eff = new QGraphicsOpacityEffect(this); - ui->centerWidget->setGraphicsEffect(eff); + QGraphicsOpacityEffect *eff = new QGraphicsOpacityEffect(this); + ui->centerWidget->setGraphicsEffect(eff); - animate(); + animate(); - if(settings.value("asdfg").isValid() == false) - { - isLocked = false; - ui->signup->show(); - ui->login->hide(); - animate(); - ui->passcode1->setFocus(); - }else - { - lock_app(); - } + if (settings.value("asdfg").isValid() == false) { + isLocked = false; + ui->signup->show(); + ui->login->hide(); + animate(); + ui->passcode1->setFocus(); + } else { + lock_app(); + } + checkCaps(); + QString capsStyle = QString("background-color: palette(window);" + "padding:4px;" + "border:0px solid palette(highlight);" + "border-radius: 2px;" + "color:palette(window-text);"); + ui->caps1->setStyleSheet(capsStyle); + ui->caps2->setStyleSheet(capsStyle); + ui->signup_warning->setStyleSheet(capsStyle); + ui->wrong->setStyleSheet(capsStyle); +} + +void Lock::animate() { + ui->centerWidget->hide(); + QPropertyAnimation *a = + new QPropertyAnimation(ui->centerWidget->graphicsEffect(), "opacity"); + a->setDuration(400); + a->setStartValue(0); + a->setEndValue(1); + a->setEasingCurve(QEasingCurve::InCurve); + a->start(QPropertyAnimation::DeleteWhenStopped); + ui->centerWidget->show(); +} + +void Lock::applyThemeQuirks() { + // little quirks + + ui->label_4->setStyleSheet( + "color:#c2c5d1;padding: 0px 8px 0px 8px;background:transparent;"); + ui->label_3->setStyleSheet( + "color:#c2c5d1;padding: 0px 8px 0px 8px;background:transparent;"); + + ui->login->setStyleSheet("QWidget#login{background-color:palette(window);" + "background-image:url(:/icons/wa_bg.png)};"); + ui->signup->setStyleSheet("QWidget#signup{background-color:palette(window);" + "background-image:url(:/icons/wa_bg.png)};"); + + ui->widget_2->setStyleSheet( + "QWidget#widget_2{\nborder-radius: " + "5px;\nbackground-image:url(:/icons/" + "texture.png);\nbackground-color:palette(shadow);\n}"); + ui->widget->setStyleSheet( + "QWidget#widget{\nborder-radius: " + "5px;\nbackground-image:url(:/icons/" + "texture.png);\nbackground-color:palette(shadow);\n}"); + + ui->centerWidget->setStyleSheet( + "QWidget#centerWidget{background-image:url(:/icons/wa_bg.png)}"); + if (settings.value("windowTheme", "light").toString() == "dark") { + + } else { + } +} + +Lock::~Lock() { delete ui; } + +void Lock::checkCaps() { + if (getCapsLockOn()) { + ui->caps1->show(); + ui->caps2->show(); + } else { + ui->caps1->hide(); + ui->caps2->hide(); + } +} + +void Lock::keyReleaseEvent(QKeyEvent *event) { + if (event->key() == Qt::Key_CapsLock) { checkCaps(); - QString capsStyle = QString("background-color: palette(window);" - "padding:4px;" - "border:0px solid palette(highlight);" - "border-radius: 2px;" - "color:palette(window-text);"); - ui->caps1->setStyleSheet(capsStyle); - ui->caps2->setStyleSheet(capsStyle); - ui->signup_warning->setStyleSheet(capsStyle); - ui->wrong->setStyleSheet(capsStyle); - -} - -void Lock::animate() -{ - ui->centerWidget->hide(); - QPropertyAnimation *a = new QPropertyAnimation(ui->centerWidget->graphicsEffect(),"opacity"); - a->setDuration(400); - a->setStartValue(0); - a->setEndValue(1); - a->setEasingCurve(QEasingCurve::InCurve); - a->start(QPropertyAnimation::DeleteWhenStopped); - ui->centerWidget->show(); -} - -void Lock::applyThemeQuirks(){ - //little quirks - - ui->label_4->setStyleSheet("color:#c2c5d1;padding: 0px 8px 0px 8px;background:transparent;"); - ui->label_3->setStyleSheet("color:#c2c5d1;padding: 0px 8px 0px 8px;background:transparent;"); - - ui->login->setStyleSheet("QWidget#login{background-color:palette(window);background-image:url(:/icons/wa_bg.png)};"); - ui->signup->setStyleSheet("QWidget#signup{background-color:palette(window);background-image:url(:/icons/wa_bg.png)};"); - - ui->widget_2->setStyleSheet("QWidget#widget_2{\nborder-radius: 5px;\nbackground-image:url(:/icons/texture.png);\nbackground-color:palette(shadow);\n}"); - ui->widget->setStyleSheet("QWidget#widget{\nborder-radius: 5px;\nbackground-image:url(:/icons/texture.png);\nbackground-color:palette(shadow);\n}"); - - ui->centerWidget->setStyleSheet("QWidget#centerWidget{background-image:url(:/icons/wa_bg.png)}"); - if(settings.value("windowTheme","light").toString() == "dark") - { - - }else{ - - } -} - -Lock::~Lock() -{ - delete ui; -} - -void Lock::checkCaps() -{ - if(getCapsLockOn()){ - ui->caps1->show(); - ui->caps2->show(); - }else{ - ui->caps1->hide(); - ui->caps2->hide(); - } -} - -void Lock::keyReleaseEvent(QKeyEvent *event){ - if(event->key() == Qt::Key_CapsLock){ - checkCaps(); + } +} + +bool Lock::event(QEvent *e) { return QWidget::event(e); } + +void Lock::on_passcode1_textChanged(const QString &arg1) { + if (arg1.contains(" ")) { + ui->passcode1->setText(arg1.simplified()); + } + ui->setPass->setEnabled(arg1.length() > 4 && arg1 == ui->passcode2->text()); +} + +void Lock::on_passcode2_textChanged(const QString &arg1) { + if (arg1.contains(" ")) { + ui->passcode2->setText(arg1.simplified()); + } + ui->setPass->setEnabled(arg1.length() > 4 && arg1 == ui->passcode1->text()); +} + +void Lock::on_setPass_clicked() { + QString pass1, pass2; + pass1 = ui->passcode1->text().trimmed(); + pass2 = ui->passcode2->text().trimmed(); + if (pass1 == pass2) { + settings.setValue("asdfg", QByteArray(pass1.toUtf8()).toBase64()); + settings.setValue("lockscreen", true); + ui->passcode1->clear(); + ui->passcode2->clear(); + emit passwordSet(); + if (check_password_set()) { + ui->signup->hide(); + ui->login->show(); + ui->passcodeLogin->setFocus(); } + } else { + return; + } } -bool Lock::event(QEvent* e) -{ - return QWidget::event(e); -} +bool Lock::check_password_set() { return settings.value("asdfg").isValid(); } -void Lock::on_passcode1_textChanged(const QString &arg1) -{ - if(arg1.contains(" ")){ - ui->passcode1->setText(arg1.simplified()); - } - ui->setPass->setEnabled(arg1.length()>4 && arg1== ui->passcode2->text()); -} - -void Lock::on_passcode2_textChanged(const QString &arg1) -{ - if(arg1.contains(" ")){ - ui->passcode2->setText(arg1.simplified()); - } - ui->setPass->setEnabled(arg1.length()>4 && arg1== ui->passcode1->text()); -} - -void Lock::on_setPass_clicked() -{ - QString pass1,pass2; - pass1 = ui->passcode1->text().trimmed(); - pass2 = ui->passcode2->text().trimmed(); - if(pass1==pass2) - { - settings.setValue("asdfg",QByteArray(pass1.toUtf8()).toBase64()); - settings.setValue("lockscreen",true); - ui->passcode1->clear(); - ui->passcode2->clear(); - emit passwordSet(); - if(check_password_set()){ - ui->signup->hide(); - ui->login->show(); - ui->passcodeLogin->setFocus(); - } - }else { - return; - } -} - -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()) - { - ui->login->hide(); - ui->signup->hide(); - ui->passcodeLogin->clear(); - isLocked = false; - this->hide(); - emit unLocked(); - }else{ - ui->wrong->show(); - } +void Lock::on_unlock_clicked() { + QString password = + QByteArray::fromBase64(settings.value("asdfg").toByteArray()); + if (ui->passcodeLogin->text() == password && check_password_set()) { + ui->login->hide(); + ui->signup->hide(); + ui->passcodeLogin->clear(); + isLocked = false; + this->hide(); + 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()>4); +void Lock::on_passcodeLogin_textChanged(const QString &arg1) { + if (arg1.contains(" ")) { + ui->passcodeLogin->setText(arg1.simplified()); + } + ui->wrong->hide(); + ui->unlock->setEnabled(arg1.length() > 4); } -void Lock::lock_app() -{ - checkCaps(); - ui->wrong->hide(); - ui->signup->hide(); - ui->login->show(); - isLocked = true; - this->show(); - animate(); - ui->passcodeLogin->setFocus(); +void Lock::lock_app() { + checkCaps(); + ui->wrong->hide(); + ui->signup->hide(); + ui->login->show(); + isLocked = true; + this->show(); + animate(); + ui->passcodeLogin->setFocus(); } -void Lock::on_passcodeLogin_returnPressed() -{ - on_unlock_clicked(); -} +void Lock::on_passcodeLogin_returnPressed() { on_unlock_clicked(); } -bool Lock::getCapsLockOn() -{ +bool Lock::getCapsLockOn() { // platform dependent method of determining if CAPS LOCK is on #ifdef Q_OS_WIN32 // MS Windows version - return GetKeyState(VK_CAPITAL) == 1; + return GetKeyState(VK_CAPITAL) == 1; #else // X11 version (Linux/Unix/Mac OS X/etc...) - Display* d = XOpenDisplay((char*)0); - bool caps_state = false; - if (d) { - unsigned n; - XkbGetIndicatorState(d, XkbUseCoreKbd, &n); - caps_state = (n & 0x01) == 1; - } - return caps_state; + Display *d = XOpenDisplay((char *)0); + bool caps_state = false; + if (d) { + unsigned n; + XkbGetIndicatorState(d, XkbUseCoreKbd, &n); + caps_state = (n & 0x01) == 1; + } + return caps_state; #endif } -void Lock::on_cancelSetting_clicked() -{ - isLocked = false; - emit passwordNotSet(); - this->hide(); +void Lock::on_cancelSetting_clicked() { + isLocked = false; + emit passwordNotSet(); + this->hide(); } |