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 };