2 #include "ui_musicpluginwidget.h"
33 property.m_type = path;
44 property.m_type = path;
55 property.m_type = path;
66 property.m_type = path;
77 property.m_type = path;
99 default:
return false;
105 QDialog *dialog =
nullptr;
120 dialog->deleteLater();
159 setIcon(3, QIcon(
":/contextMenu/btn_setting"));
162 const QColor &color = enabled ? (state ? QColor(0xE6, 0x73, 0x00) : QColor(0x00, 0x00, 0x00)) : QColor(0xBB, 0xBB, 0xBB);
163 setData(1, Qt::ForegroundRole, color);
164 setData(2, Qt::ForegroundRole, color);
179 setFixedSize(
size());
182 m_ui->topTitleCloseButton->setIcon(QIcon(
":/functions/btn_close_hover"));
184 m_ui->topTitleCloseButton->setCursor(QCursor(Qt::PointingHandCursor));
185 m_ui->topTitleCloseButton->setToolTip(tr(
"Close"));
186 connect(
m_ui->topTitleCloseButton, SIGNAL(clicked()), SLOT(close()));
188 #if TTK_QT_VERSION_CHECK(5,0,0)
189 m_ui->treeWidget->header()->setSectionsMovable(
false);
190 m_ui->treeWidget->header()->setSectionResizeMode(0, QHeaderView::Fixed);
192 m_ui->treeWidget->header()->setMovable(
false);
193 m_ui->treeWidget->header()->setResizeMode(0, QHeaderView::Fixed);
195 m_ui->treeWidget->setHeaderLabels({{}, tr(
"Description"), tr(
"Name"), {}});
200 m_ui->treeWidget->setItemDelegateForColumn(0, delegateCheck);
204 delegateTitle->
setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
206 m_ui->treeWidget->setItemDelegateForColumn(1, delegateTitle);
210 delegateName->
setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
212 m_ui->treeWidget->setItemDelegateForColumn(2, delegateName);
214 QItemDelegate *delegateSetting =
new QItemDelegate(
this);
215 m_ui->treeWidget->setItemDelegateForColumn(3, delegateSetting);
217 m_ui->treeWidget->setColumnWidth(0, 65);
218 m_ui->treeWidget->setColumnWidth(1, 210);
219 m_ui->treeWidget->setColumnWidth(2, 120);
220 m_ui->treeWidget->setColumnWidth(3, 70);
226 m_ui->treeWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
228 m_ui->treeWidget->setFocusPolicy(Qt::NoFocus);
233 connect(
m_ui->treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,
int)), SLOT(
pluginItemChanged(QTreeWidgetItem*,
int)));
242 QTreeWidgetItem *parent = item->parent();
248 for(
int i = 0; i < parent->childCount(); ++i)
250 QTreeWidgetItem *it = parent->child(i);
252 it->setData(1, Qt::ForegroundRole, QColor(0x00, 0x00, 0x00));
253 it->setData(2, Qt::ForegroundRole, QColor(0x00, 0x00, 0x00));
258 item->setData(column,
TTK_CHECKED_ROLE, status == Qt::Checked ? Qt::Unchecked : Qt::Checked);
261 const QColor &color = (status != Qt::Checked) ? QColor(0xE6, 0x73, 0x00) : QColor(0x00, 0x00, 0x00);
262 item->setData(1, Qt::ForegroundRole, color);
263 item->setData(2, Qt::ForegroundRole, color);
281 m_ui->treeWidget->blockSignals(
true);
283 QTreeWidgetItem *item =
nullptr;
284 item =
new QTreeWidgetItem(
m_ui->treeWidget, {tr(
"Decoder")});
285 item->setFirstColumnSpanned(
true);
286 item->setExpanded(
true);
291 m_ui->treeWidget->addTopLevelItem(item);
293 item =
new QTreeWidgetItem(
m_ui->treeWidget, {tr(
"Effect")});
294 item->setFirstColumnSpanned(
true);
295 item->setExpanded(
true);
300 m_ui->treeWidget->addTopLevelItem(item);
302 item =
new QTreeWidgetItem(
m_ui->treeWidget, {tr(
"Visualization")});
303 item->setFirstColumnSpanned(
true);
304 item->setExpanded(
true);
309 m_ui->treeWidget->addTopLevelItem(item);
311 item =
new QTreeWidgetItem(
m_ui->treeWidget, {tr(
"Transport")});
312 item->setFirstColumnSpanned(
true);
313 item->setExpanded(
true);
318 m_ui->treeWidget->addTopLevelItem(item);
320 item =
new QTreeWidgetItem(
m_ui->treeWidget, {tr(
"Output")});
321 item->setFirstColumnSpanned(
true);
322 item->setExpanded(
true);
327 m_ui->treeWidget->addTopLevelItem(item);
329 m_ui->treeWidget->blockSignals(
false);
MusicPluginItem(QTreeWidgetItem *parent, OutputFactory *factory, const QString &path)
#define TTKStaticCast(x, y)
static QList< VisualFactory * > factories()
virtual OutputProperties properties() const =0
The class of the label item delegate.
static const QString CheckBoxStyle01
CheckBox.
static const QString SliderStyle06
void setStyleSheet(const QString &style) const
static bool isEnabled(const DecoderFactory *factory)
static const QString PushButtonStyle12
The class of the plugin item widget.
virtual EffectProperties properties() const =0
MusicPluginItem(QTreeWidgetItem *parent, EffectFactory *factory, const QString &path)
static void setCurrentFactory(const OutputFactory *factory)
static OutputFactory * currentFactory()
Effect plugin interface (effect factory).
static QList< OutputFactory * > factories()
void setEnabled(bool enabled)
static QString file(const DecoderFactory *factory)
MusicPluginItem(QTreeWidgetItem *parent, VisualFactory *factory, const QString &path)
static bool isEnabled(const VisualFactory *factory)
void setAlignment(Qt::Alignment alignment) const
static const QString ScrollBarStyle03
static const QString GroupBoxStyle01
GroupBox.
static const QString ScrollBarStyle01
ScrollBar.
MusicPluginItem(QTreeWidgetItem *parent, InputSourceFactory *factory, const QString &path)
static const QString PushButtonStyle03
Input plugin interface (decoder factory).
static const QString SpinBoxStyle01
SpinBox.
static bool isEnabled(const EffectFactory *factory)
virtual DecoderProperties properties() const =0
static const QString BackgroundStyle01
Background.
void initialize(bool state, bool enabled, const MusicPluginProperty &property)
static QList< EffectFactory * > factories()
static QString file(const OutputFactory *factory)
The class of the moving dialog base.
static QString file(const EffectFactory *factory)
static void setEnabled(DecoderFactory *factory, bool enable=true)
static const QString LineEditStyle01
LineEdit.
MusicPluginItem(QTreeWidgetItem *parent, DecoderFactory *factory, const QString &path)
Visual plugin interface (visual factory).
static const QString ToolButtonStyle04
void setModuleMode(TTKUInt8 mode)
static const QString RadioButtonStyle01
RadioButton.
static QList< DecoderFactory * > factories()
virtual VisualProperties properties() const =0
The class of the checkbox item delegate.
static const QString ComboBoxStyle01
ComboBox.
Output plugin interface (output factory).
static QString file(const VisualFactory *factory)
The class of the plugin property.
#define TTKDynamicCast(x, y)
void showSettingWidget() const