diff --git a/debian/changelog b/debian/changelog index 4b757f7..71a42e2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +ukui-screensaver (4.10.0.0-ok34~1031) nile; urgency=medium + + * BUG号:#IB0Q93【wlcom】【快捷键】更新版本后重启进系统无法使用快捷键,重启后正常使用,但是之后进锁屏再解锁,快捷键失效 + * 需求号:无 + * 其他改动说明:无 + * 其他改动影响域:无 + + -- Yang Min Thu, 31 Oct 2024 15:40:56 +0800 + ukui-screensaver (4.10.0.0-ok34~1025) nile; urgency=medium * BUG号:#I8WAN0 锁屏和登录界面的自定义认证登录框位置偏移 diff --git a/src/widgets/authdialog.cpp b/src/widgets/authdialog.cpp index c8862e7..e831004 100644 --- a/src/widgets/authdialog.cpp +++ b/src/widgets/authdialog.cpp @@ -379,7 +379,7 @@ void AuthDialog::initEditWidget() QHBoxLayout *msgBtnLayout = new QHBoxLayout(); msgBtnLayout->setContentsMargins(0, 0, 0, 0); m_messageButton->setStyleSheet( - "QPushButton{text-align:center;background-color: rgba(255,255,255,15%);border: none;border-radius: 4px;outline: none;} \ + "QPushButton{text-align:center;color:white;background-color: rgba(255,255,255,15%);border: none;border-radius: 4px;outline: none;} \ QPushButton::hover{background-color: rgba(255,255,255,40%);} \ QPushButton::pressed {background-color: rgba(255,255,255,30%);}"); m_messageButton->hide(); diff --git a/src/widgets/fullbackgroundwidget.cpp b/src/widgets/fullbackgroundwidget.cpp index 3eb630e..3c313f2 100644 --- a/src/widgets/fullbackgroundwidget.cpp +++ b/src/widgets/fullbackgroundwidget.cpp @@ -142,7 +142,7 @@ void FullBackgroundWidget::initUI() setWindowFlags(Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint); // 登录模式下监听屏幕插拔 - if (isGreeterMode()) { + if (isGreeterMode() && QString(qgetenv("XDG_SESSION_TYPE")) != "wayland") { XRRQueryExtension(QX11Info::display(), &m_RREventBase, &m_RRErrorBase); XRRSelectInput(QX11Info::display(), QX11Info::appRootWindow(), RRScreenChangeNotifyMask); QtConcurrent::run([=]() { RRScreenChangeEvent(true); }); @@ -797,7 +797,7 @@ bool FullBackgroundWidget::nativeEventFilter(const QByteArray &eventType, void * qDebug() << "---------------------XCB_KEY_RELEASE:" << xc->detail; onGlobalKeyRelease(xc->detail); } else if (responseType == m_RREventBase + RRScreenChangeNotify) { - if (isGreeterMode()) { + if (isGreeterMode() && QString(qgetenv("XDG_SESSION_TYPE")) != "wayland") { RRScreenChangeEvent(false); } } diff --git a/src/widgets/iconedit.cpp b/src/widgets/iconedit.cpp index 6f381c5..725885b 100644 --- a/src/widgets/iconedit.cpp +++ b/src/widgets/iconedit.cpp @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include "commonfunc.h" #include "utils.h" @@ -85,7 +87,10 @@ IconEdit::IconEdit(LockDialogModel *model, QWidget *parent) : QWidget(parent), m // }); m_edit->setAttribute(Qt::WA_InputMethodEnabled, false); // 禁用输入法 - m_edit->setContextMenuPolicy(Qt::NoContextMenu); // 禁用右键菜单 + QRegExp inputRegExp("^[A-Za-z0-9`~!@#$%^&*()_-+=<>,.\\/?:;\"'|\{} ]+$"); + QRegExpValidator *inputLimits = new QRegExpValidator(inputRegExp, this); + m_edit->setValidator(inputLimits); + m_edit->setContextMenuPolicy(Qt::NoContextMenu); // 禁用右键菜单 m_edit->installEventFilter(this); m_iconButton->setFocusPolicy(Qt::TabFocus); m_iconButton->installEventFilter(this); diff --git a/src/widgets/loginplugininterface.h b/src/widgets/loginplugininterface.h index 00107e8..51145dc 100644 --- a/src/widgets/loginplugininterface.h +++ b/src/widgets/loginplugininterface.h @@ -39,6 +39,7 @@ public: { MODULETYPE_AUTH, MODULETYPE_TOOL, + MODULETYPE_WINDOW, MODULETYPE_NOTIFY, MODULETYPE_MAX };