46 QDialog(parent, Qt::Sheet),
47 m_ui(
new QT_PREPEND_NAMESPACE(qdesigner_internal)::Ui::NewActionDialog),
48 m_actionEditor(parent),
49 m_autoUpdateObjectName(
true)
54 connect(m_ui->toolTipToolButton, &QAbstractButton::clicked,
this, &NewActionDialog::slotEditToolTip);
55 connect(m_ui->editActionText, &QLineEdit::textEdited,
56 this, &NewActionDialog::onEditActionTextTextEdited);
57 connect(m_ui->editObjectName, &QLineEdit::textEdited,
58 this, &NewActionDialog::onEditObjectNameTextEdited);
60 m_ui->keysequenceResetToolButton->setIcon(createIconSet(
"resetproperty.png"_L1));
61 connect(m_ui->keysequenceResetToolButton, &QAbstractButton::clicked,
62 this, &NewActionDialog::slotResetKeySequence);
65 auto *iconThemeEnumEditor = m_ui->iconThemeEnumEditor;
66 auto *iconThemeEditor = m_ui->iconThemeEditor;
67 connect(iconThemeEnumEditor, &IconThemeEnumEditor::edited,
68 this, [iconThemeEditor](
int i) {
70 iconThemeEditor->reset();
72 connect(iconThemeEditor, &IconThemeEditor::edited,
73 this, [iconThemeEnumEditor](
const QString &t) {
75 iconThemeEnumEditor->reset();
78 const auto menuRoles = QMetaEnum::fromType<QAction::MenuRole>();
79 for (
int i = 0; i < menuRoles.keyCount(); i++) {
80 const auto key = menuRoles.key(i);
81 const auto value = menuRoles.value(i);
82 m_ui->menuRole->addItem(QLatin1StringView(key), value);
88 QDesignerFormWindowInterface *form = parent->formWindow();
89 m_ui->iconSelector->setFormEditor(form->core());
90 FormWindowBase *formBase = qobject_cast<FormWindowBase *>(form);
93 m_ui->iconSelector->setPixmapCache(formBase->pixmapCache());
94 m_ui->iconSelector->setIconCache(formBase->iconCache());
146 rc.text = actionText();
147 rc.name = actionName();
148 rc.toolTip = m_ui->tooltipEditor->text();
149 rc.icon = m_ui->iconSelector->icon();
150 const int themeEnum = m_ui->iconThemeEnumEditor->themeEnum();
151 rc.icon.setThemeEnum(themeEnum);
152 rc.icon.setTheme(themeEnum == -1 ? m_ui->iconThemeEditor->theme() : QString{});
153 rc.checkable = m_ui->checkableCheckBox->checkState() == Qt::Checked;
154 rc.keysequence = PropertySheetKeySequenceValue(m_ui->keySequenceEdit->keySequence());
155 rc.menuRole.value = m_ui->menuRole->currentData().toInt();
161 m_ui->editActionText->setText(d.text);
162 m_ui->editObjectName->setText(d.name);
163 m_ui->iconSelector->setIcon(d.icon.unthemed());
164 m_ui->iconThemeEnumEditor->setThemeEnum(d.icon.themeEnum());
165 m_ui->iconThemeEditor->setTheme(d.icon.theme());
166 m_ui->tooltipEditor->setText(d.toolTip);
167 m_ui->keySequenceEdit->setKeySequence(d.keysequence.value());
168 m_ui->checkableCheckBox->setCheckState(d.checkable ? Qt::Checked : Qt::Unchecked);
169 m_ui->menuRole->setCurrentIndex(m_ui->menuRole->findData(d.menuRole.value));
172 m_autoUpdateObjectName = d.name.isEmpty();