diff --git a/REUSE.toml b/REUSE.toml index 341e06650..3b37d8508 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -92,3 +92,9 @@ path = ["dde-osd/src/notification/dbus**", "global_util/dbus/**"] precedence = "aggregate" SPDX-FileCopyrightText = "The Qt Company Ltd." SPDX-License-Identifier = "CC0-1.0" + +[[annotations]] +path = "tests/at/spi/**.yaml" +precedence = "aggregate" +SPDX-FileCopyrightText = "UnionTech Software Technology Co., Ltd." +SPDX-License-Identifier = "CC0-1.0" diff --git a/dde-hints-dialog/src/hintsdialog.cpp b/dde-hints-dialog/src/hintsdialog.cpp index 0e842a0db..3fb635a3b 100644 --- a/dde-hints-dialog/src/hintsdialog.cpp +++ b/dde-hints-dialog/src/hintsdialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2020 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2020 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -24,6 +24,8 @@ HintsDialog::HintsDialog(QWidget *parent) m_title->setObjectName("TitleLabel"); m_title->setAccessibleName("TitleLabel"); m_content->setAccessibleName("MainContent"); + m_content->setObjectName("MainContent"); + m_closeButton->setObjectName("CloseButton"); DFontSizeManager::instance()->bind(m_title, DFontSizeManager::SizeType::T5, 70); diff --git a/dde-license-dialog/src/content.cpp b/dde-license-dialog/src/content.cpp index e6dc8a9c4..634d60aaf 100644 --- a/dde-license-dialog/src/content.cpp +++ b/dde-license-dialog/src/content.cpp @@ -106,11 +106,17 @@ Content::Content(QWidget *parent) , m_hasEn(false) { m_scrollArea->setAccessibleName("ScrollArea"); + m_scrollArea->setObjectName("ScrollArea"); m_acceptCheck->setAccessibleName("AcceptCheck"); + m_acceptCheck->setObjectName("AcceptCheck"); m_cancelBtn->setAccessibleName("CancelBtn"); + m_cancelBtn->setObjectName("CancelBtn"); m_acceptBtn->setAccessibleName("AcceptBtn"); + m_acceptBtn->setObjectName("AcceptBtn"); m_source->setAccessibleName("SourceLabel"); + m_source->setObjectName("SourceLabel"); m_languageBtn->setAccessibleName("LanguageBtn"); + m_languageBtn->setObjectName("LanguageBtn"); QVBoxLayout *layout = new QVBoxLayout; layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); @@ -180,6 +186,7 @@ Content::Content(QWidget *parent) m_bottom = new QWidget(this); m_bottom->setLayout(bottomLayout); m_bottom->setAccessibleName("ContentBottomWidget"); + m_bottom->setObjectName("ContentBottomWidget"); layout->addWidget(m_scrollArea); layout->addSpacing(20); diff --git a/dde-osd/src/kblayoutindicator.cpp b/dde-osd/src/kblayoutindicator.cpp index 09765638e..f1349c697 100644 --- a/dde-osd/src/kblayoutindicator.cpp +++ b/dde-osd/src/kblayoutindicator.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 @@ -101,6 +101,8 @@ KBLayoutIndicator::KBLayoutIndicator(QWidget *parent) m_menu(new QMenu), m_addLayoutAction(nullptr) { + m_menu->setObjectName("KeyboardLayoutMenu"); + updateIcon(); updateMenu(); @@ -138,6 +140,7 @@ void KBLayoutIndicator::updateMenu() m_menu->addSeparator(); m_addLayoutAction = new QAction(tr("Add keyboard layout"), m_menu); + m_addLayoutAction->setObjectName("AddLayoutAction"); m_menu->addAction(m_addLayoutAction); } diff --git a/dde-welcome/src/updatecontent.cpp b/dde-welcome/src/updatecontent.cpp index b551e4448..618ab76a6 100644 --- a/dde-welcome/src/updatecontent.cpp +++ b/dde-welcome/src/updatecontent.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 @@ -24,6 +24,7 @@ UpdateContent::UpdateContent(const std::pair &version, QWidget QLabel *successTip = new QLabel(tr("Welcome, system updated successfully")); QLabel *currentVersion = new QLabel(tr("Current Edition:") + " " + version.first + " " + version.second); m_enterBtn = new QPushButton(tr("Enter"), this); + m_enterBtn->setObjectName("EnterBtn"); m_enterBtn->setMinimumWidth(200); mainLayout->addStretch(); diff --git a/dde-wm-chooser/src/wmchooser.cpp b/dde-wm-chooser/src/wmchooser.cpp index 803f4bfa6..e1bba74ae 100644 --- a/dde-wm-chooser/src/wmchooser.cpp +++ b/dde-wm-chooser/src/wmchooser.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 @@ -34,9 +34,11 @@ WMChooser::WMChooser(QWidget *parent) "}"; m_gorgeousBtn = new QPushButton(tr("Effect Mode")); + m_gorgeousBtn->setObjectName("GorgeousBtn"); m_gorgeousBtn->setFixedSize(300, 50); m_gorgeousBtn->setStyleSheet(btnStyle); m_topSpeedBtn = new QPushButton(tr("Normal Mode")); + m_topSpeedBtn->setObjectName("TopSpeedBtn"); m_topSpeedBtn->setFixedSize(m_gorgeousBtn->size()); m_topSpeedBtn->setStyleSheet(btnStyle); diff --git a/dmemory-warning-dialog/src/dmemorywarningdialog.cpp b/dmemory-warning-dialog/src/dmemorywarningdialog.cpp index 01b9c53d5..ad8ee01f4 100644 --- a/dmemory-warning-dialog/src/dmemorywarningdialog.cpp +++ b/dmemory-warning-dialog/src/dmemorywarningdialog.cpp @@ -65,7 +65,9 @@ DMemoryWarningDialog::DMemoryWarningDialog(QWidget *parent) m_memNeeded->setWordWrap(true); m_memNeeded->setAccessibleName("MemNeededLabel"); m_cancelButton->setText(tr("Cancel", "button")); + m_cancelButton->setObjectName("CancelButton"); m_continueButton->setText(tr("Continue", "button")); + m_continueButton->setObjectName("ContinueButton"); m_icon->setAccessibleName("DdeIconLabel"); m_icon->setPixmap(QIcon::fromTheme("dde").pixmap(32, 32)); diff --git a/reset-password-dialog/passwordwidget.cpp b/reset-password-dialog/passwordwidget.cpp index 394f0520c..34e92e859 100644 --- a/reset-password-dialog/passwordwidget.cpp +++ b/reset-password-dialog/passwordwidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -62,6 +62,10 @@ void PasswordWidget::initWidget(int margin) this->setAccessibleName("PasswordWidget"); + m_newPasswordEdit->setObjectName("NewPasswordEdit"); + m_repeatPasswordEdit->setObjectName("RepeatPasswordEdit"); + m_passwordTipsEdit->setObjectName("PasswordTipsEdit"); + QVBoxLayout *resetPasswordVLayout = new QVBoxLayout(this); resetPasswordVLayout->setSpacing(0); resetPasswordVLayout->setContentsMargins(0, 0, 0, 0); diff --git a/reset-password-dialog/resetpassworddialog.cpp b/reset-password-dialog/resetpassworddialog.cpp index 1940a7f13..7498aebf4 100644 --- a/reset-password-dialog/resetpassworddialog.cpp +++ b/reset-password-dialog/resetpassworddialog.cpp @@ -100,6 +100,7 @@ void ResetPasswordDialog::initWidget(const QString &userName) mainContentLayout->setContentsMargins(0, 0, 0, 0); m_buttonBox = new DButtonBox(this); + m_buttonBox->setObjectName("ButtonBox"); m_buttonBox->setButtonList({new DButtonBoxButton(tr("Security Questions")), new DButtonBoxButton("Union ID")}, true); m_buttonBox->setId(m_buttonBox->buttonList().at(0), 0); m_buttonBox->setId(m_buttonBox->buttonList().at(1), 1); diff --git a/reset-password-dialog/securityquestionswidget.cpp b/reset-password-dialog/securityquestionswidget.cpp index f70462d6e..3de4158fe 100644 --- a/reset-password-dialog/securityquestionswidget.cpp +++ b/reset-password-dialog/securityquestionswidget.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 @@ -54,6 +54,13 @@ void SecurityQuestionsWidget::initWidget() { this->setAccessibleName("SecurityQuestionsWidget"); + m_questionEdit1->setObjectName("QuestionEdit1"); + m_questionEdit2->setObjectName("QuestionEdit2"); + m_questionEdit3->setObjectName("QuestionEdit3"); + m_answerEdit1->setObjectName("AnswerEdit1"); + m_answerEdit2->setObjectName("AnswerEdit2"); + m_answerEdit3->setObjectName("AnswerEdit3"); + QVBoxLayout *answerQuestionsVLayout = new QVBoxLayout(m_answerQuestionsWidget); answerQuestionsVLayout->setSpacing(0); answerQuestionsVLayout->setContentsMargins(0, 0, 0, 0); diff --git a/reset-password-dialog/unionidwidget.cpp b/reset-password-dialog/unionidwidget.cpp index fb40ad454..c42e79e70 100644 --- a/reset-password-dialog/unionidwidget.cpp +++ b/reset-password-dialog/unionidwidget.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 @@ -34,6 +34,10 @@ UnionIDWidget::UnionIDWidget(const QString &userPath, const QString &userName, Q void UnionIDWidget::initWidget() { this->setAccessibleName("ResetPasswordPage"); + + m_phoneEmailEdit->setObjectName("PhoneEmailEdit"); + m_verificationCodeEdit->setObjectName("VerificationCodeEdit"); + m_sendCodeBtn->setObjectName("SendCodeBtn"); DGuiApplicationHelper::ColorType type = DGuiApplicationHelper::instance()->themeType(); setIconPath(type); diff --git a/tests/at/spi/expected_names.yaml b/tests/at/spi/expected_names.yaml new file mode 100644 index 000000000..02189a156 --- /dev/null +++ b/tests/at/spi/expected_names.yaml @@ -0,0 +1,438 @@ +version: '1.0' +widgets: +- variable: m_pinCodeLabel + type: LargeLabel * + object_name: PinCodeText + accessible_id: PinCodeText + source_file: dde-bluetooth-dialog/src/pincodedialog.cpp + class_name: PinCodeDialog + line: 25 +- variable: m_titileLabel + type: LargeLabel * + object_name: TitileText + accessible_id: TitileText + source_file: dde-bluetooth-dialog/src/pincodedialog.cpp + class_name: PinCodeDialog + line: 26 +- variable: m_title + type: QLabel * + object_name: TitleLabel + accessible_id: TitleLabel + source_file: dde-hints-dialog/src/hintsdialog.cpp + class_name: HintsDialog + line: 33 +- variable: m_content + type: DTipLabel * + object_name: MainContent + accessible_id: MainContent + source_file: dde-hints-dialog/src/hintsdialog.cpp + class_name: HintsDialog + line: 34 +- variable: m_closeButton + type: DDialogCloseButton * + object_name: CloseButton + accessible_id: CloseButton + source_file: dde-hints-dialog/src/hintsdialog.cpp + class_name: HintsDialog + line: 35 +- variable: m_scrollArea + type: QScrollArea * + object_name: ScrollArea + accessible_id: ScrollArea + source_file: dde-license-dialog/src/content.cpp + class_name: Content + line: 49 +- variable: m_acceptCheck + type: QCheckBox * + object_name: AcceptCheck + accessible_id: AcceptCheck + source_file: dde-license-dialog/src/content.cpp + class_name: Content + line: 50 +- variable: m_cancelBtn + type: QPushButton * + object_name: CancelBtn + accessible_id: CancelBtn + source_file: dde-license-dialog/src/content.cpp + class_name: Content + line: 51 +- variable: m_acceptBtn + type: QPushButton * + object_name: AcceptBtn + accessible_id: AcceptBtn + source_file: dde-license-dialog/src/content.cpp + class_name: Content + line: 52 +- variable: m_source + type: QLabel * + object_name: SourceLabel + accessible_id: SourceLabel + source_file: dde-license-dialog/src/content.cpp + class_name: Content + line: 53 +- variable: m_languageBtn + type: Dtk::Widget::DButtonBox * + object_name: LanguageBtn + accessible_id: LanguageBtn + source_file: dde-license-dialog/src/content.cpp + class_name: Content + line: 54 +- variable: m_bottom + type: QWidget * + object_name: ContentBottomWidget + accessible_id: ContentBottomWidget + source_file: dde-license-dialog/src/content.cpp + class_name: Content + line: 64 +- variable: m_title + type: QLabel * + object_name: TitleLabel + accessible_id: TitleLabel + source_file: dde-license-dialog/src/mainwindow.cpp + class_name: MainWindow + line: 39 +- variable: m_content + type: Content * + object_name: '' + accessible_id: MainContent + source_file: dde-license-dialog/src/mainwindow.cpp + class_name: MainWindow + line: 40 +- variable: btnclose + type: DIconButton * + object_name: '' + accessible_id: CloseBtn + source_file: dde-license-dialog/src/mainwindow.cpp + class_name: MainWindow + line: 45 +- variable: m_leftIconBtn + type: DIconButton * + object_name: '' + accessible_id: TopLeftIconBtn + source_file: dde-license-dialog/src/mainwindow.cpp + class_name: MainWindow + line: 46 +- variable: m_image + type: QLabel * + object_name: '' + accessible_id: LowPowerImage + source_file: dde-lowpower/src/window.cpp + class_name: Window + line: 24 +- variable: m_text + type: QLabel * + object_name: '' + accessible_id: LowPowerText + source_file: dde-lowpower/src/window.cpp + class_name: Window + line: 25 +- variable: m_menu + type: QMenu * + object_name: KeyboardLayoutMenu + accessible_id: KeyboardLayoutMenu + source_file: dde-osd/src/kblayoutindicator.cpp + class_name: KBLayoutIndicator + line: 63 +- variable: m_addLayoutAction + type: QAction * + object_name: AddLayoutAction + accessible_id: '' + source_file: dde-osd/src/kblayoutindicator.cpp + class_name: KBLayoutIndicator + line: 64 +- variable: m_listview + type: ListView * + object_name: '' + accessible_id: ListView + source_file: dde-osd/src/manager.cpp + class_name: Manager + line: 32 +- variable: m_bgWidget + type: AlphaWidget * + object_name: '' + accessible_id: BgWidget + source_file: dde-osd/src/notification-center/bubbleitem.cpp + class_name: BubbleItem + line: 117 +- variable: m_titleWidget + type: AlphaWidget * + object_name: notification_title + accessible_id: TitleWidget + source_file: dde-osd/src/notification-center/bubbleitem.cpp + class_name: BubbleItem + line: 118 +- variable: m_bodyWidget + type: AlphaWidget * + object_name: '' + accessible_id: BodyWidget + source_file: dde-osd/src/notification-center/bubbleitem.cpp + class_name: BubbleItem + line: 119 +- variable: m_appNameLabel + type: DLabel * + object_name: '' + accessible_id: AppNameLabel + source_file: dde-osd/src/notification-center/bubbleitem.cpp + class_name: BubbleItem + line: 120 +- variable: m_closeButton + type: DIconButton * + object_name: '' + accessible_id: CloseButton + source_file: dde-osd/src/notification-center/bubbleitem.cpp + class_name: BubbleItem + line: 126 +- variable: m_closeButton + type: DIconButton * + object_name: '' + accessible_id: '' + source_file: dde-osd/src/notification-center/bubbletitlewidget.cpp + class_name: BubbleTitleWidget + line: 39 +- variable: m_headWidget + type: QWidget * + object_name: '' + accessible_id: HeadWidget + source_file: dde-osd/src/notification-center/notifycenterwidget.cpp + class_name: NotifyCenterWidget + line: 68 +- variable: m_notifyWidget + type: NotifyWidget * + object_name: '' + accessible_id: NotifyWidget + source_file: dde-osd/src/notification-center/notifycenterwidget.cpp + class_name: NotifyCenterWidget + line: 69 +- variable: title_label + type: DLabel * + object_name: '' + accessible_id: TitleLabel + source_file: dde-osd/src/notification-center/notifycenterwidget.cpp + class_name: NotifyCenterWidget + line: 70 +- variable: m_mainList + type: NotifyListView * + object_name: '' + accessible_id: NotifyListView + source_file: dde-osd/src/notification-center/notifywidget.cpp + class_name: NotifyWidget + line: 42 +- variable: m_faceBubbleItem + type: BubbleItem * + object_name: '' + accessible_id: FaceBubbleItem + source_file: dde-osd/src/notification-center/overlapwidet.cpp + class_name: OverLapWidet + line: 55 +- variable: m_menuButton + type: Button * + object_name: '' + accessible_id: MenuButton + source_file: dde-osd/src/notification/actionbutton.cpp + class_name: ActionButton + line: 56 +- variable: m_icon + type: AppIcon * + object_name: '' + accessible_id: AppIcon + source_file: dde-osd/src/notification/bubble.cpp + class_name: Bubble + line: 88 +- variable: m_body + type: AppBody * + object_name: '' + accessible_id: AppBody + source_file: dde-osd/src/notification/bubble.cpp + class_name: Bubble + line: 89 +- variable: m_actionButton + type: ActionButton * + object_name: '' + accessible_id: ActionButton + source_file: dde-osd/src/notification/bubble.cpp + class_name: Bubble + line: 90 +- variable: m_closeButton + type: DDialogCloseButton * + object_name: '' + accessible_id: CloseButton + source_file: dde-osd/src/notification/bubble.cpp + class_name: Bubble + line: 91 +- variable: m_button + type: ButtonContent * + object_name: '' + accessible_id: ButtonContent + source_file: dde-osd/src/notification/button.cpp + class_name: Button + line: 131 +- variable: m_menuArea + type: ButtonMenu * + object_name: '' + accessible_id: ButtonMenu + source_file: dde-osd/src/notification/button.cpp + class_name: Button + line: 132 +- variable: m_menu + type: DMenu * + object_name: '' + accessible_id: Menu + source_file: dde-osd/src/notification/button.cpp + class_name: Button + line: 133 +- variable: m_listCombo + type: DComboBox * + object_name: '' + accessible_id: ListCombo + source_file: dde-touchscreen-dialog/src/touchscreensetting.cpp + class_name: TouchscreenSetting + line: 42 +- variable: m_enterBtn + type: QPushButton * + object_name: EnterBtn + accessible_id: EnterBtn + source_file: dde-welcome/src/updatecontent.cpp + class_name: UpdateContent + line: 21 +- variable: m_gorgeousBtn + type: QPushButton * + object_name: GorgeousBtn + accessible_id: GorgeousBtn + source_file: dde-wm-chooser/src/wmchooser.cpp + class_name: WMChooser + line: 31 +- variable: m_topSpeedBtn + type: QPushButton * + object_name: TopSpeedBtn + accessible_id: TopSpeedBtn + source_file: dde-wm-chooser/src/wmchooser.cpp + class_name: WMChooser + line: 32 +- variable: m_wmchooser + type: WMChooser * + object_name: '' + accessible_id: WMChooser + source_file: dde-wm-chooser/src/wmframe.cpp + class_name: WMFrame + line: 24 +- variable: m_icon + type: QLabel * + object_name: '' + accessible_id: DdeIconLabel + source_file: dmemory-warning-dialog/src/dmemorywarningdialog.cpp + class_name: DMemoryWarningDialog + line: 57 +- variable: m_memNeeded + type: QLabel * + object_name: '' + accessible_id: MemNeededLabel + source_file: dmemory-warning-dialog/src/dmemorywarningdialog.cpp + class_name: DMemoryWarningDialog + line: 58 +- variable: m_cancelButton + type: QPushButton * + object_name: CancelButton + accessible_id: CancelButton + source_file: dmemory-warning-dialog/src/dmemorywarningdialog.cpp + class_name: DMemoryWarningDialog + line: 59 +- variable: m_continueButton + type: QPushButton * + object_name: ContinueButton + accessible_id: ContinueButton + source_file: dmemory-warning-dialog/src/dmemorywarningdialog.cpp + class_name: DMemoryWarningDialog + line: 60 +- variable: m_newPasswordEdit + type: DPasswordEdit * + object_name: NewPasswordEdit + accessible_id: NewPasswordEdit + source_file: reset-password-dialog/passwordwidget.cpp + class_name: PasswordWidget + line: 46 +- variable: m_repeatPasswordEdit + type: DPasswordEdit * + object_name: RepeatPasswordEdit + accessible_id: RepeatPasswordEdit + source_file: reset-password-dialog/passwordwidget.cpp + class_name: PasswordWidget + line: 47 +- variable: m_passwordTipsEdit + type: DLineEdit * + object_name: PasswordTipsEdit + accessible_id: PasswordTipsEdit + source_file: reset-password-dialog/passwordwidget.cpp + class_name: PasswordWidget + line: 48 +- variable: m_buttonBox + type: DButtonBox * + object_name: ButtonBox + accessible_id: ButtonBox + source_file: reset-password-dialog/resetpassworddialog.cpp + class_name: ResetPasswordDialog + line: 67 +- variable: m_questionEdit1 + type: DLineEdit * + object_name: QuestionEdit1 + accessible_id: QuestionEdit1 + source_file: reset-password-dialog/securityquestionswidget.cpp + class_name: SecurityQuestionsWidget + line: 43 +- variable: m_questionEdit2 + type: DLineEdit * + object_name: QuestionEdit2 + accessible_id: QuestionEdit2 + source_file: reset-password-dialog/securityquestionswidget.cpp + class_name: SecurityQuestionsWidget + line: 44 +- variable: m_questionEdit3 + type: DLineEdit * + object_name: QuestionEdit3 + accessible_id: QuestionEdit3 + source_file: reset-password-dialog/securityquestionswidget.cpp + class_name: SecurityQuestionsWidget + line: 45 +- variable: m_answerEdit1 + type: DLineEdit * + object_name: AnswerEdit1 + accessible_id: AnswerEdit1 + source_file: reset-password-dialog/securityquestionswidget.cpp + class_name: SecurityQuestionsWidget + line: 46 +- variable: m_answerEdit2 + type: DLineEdit * + object_name: AnswerEdit2 + accessible_id: AnswerEdit2 + source_file: reset-password-dialog/securityquestionswidget.cpp + class_name: SecurityQuestionsWidget + line: 47 +- variable: m_answerEdit3 + type: DLineEdit * + object_name: AnswerEdit3 + accessible_id: AnswerEdit3 + source_file: reset-password-dialog/securityquestionswidget.cpp + class_name: SecurityQuestionsWidget + line: 48 +- variable: m_phoneEmailEdit + type: DLineEdit * + object_name: PhoneEmailEdit + accessible_id: PhoneEmailEdit + source_file: reset-password-dialog/unionidwidget.cpp + class_name: UnionIDWidget + line: 80 +- variable: m_verificationCodeEdit + type: DLineEdit * + object_name: VerificationCodeEdit + accessible_id: VerificationCodeEdit + source_file: reset-password-dialog/unionidwidget.cpp + class_name: UnionIDWidget + line: 81 +- variable: m_sendCodeBtn + type: DSuggestButton * + object_name: SendCodeBtn + accessible_id: SendCodeBtn + source_file: reset-password-dialog/unionidwidget.cpp + class_name: UnionIDWidget + line: 82 +qml_elements: [] +transient_elements: []