31 m_editor(
new TextPropertyEditor(
this)),
32 m_themeEditor(
new IconThemeEditor(
this,
false)),
33 m_iconThemeModeEnabled(
false),
34 m_richTextDefaultFont(QApplication::font()),
35 m_button(
new QToolButton(
this)),
36 m_menu(
new QMenu(
this)),
37 m_resourceAction(
new QAction(tr(
"Choose Resource..."),
this)),
38 m_fileAction(
new QAction(tr(
"Choose File..."),
this)),
39 m_layout(
new QHBoxLayout(
this)),
42 m_themeEditor->setVisible(
false);
43 m_button->setVisible(
false);
45 m_layout->addWidget(m_editor);
46 m_layout->addWidget(m_themeEditor);
47 m_button->setText(tr(
"..."));
48 m_button->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Ignored);
49 m_button->setFixedWidth(20);
50 m_layout->addWidget(m_button);
51 m_layout->setContentsMargins(QMargins());
52 m_layout->setSpacing(0);
54 connect(m_resourceAction, &QAction::triggered,
this, &TextEditor::resourceActionActivated);
55 connect(m_fileAction, &QAction::triggered,
this, &TextEditor::fileActionActivated);
56 connect(m_editor, &TextPropertyEditor::textChanged,
this, &TextEditor::textChanged);
57 connect(m_themeEditor, &IconThemeEditor::edited,
this, &TextEditor::textChanged);
58 connect(m_button, &QAbstractButton::clicked,
this, &TextEditor::buttonClicked);
60 setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed));
61 setFocusProxy(m_editor);
63 m_menu->addAction(m_resourceAction);
64 m_menu->addAction(m_fileAction);
74 if (m_iconThemeModeEnabled == enable)
76 m_iconThemeModeEnabled = enable;
77 m_editor->setVisible(!enable);
78 m_themeEditor->setVisible(enable);
80 m_themeEditor->setTheme(m_editor->text());
81 setFocusProxy(m_themeEditor);
83 m_editor->setText(m_themeEditor->theme());
84 setFocusProxy(m_editor);
95 m_editor->setTextPropertyValidationMode(vm);
97 m_button->setMenu(m_menu);
98 m_button->setFixedWidth(30);
99 m_button->setPopupMode(QToolButton::MenuButtonPopup);
101 m_button->setMenu(
nullptr);
102 m_button->setFixedWidth(20);
103 m_button->setPopupMode(QToolButton::DelayedPopup);
105 m_button->setVisible(vm == ValidationStyleSheet || vm == ValidationRichText || vm == ValidationMultiLine || vm == ValidationURL);
168 QString newPath = IconSelector::choosePixmapResource(m_core, m_core->resourceModel(), oldPath,
this);
TextPropertyValidationMode textPropertyValidationMode() const
void setSpacing(int spacing)
void setTextPropertyValidationMode(TextPropertyValidationMode vm)