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