diff --git a/lighter-greeter/lightergreeter.cpp b/lighter-greeter/lightergreeter.cpp index 1c5d5e2a5..07836aa91 100644 --- a/lighter-greeter/lightergreeter.cpp +++ b/lighter-greeter/lightergreeter.cpp @@ -75,6 +75,7 @@ void LighterGreeter::initUI() m_loginFrame->setMaximumSize(1152, 300); m_userCbx->setMinimumWidth(300); + m_userCbx->setObjectName("UserCbx"); m_passwordEdit->setMinimumWidth(300); m_passwordEdit->setContextMenuPolicy(Qt::NoContextMenu); m_passwordEdit->setSecureInputEnabled(true); @@ -83,8 +84,10 @@ void LighterGreeter::initUI() m_passwordEdit->setEchoMode(QLineEdit::Password); m_passwordEdit->setFocusPolicy(Qt::StrongFocus); m_passwordEdit->lineEdit()->setValidator(new QRegExpValidator(QRegExp("^[ -~]+$"))); + m_passwordEdit->setObjectName("PasswordEdit"); m_loginBtn->setIcon(DStyle::SP_LockElement); + m_loginBtn->setObjectName("LoginBtn"); auto lockPalette = m_loginBtn->palette(); QColor color = lockPalette.color(QPalette::Active, QPalette::Highlight); @@ -95,6 +98,7 @@ void LighterGreeter::initUI() m_avatar->setFocusPolicy(Qt::NoFocus); m_avatar->setIcon("/var/lib/AccountsService/icons/guest.png"); m_avatar->setAvatarSize(AVATAR_ICON_SIZE); + m_avatar->setObjectName("Avatar"); layout->addStretch(); layout->addWidget(m_loginFrame, 0, Qt::AlignCenter); @@ -123,6 +127,7 @@ void LighterGreeter::initUI() hLayout->setContentsMargins(SPACING, SPACING, SPACING, SPACING); hLayout->addWidget(m_sessionCbx, 0, Qt::AlignCenter); hLayout->addWidget(m_switchGreeter, 0, Qt::AlignCenter); + m_switchGreeter->setObjectName("SwitchGreeter"); controlFrame->setMaskColor(DBlurEffectWidget::LightColor); controlFrame->setMaskAlpha(70); @@ -150,6 +155,7 @@ void LighterGreeter::initUI() } m_sessionCbx->setVisible(m_sessionCbx->count() > 1); + m_sessionCbx->setObjectName("SessionCbx"); m_loginFrame->installEventFilter(this); installEventFilter(this); diff --git a/plugins/examples/login-plugins/login-basic/login_module.cpp b/plugins/examples/login-plugins/login-basic/login_module.cpp index 72fb39f66..8073777ee 100644 --- a/plugins/examples/login-plugins/login-basic/login_module.cpp +++ b/plugins/examples/login-plugins/login-basic/login_module.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -63,6 +63,7 @@ void LoginModule::initUI() m_loginWidget->setLayout(new QHBoxLayout); QPushButton *passButton = new QPushButton("Validation passed", m_loginWidget); passButton->setFixedSize(160, 40); + passButton->setObjectName("PassButton"); m_loginWidget->layout()->addWidget(passButton); connect(passButton, &QPushButton::clicked, this, [this] { diff --git a/plugins/examples/login-plugins/login-complex/login-widget.cpp b/plugins/examples/login-plugins/login-complex/login-widget.cpp index 1c4af5d71..c1bc87bae 100644 --- a/plugins/examples/login-plugins/login-complex/login-widget.cpp +++ b/plugins/examples/login-plugins/login-complex/login-widget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -27,6 +27,7 @@ void LoginWidget::init() userNameLabel->setFixedHeight(35); QLineEdit *userNameEdit = new QLineEdit(this); userNameEdit->setFixedHeight(35); + userNameEdit->setObjectName("UserNameEdit"); QHBoxLayout *userNameLayout = new QHBoxLayout(); userNameLayout->addWidget(userNameLabel, 3, Qt::AlignRight); userNameLayout->addSpacing(15); @@ -37,6 +38,7 @@ void LoginWidget::init() tokenLabel->setFixedHeight(35); QLineEdit *tokenEdit = new QLineEdit(this); tokenEdit->setFixedHeight(35); + tokenEdit->setObjectName("TokenEdit"); QHBoxLayout *tokenLayout = new QHBoxLayout(); tokenLayout->addWidget(tokenLabel, 3, Qt::AlignRight); tokenLayout->addSpacing(15); @@ -54,6 +56,7 @@ void LoginWidget::init() sendButton->setFixedSize(120, 35); sendButton->setEnabled(false); sendButton->setDefault(true); + sendButton->setObjectName("SendButton"); QVBoxLayout* layout = new QVBoxLayout(this); setLayout(layout); diff --git a/plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp b/plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp index 976de61d2..ce66d0c1d 100644 --- a/plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp +++ b/plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -32,6 +32,7 @@ void FullManagedLoginWidget::initUI() m_userNameLabel->setFixedHeight(35); m_userNameEdit = new QLineEdit(this); + m_userNameEdit->setObjectName("UserNameEdit"); m_userNameEdit->setFixedHeight(35); QHBoxLayout *m_userNameLayout = new QHBoxLayout(); @@ -44,6 +45,7 @@ void FullManagedLoginWidget::initUI() m_tokenLabel->setFixedHeight(35); m_tokenEdit = new QLineEdit(this); + m_tokenEdit->setObjectName("TokenEdit"); m_tokenEdit->setFixedHeight(35); QHBoxLayout *tokenLayout = new QHBoxLayout(); @@ -63,8 +65,10 @@ void FullManagedLoginWidget::initUI() m_sendButton->setFixedSize(120, 35); m_sendButton->setEnabled(false); m_sendButton->setDefault(true); + m_sendButton->setObjectName("SendButton"); m_disMissButton = new QPushButton("deactive", this); + m_disMissButton->setObjectName("DisMissButton"); m_disMissButton->setFixedSize(120, 35); m_disMissButton->setEnabled(true); m_disMissButton->setDefault(true); diff --git a/plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp b/plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp index 7cf79e238..277f19187 100644 --- a/plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp +++ b/plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/plugins/login-gesture/resetDialog/gesturedialog.cpp b/plugins/login-gesture/resetDialog/gesturedialog.cpp index af5258354..c5c380216 100644 --- a/plugins/login-gesture/resetDialog/gesturedialog.cpp +++ b/plugins/login-gesture/resetDialog/gesturedialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2024 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -92,6 +92,7 @@ QWidget* GestureDialog::createCancelButton() QHBoxLayout *layout = new QHBoxLayout(cancelWidget); layout->setContentsMargins(10, 0, 10, 10); m_confirmButton = new QPushButton(TranslastionDoc::instance()->getDoc(DocIndex::Cancel), cancelWidget); + m_confirmButton->setObjectName("ConfirmButton"); m_confirmButton->setAttribute(Qt::WA_NoMousePropagation); layout->addWidget(m_confirmButton); diff --git a/plugins/login-gesture/src/modulewidget.cpp b/plugins/login-gesture/src/modulewidget.cpp index 24a186ec6..b5e8706bc 100644 --- a/plugins/login-gesture/src/modulewidget.cpp +++ b/plugins/login-gesture/src/modulewidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2024 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -53,6 +53,7 @@ void ModuleWidget::init() m_tip->setFixedHeight(26); m_startEnrollBtn = new DPushButton; m_startEnrollBtn->setFixedSize(200, 54); + m_startEnrollBtn->setObjectName("StartEnrollBtn"); m_title->setVisible(false); m_tip->setVisible(false); diff --git a/src/session-widgets/auth_passkey.cpp b/src/session-widgets/auth_passkey.cpp index d262df135..4f8cff007 100644 --- a/src/session-widgets/auth_passkey.cpp +++ b/src/session-widgets/auth_passkey.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -37,7 +37,6 @@ void AuthPasskey::initUI() /* 文案提示 */ m_textLabel->setText(tr("Please plug in the security key")); - m_textLabel->setWordWrap(true); /* 旋转提示和文案提示布局 */ #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) diff --git a/src/session-widgets/auth_password.cpp b/src/session-widgets/auth_password.cpp index 000fec548..1da980893 100644 --- a/src/session-widgets/auth_password.cpp +++ b/src/session-widgets/auth_password.cpp @@ -103,6 +103,7 @@ void AuthPassword::initUI() m_lineEdit->lineEdit()->setValidator(new QRegExpValidator(QRegExp("^[ -~]+$"))); #endif DFontSizeManager::instance()->bind(m_lineEdit, DFontSizeManager::T6); + m_lineEdit->setObjectName("LineEdit"); setLineEditInfo(tr("Password"), PlaceHolderText); @@ -125,6 +126,7 @@ void AuthPassword::initUI() /*显示密码*/ m_passwordShowBtn->setAccessibleName(QStringLiteral("PasswordShow")); + m_passwordShowBtn->setObjectName("PasswordShow"); m_passwordShowBtn->setContentsMargins(0, 0, 0, 0); m_passwordShowBtn->setFocusPolicy(Qt::NoFocus); m_passwordShowBtn->setCursor(Qt::ArrowCursor); @@ -136,6 +138,7 @@ void AuthPassword::initUI() /* 密码提示 */ m_passwordHintBtn->setAccessibleName(QStringLiteral("PasswordHint")); + m_passwordHintBtn->setObjectName("PasswordHint"); m_passwordHintBtn->setContentsMargins(0, 0, 0, 0); m_passwordHintBtn->setFocusPolicy(Qt::NoFocus); m_passwordHintBtn->setCursor(Qt::ArrowCursor); @@ -734,9 +737,13 @@ void AuthPassword::showResetPasswordMessage() iconButton->installEventFilter(this); m_iconButton = iconButton; } + if (m_iconButton) { + m_iconButton->setObjectName("IconButton"); + } m_resetPasswordFloatingMessage->setIcon(QIcon("://misc/images/dss_warning.svg")); DSuggestButton *suggestButton = new DSuggestButton(tr("Reset Password")); suggestButton->setAutoDefault(true); + suggestButton->setObjectName("SuggestButton"); m_resetPasswordFloatingMessage->setWidget(suggestButton); m_resetPasswordFloatingMessage->setMessage(tr("Forgot password?")); connect(suggestButton, &QPushButton::clicked, this, [this] { diff --git a/src/session-widgets/auth_single.cpp b/src/session-widgets/auth_single.cpp index 02f064560..284a2fff5 100644 --- a/src/session-widgets/auth_single.cpp +++ b/src/session-widgets/auth_single.cpp @@ -61,6 +61,7 @@ void AuthSingle::initUI() m_lineEdit->setContextMenuPolicy(Qt::NoContextMenu); m_lineEdit->setFocusPolicy(Qt::StrongFocus); m_lineEdit->lineEdit()->setAlignment(Qt::AlignCenter); + m_lineEdit->setObjectName("LineEdit_2"); #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) m_lineEdit->lineEdit()->setValidator(new QRegularExpressionValidator(QRegularExpression("^[ -~]+$"))); #else @@ -72,6 +73,7 @@ void AuthSingle::initUI() passwordLayout->setSpacing(0); /* 键盘布局按钮 */ m_keyboardBtn->setAccessibleName(QStringLiteral("KeyboardButton")); + m_keyboardBtn->setObjectName("KeyboardButton"); m_keyboardBtn->setContentsMargins(0, 0, 0, 0); m_keyboardBtn->setFocusPolicy(Qt::NoFocus); m_keyboardBtn->setCursor(Qt::ArrowCursor); @@ -87,6 +89,7 @@ void AuthSingle::initUI() passwordLayout->addWidget(m_capsLock, 0, Qt::AlignRight | Qt::AlignVCenter); /* 密码提示 */ m_passwordHintBtn->setAccessibleName(QStringLiteral("PasswordHintButton")); + m_passwordHintBtn->setObjectName("PasswordHintButton"); m_passwordHintBtn->setContentsMargins(0, 0, 0, 0); m_passwordHintBtn->setFocusPolicy(Qt::NoFocus); m_passwordHintBtn->setCursor(Qt::ArrowCursor); @@ -478,9 +481,13 @@ void AuthSingle::showResetPasswordMessage() iconButton->installEventFilter(this); m_iconButton = iconButton; } + if (m_iconButton) { + m_iconButton->setObjectName("IconButton_2"); + } m_resetPasswordFloatingMessage->setIcon(QIcon("://misc/images/dss_warning.svg")); DSuggestButton *suggestButton = new DSuggestButton(tr("Reset Password")); suggestButton->setAutoDefault(true); + suggestButton->setObjectName("SuggestButton_2"); m_resetPasswordFloatingMessage->setWidget(suggestButton); m_resetPasswordFloatingMessage->setMessage(tr("Forgot password?")); connect(suggestButton, &QPushButton::clicked, this, [this]{ diff --git a/src/session-widgets/auth_ukey.cpp b/src/session-widgets/auth_ukey.cpp index 2f86e7ba4..dbbe1deaa 100644 --- a/src/session-widgets/auth_ukey.cpp +++ b/src/session-widgets/auth_ukey.cpp @@ -42,6 +42,7 @@ void AuthUKey::initUI() m_lineEdit->setContextMenuPolicy(Qt::NoContextMenu); m_lineEdit->setFocusPolicy(Qt::StrongFocus); m_lineEdit->lineEdit()->setAlignment(Qt::AlignCenter); + m_lineEdit->setObjectName("LineEdit_3"); setLineEditInfo(tr("Enter your PIN"), PlaceHolderText); QHBoxLayout *UKeyLayout = new QHBoxLayout(m_lineEdit->lineEdit()); diff --git a/src/session-widgets/auth_widget.cpp b/src/session-widgets/auth_widget.cpp index b2679f53d..e717cf2a4 100644 --- a/src/session-widgets/auth_widget.cpp +++ b/src/session-widgets/auth_widget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -74,6 +74,7 @@ void AuthWidget::initUI() m_userAvatar->setFocusPolicy(Qt::NoFocus); m_userAvatar->setIcon(m_user->avatar()); m_userAvatar->setAvatarSize(UserAvatar::AvatarLargeSize); + m_userAvatar->setObjectName("UserAvatar"); /* 用户名输入框 */ m_accountEdit = new DLineEditEx(this); m_accountEdit->setContextMenuPolicy(Qt::NoContextMenu); @@ -81,6 +82,7 @@ void AuthWidget::initUI() m_accountEdit->setClearButtonEnabled(false); m_accountEdit->setPlaceholderText(tr("Account")); m_accountEdit->setEnableTableKeyEvent(true); + m_accountEdit->setObjectName("AccountEdit"); // 账户名有效字符使用dsg配置 const QString accountExpression = DConfigHelper::instance()->getConfig("accountExpression", "[a-zA-Z0-9-_@]+$").toString(); @@ -107,6 +109,7 @@ void AuthWidget::initUI() m_lockButton->setIcon(DStyle::SP_ArrowNext); } m_lockButton->setAccessibleName("LockButton"); + m_lockButton->setObjectName("LockButton"); /* 模糊背景 */ m_blurEffectWidget->setMaskColor(DBlurEffectWidget::LightColor); m_blurEffectWidget->setMaskAlpha(BlurTransparency); diff --git a/src/session-widgets/sfa_widget.cpp b/src/session-widgets/sfa_widget.cpp index 067d1391b..71bf7f139 100644 --- a/src/session-widgets/sfa_widget.cpp +++ b/src/session-widgets/sfa_widget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -68,6 +68,7 @@ void SFAWidget::initUI() /* 重试按钮 */ m_retryButton->setIcon(QIcon(":/img/bottom_actions/reboot.svg")); m_retryButton->hide(); + m_retryButton->setObjectName("RetryButton"); m_mainLayout->setContentsMargins(10, 0, 10, 0); m_mainLayout->setSpacing(0); @@ -407,6 +408,7 @@ void SFAWidget::initSingleAuth() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("PamAuthBtn"); m_authButtons.insert(AT_PAM, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { @@ -519,6 +521,7 @@ void SFAWidget::initPasswdAuth() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("PasswordAuthBtn"); m_authButtons.insert(AT_Password, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { @@ -568,6 +571,7 @@ void SFAWidget::initFingerprintAuth() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("FingerprintAuthBtn"); m_authButtons.insert(AT_Fingerprint, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { @@ -616,6 +620,7 @@ void SFAWidget::initPasskeyAuth() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("PasskeyAuthBtn"); m_authButtons.insert(AT_Passkey, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { @@ -672,6 +677,7 @@ void SFAWidget::initUKeyAuth() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("UkeyAuthBtn"); m_authButtons.insert(AT_Ukey, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { @@ -733,6 +739,7 @@ void SFAWidget::initFaceAuth() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("FaceAuthBtn"); m_authButtons.insert(AT_Face, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { @@ -799,6 +806,7 @@ void SFAWidget::initIrisAuth() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("IrisAuthBtn"); m_authButtons.insert(AT_Iris, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { @@ -1262,6 +1270,7 @@ void SFAWidget::initAccount() btn->setIconSize(AuthButtonIconSize); btn->setFixedSize(AuthButtonSize); btn->setFocusPolicy(Qt::NoFocus); + btn->setObjectName("AccountAuthBtn"); m_authButtons.insert(AT_None, btn); connect(btn, &ButtonBoxButton::toggled, this, [this](const bool checked) { if (checked) { diff --git a/src/session-widgets/user_widget.cpp b/src/session-widgets/user_widget.cpp index 76ea8c2d7..58118a458 100644 --- a/src/session-widgets/user_widget.cpp +++ b/src/session-widgets/user_widget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -44,6 +44,7 @@ void UserWidget::initUI() m_avatar->setFocusPolicy(Qt::NoFocus); m_avatar->setIcon(m_user->avatar()); m_avatar->setAvatarSize(UserAvatar::AvatarSmallSize); + m_avatar->setObjectName("Avatar_2"); /* 用户全名 */ m_displayNameWidget->setAccessibleName(QStringLiteral("NameWidget")); diff --git a/src/session-widgets/userpanel.cpp b/src/session-widgets/userpanel.cpp index a50b64268..9bab0f656 100644 --- a/src/session-widgets/userpanel.cpp +++ b/src/session-widgets/userpanel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -38,6 +38,7 @@ void UserPanel::initUI() m_typeLabel->setElideMode(Qt::ElideRight); m_avatar->setAvatarSize(UserAvatarSize); + m_avatar->setObjectName("Avatar_3"); m_mainLayout->setSpacing(12); m_mainLayout->setContentsMargins(10, 10, 10, 10); QWidget *rightWidget = new QWidget; diff --git a/src/widgets/controlwidget.cpp b/src/widgets/controlwidget.cpp index 8253d725b..3d7b3e659 100644 --- a/src/widgets/controlwidget.cpp +++ b/src/widgets/controlwidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2011 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2011 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -130,6 +130,7 @@ void ControlWidget::initKeyboardLayoutList() const QString language = m_curUser->keyboardLayout(); m_kbLayoutListView = new KBLayoutListView(language, this); m_kbLayoutListView->setAccessibleName(QStringLiteral("KbLayoutlistview")); + m_kbLayoutListView->setObjectName(QStringLiteral("KbLayoutlistview")); m_kbLayoutListView->initData(m_curUser->keyboardLayoutList()); m_kbLayoutListView->setMinimumWidth(DDESESSIONCC::KEYBOARD_LAYOUT_WIDTH); m_kbLayoutListView->setMaximumSize(DDESESSIONCC::KEYBOARD_LAYOUT_WIDTH, DDESESSIONCC::LAYOUT_BUTTON_HEIGHT * 7); @@ -179,9 +180,11 @@ void ControlWidget::initUI() m_sessionBtn->setAutoExclusive(true); m_sessionBtn->setBackgroundRole(DPalette::Button); m_sessionBtn->hide(); + m_sessionBtn->setObjectName("SessionBtn"); m_keyboardBtn = new FloatingButton(this); m_keyboardBtn->setAccessibleName("KeyboardLayoutBtn"); + m_keyboardBtn->setObjectName("KeyboardLayoutBtn"); m_keyboardBtn->setFixedSize(BUTTON_SIZE); m_keyboardBtn->setAutoExclusive(true); m_keyboardBtn->setBackgroundRole(DPalette::Button); @@ -198,6 +201,7 @@ void ControlWidget::initUI() m_virtualKBBtn = new FloatingButton(this); m_virtualKBBtn->setAccessibleName("VirtualKeyboardBtn"); + m_virtualKBBtn->setObjectName("VirtualKeyboardBtn"); m_virtualKBBtn->setIcon(QIcon::fromTheme(":/img/screen_keyboard_hover.svg")); m_virtualKBBtn->hide(); m_virtualKBBtn->setIconSize(BUTTON_ICON_SIZE); @@ -208,6 +212,7 @@ void ControlWidget::initUI() m_switchUserBtn = new FloatingButton(this); m_switchUserBtn->setAccessibleName("SwitchUserBtn"); + m_switchUserBtn->setObjectName("SwitchUserBtn"); m_switchUserBtn->setIcon(QIcon::fromTheme(":/img/bottom_actions/userswitch_hover.svg")); m_switchUserBtn->setIconSize(BUTTON_ICON_SIZE); m_switchUserBtn->setFixedSize(BUTTON_SIZE); @@ -217,6 +222,7 @@ void ControlWidget::initUI() m_powerBtn = new FloatingButton(this); m_powerBtn->setAccessibleName("PowerBtn"); + m_powerBtn->setObjectName("PowerBtn"); m_powerBtn->setIcon(QIcon(":/img/bottom_actions/shutdown_hover.svg")); m_powerBtn->setIconSize(BUTTON_ICON_SIZE); m_powerBtn->setFixedSize(BUTTON_SIZE); @@ -310,6 +316,7 @@ void ControlWidget::addModule(TrayPlugin *trayModule) button->setFixedSize(QSize(52, 52)); button->setAutoExclusive(true); button->setBackgroundRole(DPalette::Button); + button->setObjectName("TrayModuleBtn_" + trayModule->key()); QWidget *trayWidget = trayModule->itemWidget(); if (trayWidget) { @@ -359,6 +366,7 @@ void ControlWidget::addModule(TrayPlugin *trayModule) action->setData(itemObj.value("itemId").toString()); action->setEnabled(itemObj.value("isActive").toBool()); m_contextMenu->addAction(action); + m_contextMenu->setObjectName("ContextMenu"); } m_doGrabKeyboard = true; QAction *action = m_contextMenu->exec(QCursor::pos()); diff --git a/src/widgets/multiuserswarningview.cpp b/src/widgets/multiuserswarningview.cpp index 9a4926008..14324d651 100644 --- a/src/widgets/multiuserswarningview.cpp +++ b/src/widgets/multiuserswarningview.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2011 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2011 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -43,6 +43,7 @@ MultiUsersWarningView::MultiUsersWarningView(SessionBaseModel::PowerAction inhib m_userList->setGridSize(UserListItemSize); m_userList->setFocusPolicy(Qt::NoFocus); m_userList->setStyleSheet("background-color:transparent;"); + m_userList->setObjectName("UserList"); DFontSizeManager::instance()->bind(m_warningTip, DFontSizeManager::T5); m_warningTip->setFixedWidth(300); diff --git a/src/widgets/passworderrortipswidget.cpp b/src/widgets/passworderrortipswidget.cpp index 4469bd1de..856b05b82 100644 --- a/src/widgets/passworderrortipswidget.cpp +++ b/src/widgets/passworderrortipswidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2015 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2015 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -58,6 +58,7 @@ void PasswordErrorTipsWidget::initUi() mainLay->addWidget(m_tipsWidget, 0, Qt::AlignmentFlag::AlignTop | Qt::AlignmentFlag::AlignLeft); m_detailTextEdit->hide(); + m_detailTextEdit->setObjectName("DetailTextEdit"); QFont detailFont; detailFont.setFamily("Noto Sans CJK SC-Thin"); detailFont.setWeight(QFont::ExtraLight); diff --git a/src/widgets/userbutton.cpp b/src/widgets/userbutton.cpp index c1bf8e443..76ba81727 100644 --- a/src/widgets/userbutton.cpp +++ b/src/widgets/userbutton.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2015 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2015 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -50,6 +50,7 @@ void UserButton::initUI() m_userAvatar = new UserAvatar; m_userAvatar->setAvatarSize(AvatarLargeSize); m_userAvatar->setFixedSize(120, 120); + m_userAvatar->setObjectName("UserAvatar_2"); m_userNameLabel = new QLabel; diff --git a/tests/at/spi/expected_names.yaml b/tests/at/spi/expected_names.yaml new file mode 100644 index 000000000..dfbbccadb --- /dev/null +++ b/tests/at/spi/expected_names.yaml @@ -0,0 +1,452 @@ +# SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd. +# +# SPDX-License-Identifier: GPL-3.0-or-later + +version: '1.0' +widgets: +- variable: m_avatar + type: UserAvatar * + object_name: Avatar + source_file: lighter-greeter/lightergreeter.cpp + class_name: LighterGreeter + line: 63 +- variable: m_userCbx + type: QComboBox * + object_name: UserCbx + source_file: lighter-greeter/lightergreeter.cpp + class_name: LighterGreeter + line: 64 +- variable: m_passwordEdit + type: DLineEditEx * + object_name: PasswordEdit + source_file: lighter-greeter/lightergreeter.cpp + class_name: LighterGreeter + line: 65 +- variable: m_sessionCbx + type: QComboBox * + object_name: SessionCbx + source_file: lighter-greeter/lightergreeter.cpp + class_name: LighterGreeter + line: 66 +- variable: m_loginBtn + type: TransparentButton * + object_name: LoginBtn + source_file: lighter-greeter/lightergreeter.cpp + class_name: LighterGreeter + line: 67 +- variable: m_switchGreeter + type: QPushButton * + object_name: SwitchGreeter + source_file: lighter-greeter/lightergreeter.cpp + class_name: LighterGreeter + line: 68 +- variable: passButton + type: QPushButton * + object_name: PassButton + source_file: plugins/examples/login-plugins/login-basic/login_module.cpp + class_name: LoginModule + line: 64 +- variable: userNameEdit + type: QLineEdit * + object_name: UserNameEdit + source_file: plugins/examples/login-plugins/login-complex/login-widget.cpp + class_name: LoginWidget + line: 28 +- variable: tokenEdit + type: QLineEdit * + object_name: TokenEdit + source_file: plugins/examples/login-plugins/login-complex/login-widget.cpp + class_name: LoginWidget + line: 38 +- variable: sendButton + type: QPushButton * + object_name: SendButton + source_file: plugins/examples/login-plugins/login-complex/login-widget.cpp + class_name: LoginWidget + line: 53 +- variable: m_userNameEdit + type: QLineEdit * + object_name: UserNameEdit + source_file: plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp + class_name: FullManagedLoginWidget + line: 40 +- variable: m_tokenEdit + type: QLineEdit * + object_name: TokenEdit + source_file: plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp + class_name: FullManagedLoginWidget + line: 42 +- variable: m_sendButton + type: QPushButton * + object_name: SendButton + source_file: plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp + class_name: FullManagedLoginWidget + line: 43 +- variable: m_disMissButton + type: QPushButton * + object_name: DisMissButton + source_file: plugins/examples/login-plugins/login-fullManaged/full_managed_login_widget.cpp + class_name: FullManagedLoginWidget + line: 44 +- variable: m_phoneEdit + type: QLineEdit * + object_name: phoneEdit + source_file: plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp + class_name: UdcpMFALoginWidget + line: 31 +- variable: m_sendButton + type: QPushButton * + object_name: sendButton + source_file: plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp + class_name: UdcpMFALoginWidget + line: 32 +- variable: m_codeEdit + type: QLineEdit * + object_name: codeEdit + source_file: plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp + class_name: UdcpMFALoginWidget + line: 33 +- variable: m_verifyButton + type: QPushButton * + object_name: verifyButton + source_file: plugins/examples/login-plugins/login-udcp/udcp_mfa_login_widget.cpp + class_name: UdcpMFALoginWidget + line: 34 +- variable: m_confirmButton + type: QPushButton * + object_name: ConfirmButton + source_file: plugins/login-gesture/resetDialog/gesturedialog.cpp + class_name: ResetPatternController + line: 55 +- variable: m_startEnrollBtn + type: DPushButton * + object_name: StartEnrollBtn + source_file: plugins/login-gesture/src/modulewidget.cpp + class_name: '' + line: 42 +- variable: m_btn + type: QPushButton * + object_name: RequireSureButton + source_file: src/lightdm-deepin-greeter/logintipswindow.cpp + class_name: LoginTipsWindow + line: 36 +- variable: m_lineEdit + type: DLineEditEx * + object_name: LineEdit + source_file: src/session-widgets/auth_password.cpp + class_name: AuthPassword + line: 114 +- variable: m_passwordShowBtn + type: DIconButton * + object_name: PasswordShow + source_file: src/session-widgets/auth_password.cpp + class_name: AuthPassword + line: 115 +- variable: m_passwordHintBtn + type: DIconButton * + object_name: PasswordHint + source_file: src/session-widgets/auth_password.cpp + class_name: AuthPassword + line: 116 +- variable: m_iconButton + type: DIconButton * + object_name: IconButton + source_file: src/session-widgets/auth_password.cpp + class_name: AuthPassword + line: 124 +- variable: suggestButton + type: DSuggestButton * + object_name: SuggestButton + source_file: src/session-widgets/auth_password.cpp + class_name: AuthPassword + line: 745 +- variable: m_lineEdit + type: DLineEditEx * + object_name: LineEdit_2 + source_file: src/session-widgets/auth_single.cpp + class_name: AuthSingle + line: 66 +- variable: m_keyboardBtn + type: DPushButton * + object_name: KeyboardButton + source_file: src/session-widgets/auth_single.cpp + class_name: AuthSingle + line: 67 +- variable: m_passwordHintBtn + type: DIconButton * + object_name: PasswordHintButton + source_file: src/session-widgets/auth_single.cpp + class_name: AuthSingle + line: 68 +- variable: m_iconButton + type: DIconButton * + object_name: IconButton_2 + source_file: src/session-widgets/auth_single.cpp + class_name: AuthSingle + line: 74 +- variable: suggestButton + type: DSuggestButton * + object_name: SuggestButton_2 + source_file: src/session-widgets/auth_single.cpp + class_name: AuthSingle + line: 489 +- variable: m_lineEdit + type: DLineEditEx * + object_name: LineEdit_3 + source_file: src/session-widgets/auth_ukey.cpp + class_name: AuthUKey + line: 51 +- variable: m_lockButton + type: TransparentButton * + object_name: LockButton + source_file: src/session-widgets/auth_widget.cpp + class_name: AuthWidget + line: 183 +- variable: m_userAvatar + type: UserAvatar * + object_name: UserAvatar + source_file: src/session-widgets/auth_widget.cpp + class_name: AuthWidget + line: 184 +- variable: m_accountEdit + type: DLineEditEx * + object_name: AccountEdit + source_file: src/session-widgets/auth_widget.cpp + class_name: AuthWidget + line: 187 +- variable: m_retryButton + type: DFloatingButton * + object_name: RetryButton + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 96 +- variable: btn + type: ButtonBoxButton * + object_name: PamAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 408 +- variable: btn + type: ButtonBoxButton * + object_name: PasswordAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 520 +- variable: btn + type: ButtonBoxButton * + object_name: FingerprintAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 569 +- variable: btn + type: ButtonBoxButton * + object_name: PasskeyAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 617 +- variable: btn + type: ButtonBoxButton * + object_name: UkeyAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 673 +- variable: btn + type: ButtonBoxButton * + object_name: FaceAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 734 +- variable: btn + type: ButtonBoxButton * + object_name: IrisAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 800 +- variable: btn + type: ButtonBoxButton * + object_name: plugin->key() + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 967 +- variable: btn + type: ButtonBoxButton * + object_name: AccountAuthBtn + source_file: src/session-widgets/sfa_widget.cpp + class_name: SFAWidget + line: 1263 +- variable: m_avatar + type: UserAvatar * + object_name: Avatar_2 + source_file: src/session-widgets/user_widget.cpp + class_name: UserWidget + line: 68 +- variable: m_avatar + type: UserAvatar * + object_name: Avatar_3 + source_file: src/session-widgets/userpanel.cpp + class_name: UserPanel + line: 48 +- variable: m_virtualKBBtn + type: FloatingButton * + object_name: VirtualKeyboardBtn + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 149 +- variable: m_switchUserBtn + type: FloatingButton * + object_name: SwitchUserBtn + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 150 +- variable: m_powerBtn + type: FloatingButton * + object_name: PowerBtn + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 151 +- variable: m_sessionBtn + type: FloatingButton * + object_name: SessionBtn + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 152 +- variable: m_contextMenu + type: QMenu * + object_name: ContextMenu + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 161 +- variable: m_kbLayoutListView + type: KBLayoutListView * + object_name: KbLayoutlistview + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 165 +- variable: m_keyboardBtn + type: FloatingButton * + object_name: KeyboardLayoutBtn + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 166 +- variable: button + type: FloatingButton * + object_name: TrayModuleBtn_ + source_file: src/widgets/controlwidget.cpp + class_name: ControlWidget + line: 310 +- variable: m_acceptBtn + type: InhibitButton * + object_name: AcceptButton + source_file: src/widgets/inhibitwarnview.cpp + class_name: InhibitWarnView + line: 78 +- variable: m_cancelBtn + type: InhibitButton * + object_name: CancelButton + source_file: src/widgets/inhibitwarnview.cpp + class_name: InhibitWarnView + line: 79 +- variable: m_logoLabel + type: QLabel * + object_name: Logo + source_file: src/widgets/logowidget.cpp + class_name: LogoWidget + line: 36 +- variable: m_logoVersionLabel + type: DLabel * + object_name: LogoVersion + source_file: src/widgets/logowidget.cpp + class_name: LogoWidget + line: 37 +- variable: m_customLogoLabel + type: QLabel * + object_name: custom_Logo + source_file: src/widgets/logowidget.cpp + class_name: LogoWidget + line: 41 +- variable: m_userList + type: QListWidget * + object_name: UserList + source_file: src/widgets/multiuserswarningview.cpp + class_name: MultiUsersWarningView + line: 48 +- variable: m_detailTextEdit + type: DTextEdit * + object_name: DetailTextEdit + source_file: src/widgets/passworderrortipswidget.cpp + class_name: PasswordErrorTipsWidget + line: 39 +- variable: m_requireShutdownButton + type: RoundItemButton * + object_name: RequireShutDownButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 72 +- variable: m_requireRestartButton + type: RoundItemButton * + object_name: RequireRestartButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 73 +- variable: m_requireSuspendButton + type: RoundItemButton * + object_name: RequireSuspendButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 74 +- variable: m_requireHibernateButton + type: RoundItemButton * + object_name: RequireHibernateButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 75 +- variable: m_requireLockButton + type: RoundItemButton * + object_name: RequireLockButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 76 +- variable: m_requireLogoutButton + type: RoundItemButton * + object_name: RequireLogoutButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 77 +- variable: m_requireSwitchUserBtn + type: RoundItemButton * + object_name: RequireSwitchUserButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 78 +- variable: m_requireSwitchSystemBtn + type: RoundItemButton * + object_name: RequireSwitchSystemButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 79 +- variable: m_updateAndShutdownButton + type: RoundItemButton * + object_name: UpdateAndShutdownButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 80 +- variable: m_updateAndRebootButton + type: RoundItemButton * + object_name: UpdateAndRebootButton + source_file: src/widgets/shutdownwidget.cpp + class_name: ShutdownWidget + line: 81 +- variable: m_iconLabel + type: QLabel * + object_name: UserAvatar + source_file: src/widgets/useravatar.cpp + class_name: UserAvatar + line: 73 +- variable: m_userAvatar + type: UserAvatar * + object_name: UserAvatar_2 + source_file: src/widgets/userbutton.cpp + class_name: UserButton + line: 75 +qml_elements: [] +transient_elements: [] diff --git a/translations/dde-session-shell_ar_EG.ts b/translations/dde-session-shell_ar_EG.ts deleted file mode 100644 index 185681b40..000000000 --- a/translations/dde-session-shell_ar_EG.ts +++ /dev/null @@ -1,498 +0,0 @@ - - - AuthFace - - Face ID - - - - Verification successful - - - - Verification failed, %n chances left - - - - Verification failed, only one chance left - - - - Verify your Face ID - - - - Face ID locked, use password please - - - - Device unavailable! - - - - - AuthFingerprint - - Verify your fingerprint - - - - Verification successful - - - - Verification failed, %n chances left - - - - Verification failed, only one chance left - - - - Fingerprint locked, use password please - - - - - AuthIris - - Iris ID - - - - Verification successful - - - - Verification failed, %n chances left - - - - Verification failed, only one chance left - - - - Verify your Iris ID - - - - Iris ID locked, use password please - - - - - AuthPasskey - - Please plug in the security key - - - - Verification successful - - - - Verification failed - - - - Identifying the security key - - - - - AuthPassword - - Verification successful - - - - Verification failed, %n chances left - - - - Verification failed, only one chance left - - - - Wrong Password - - - - Password - - - - Please try again 1 minute later - - - - Please try again %n minutes later - - - - Reset Password - - - - Forgot password? - - - - - AuthSingle - - Please try again 1 minute later - - - - Please try again %n minutes later - - - - Reset Password - - - - Forgot password? - - - - - AuthUKey - - Verification successful - - - - Verification failed, %n chances left - - - - Verification failed, only one chance left - - - - Wrong PIN - - - - UKey is required - - - - Enter your PIN - - - - Please try again %n minute(s) later - - - - Please try again 1 minute later - - - - Please try again %n minutes later - - - - - AuthWidget - - Account - - - - Your password will expire in %n days, please change it timely - - - - Password expired, please change - - - - Your password has expired. Please contact the administrator to change it - - - - Terminal locked, please contact administrator - - - - - DeepinAuthFramework - - Wrong Password - - - - - GreeterWorker - - Wrong account - - - - Wrong Password - - - - - InhibitWarnView - - Cancel - أغلق - - - The reason of inhibit. - - - - - LighterGreeter - - Standard Mode - - - - - LockContent - - Lock Screen - - - - Failed to lock screen - - - - - LockWorker - - Fingerprint verification timed out, please enter your password manually - - - - Failed to match fingerprint - - - - - MultiUsersWarningView - - Cancel - أغلق - - - The above users are still logged in and data will be lost due to shutdown, are you sure you want to shut down? - - - - The above users are still logged in and data will be lost due to reboot, are you sure you want to reboot? - - - - - SessionWidget - - You have enabled the high system security level, thus cannot switch to the Wayland mode, please disable the high security level in Security Center and try again. - - - - - ShutdownWidget - - Shut down - - - - Reboot - - - - Suspend - - - - Hibernate - - - - Lock - - - - Log out - - - - Switch user - - - - Switch system - - - - Update and Shut Down - - - - Update and Reboot - - - - - SystemMonitor - - Start system monitor - - - - - UdcpMFALoginWidget - - 发送验证码 - - - - 请输入手机号 - - - - 请输入验证码 - - - - 获取验证码 - - - - - UpdateWorker - - Update - - - - Please plug in and then install updates. - - - - - UsersWithTheSameName - - Return - - - - Please select the account for login - - - - Local Account - - - - Domain Account - - - - - WarningContent - - The programs are preventing the computer from shutting down, and forcing shut down may cause data loss. - - - - To close the program, click Cancel, and then close the program. - - - - The programs are preventing the computer from reboot, and forcing reboot may cause data loss. - - - - The programs are preventing the computer from suspend, and forcing suspend may cause data loss. - - - - The programs are preventing the computer from hibernate, and forcing hibernate may cause data loss. - - - - The programs are preventing the computer from log out, and forcing log out may cause data loss. - - - - Shut down - - - - Reboot - - - - Suspend - - - - Hibernate - - - - Log out - - - - Are you sure you want to shut down? - - - - Are you sure you want to reboot? - - - - Are you sure you want to log out? - - - - Update and Shut Down - - - - Update and Reboot - - - - Closing the programs and shutting down, please wait... - - - - Closing the programs and rebooting, please wait... - - - - Closing the programs and logging out, please wait... - - - - - dss::module::AssistLoginWidget - - Automatic login - - - - - dss::module::NetworkModule - - Turn on - - - - Turn off - - - - \ No newline at end of file