Merge branch 'openkylin/nile' of https://gitee.com/openkylin/ukui-screensaver into openkylin/nile

This commit is contained in:
liudun 2024-01-17 15:12:21 +08:00
commit 2f98091ac1
4 changed files with 39 additions and 14 deletions

9
debian/changelog vendored
View File

@ -1,3 +1,12 @@
ukui-screensaver (4.10.0.0-ok12~0105) nile; urgency=medium
* BUG号I8IFED 【需求17430】【登录】拷贝ukui-greeter.conf、ukui-greeter.txt文件后无特别提示页面显示
* 需求号:无
* 其他修改说明Task#190787 子 UKUI&Kylin应用捐赠事宜 / biometric-auth- & screensaver合规性修改
* commit id8df45b4
-- Yang Min <yangmin@kylinos.cn> Fri, 05 Jan 2024 16:57:26 +0800
ukui-screensaver (4.10.0.0-ok11~1228) nile; urgency=medium
* BUG号I8M90N 【X】【锁屏】登录界面与锁屏界面缩放不一致

View File

@ -440,6 +440,7 @@ QString DbusUpperInterface::GetInformation(QString strJson)
case LOCK_CMD_ID_GET_AGREEMENT:
retObj["CmdId"] = cmdId;
retObj["Content"] = GenerateAgreementInfo();
break;
case LOCK_CMD_ID_GSETTINGS_GET_LOCKSCREEN_CONF:
retObj["CmdId"] = cmdId;
GetLockScreenConf(rootObj, retObj);

View File

@ -53,8 +53,9 @@ void AgreementWindow::initUI()
ensureBtn->setFixedSize(240,48);
ensureBtn->setDefault(true);
ensureBtn->setFocusPolicy(Qt::StrongFocus);
ensureBtn->setStyleSheet("#ensureBtn{background-color:rgba(55, 144, 250, 1);border-radius: 6px;}");
ensureBtn->setStyleSheet("QPushButton{text-align:center;background-color:#3790FA;border-radius: 6px;color:white} \
ensureBtn->setProperty("isImportant",true);
//ensureBtn->setStyleSheet("#ensureBtn{background-color:rgba(55, 144, 250, 1);border-radius: 6px;}");
//ensureBtn->setStyleSheet("QPushButton{text-align:center;background-color:#3790FA;border-radius: 6px;color:white} \
QPushButton::hover{background-color:#3489EE;} \
QPushButton::pressed {background-color:#2C73C8;}");
connect(ensureBtn, &QPushButton::clicked, this, &AgreementWindow::switchPage);

View File

@ -100,11 +100,7 @@ void FullBackgroundWidget::initUI()
m_lockWidget->show();
}
/*
*
*/
if(m_modelLockDialog->getAgreementWindowShowLoginPrompt()){
if(m_modelLockDialog->getAgreementWindowShowLoginPrompt() && (/*IsStartupMode() || */(qgetenv("USER") == "lightdm"))){
bool hideTitle = m_modelLockDialog->getAgreementWindowHideTitle();
QString title = m_modelLockDialog->getAgreementWindowPromptTitle();
QString text = m_modelLockDialog->getAgreementWindowText();
@ -115,10 +111,20 @@ void FullBackgroundWidget::initUI()
m_lockWidget->hide();
m_agreementWindow->setGeometry(this->geometry());
m_agreementWindow->show();
m_lockWidget->clearFocus();
m_agreementWindow->setFocusPolicy(Qt::StrongFocus);
setFocusProxy(m_agreementWindow);
m_agreementWindow->setFocus();
//特别提示窗口抓取键盘,避免焦点在密码框上时输入事件跑到密码框,但会导致我已知晓按钮无法响应回车
m_agreementWindow->grabKeyboard();
connect(m_agreementWindow, &AgreementWindow::switchToGreeter, this,
[this]() {
m_agreementWindow->hide();
m_agreementWindow->releaseKeyboard();
m_agreementWindow->clearFocus();
m_lockWidget->show();
m_lockWidget->setFocus();
update();
});
}
@ -272,7 +278,7 @@ void FullBackgroundWidget::onShowLock(bool isStartup)
show();
Q_EMIT m_modelLockDialog->setCurrentUser(m_modelLockDialog->defaultUserName());
Q_EMIT m_modelLockDialog->lockStateChanged(true);
if(m_lockWidget)
if(m_lockWidget && !m_lockWidget->isHidden())
m_lockWidget->show();
}
@ -498,9 +504,13 @@ void FullBackgroundWidget::onCursorMoved(const QPoint &pos)
{
if(screen == qApp->primaryScreen()){
qInfo()<<"LockWidget:"<<screen->geometry()<<m_lockWidget->geometry();
m_lockWidget->hide();
m_lockWidget->setGeometry(screen->geometry());
m_lockWidget->show();
if(!m_lockWidget->isHidden()){
m_lockWidget->hide();
m_lockWidget->setGeometry(screen->geometry());
m_lockWidget->show();
}else{
m_lockWidget->setGeometry(screen->geometry());
}
chkInOneScreen = true;
break;
}
@ -510,9 +520,13 @@ void FullBackgroundWidget::onCursorMoved(const QPoint &pos)
if(!screen){
/*避免切换时闪烁*/
qInfo()<<"LockWidget:"<<screen->geometry()<<m_lockWidget->geometry()<<","<<screen;
m_lockWidget->hide();
m_lockWidget->setGeometry(screen->geometry());
m_lockWidget->show();
if(!m_lockWidget->isHidden()){
m_lockWidget->hide();
m_lockWidget->setGeometry(screen->geometry());
m_lockWidget->show();
}else{
m_lockWidget->setGeometry(screen->geometry());
}
chkInOneScreen = true;
break;
}