2 #include "ui_musicttkfmradioplaywidget.h"
3 #include "ui_musicttkfmradioinformationwidget.h"
11 #define FMRADIO_PATH RESOURCE_DIR_FULL + "fmlist"
21 const QDomNodeList &nodes =
m_document->elementsByTagName(
"category");
22 for(
int i = 0; i < nodes.count(); ++i)
25 const QDomNode &node = nodes.item(i);
26 category.
m_category = node.toElement().attribute(
"value");
28 const QDomNodeList &chnNodes = node.childNodes();
29 for(
int j = 0; j < chnNodes.count(); ++j)
31 const QDomElement &element = chnNodes.item(j).toElement();
34 item.
m_name = element.attribute(
"name");
35 item.
m_location = element.attribute(
"location");
36 item.
m_url = element.attribute(
"url");
39 items.append(category);
57 QDomElement categoryDom =
writeDomElement(rootDom,
"category", {
"value", item.m_category});
62 {
"location", channel.m_location},
63 {
"url", channel.m_url}});
81 m_ui->topTitleCloseButton->setIcon(QIcon(
":/functions/btn_close_hover"));
83 m_ui->topTitleCloseButton->setCursor(QCursor(Qt::PointingHandCursor));
84 m_ui->topTitleCloseButton->setToolTip(tr(
"Close"));
85 connect(
m_ui->topTitleCloseButton, SIGNAL(clicked()), SLOT(close()));
89 m_ui->button->setFocusPolicy(Qt::NoFocus);
91 connect(
m_ui->button, SIGNAL(clicked()), SLOT(accept()));
108 return {
m_ui->nameEdit->text(),
m_ui->locationEdit->text(),
m_ui->pathEdit->text()};
114 m_ui->pathEdit->setReadOnly(mode);
115 m_ui->nameEdit->setReadOnly(mode);
116 m_ui->locationEdit->setReadOnly(mode);
125 m_statusChanged(false),
129 setFixedSize(
size());
132 m_ui->topTitleCloseButton->setIcon(QIcon(
":/functions/btn_close_hover"));
134 m_ui->topTitleCloseButton->setCursor(QCursor(Qt::PointingHandCursor));
135 m_ui->topTitleCloseButton->setToolTip(tr(
"Close"));
136 connect(
m_ui->topTitleCloseButton, SIGNAL(clicked()), SLOT(close()));
138 m_ui->playButton->setIcon(QIcon(
":/functions/btn_play_hover"));
139 m_ui->previousButton->setIcon(QIcon(
":/functions/btn_previous_hover"));
140 m_ui->nextButton->setIcon(QIcon(
":/functions/btn_next_hover"));
150 m_ui->playButton->setFocusPolicy(Qt::NoFocus);
151 m_ui->previousButton->setFocusPolicy(Qt::NoFocus);
152 m_ui->nextButton->setFocusPolicy(Qt::NoFocus);
153 m_ui->addButton->setFocusPolicy(Qt::NoFocus);
154 m_ui->deleteButton->setFocusPolicy(Qt::NoFocus);
155 m_ui->infoButton->setFocusPolicy(Qt::NoFocus);
158 m_ui->playButton->setIconSize(QSize(31, 31));
159 m_ui->previousButton->setIconSize(QSize(31, 31));
160 m_ui->nextButton->setIconSize(QSize(31, 31));
162 m_ui->playButton->setCursor(QCursor(Qt::PointingHandCursor));
163 m_ui->previousButton->setCursor(QCursor(Qt::PointingHandCursor));
164 m_ui->nextButton->setCursor(QCursor(Qt::PointingHandCursor));
165 m_ui->addButton->setCursor(QCursor(Qt::PointingHandCursor));
166 m_ui->deleteButton->setCursor(QCursor(Qt::PointingHandCursor));
167 m_ui->infoButton->setCursor(QCursor(Qt::PointingHandCursor));
170 m_ui->volumeSlider->setRange(0, 100);
171 m_ui->volumeSlider->setValue(100);
173 m_ui->itemTree->setHeaderLabels({{}, {}});
174 m_ui->itemTree->setColumnWidth(0, 220);
175 m_ui->itemTree->setColumnWidth(1, 100);
177 m_ui->itemTree->header()->setVisible(
false);
179 m_ui->itemTree->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
181 m_ui->itemTree->setFocusPolicy(Qt::NoFocus);
185 delegateTitle->
setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
187 m_ui->itemTree->setItemDelegateForColumn(0, delegateTitle);
191 delegateName->
setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
193 m_ui->itemTree->setItemDelegateForColumn(1, delegateName);
198 connect(
m_ui->playButton, SIGNAL(clicked()), SLOT(
radioPlay()));
200 connect(
m_ui->nextButton, SIGNAL(clicked()), SLOT(
radioNext()));
204 connect(
m_ui->volumeSlider, SIGNAL(valueChanged(
int)), SLOT(
radioVolume(
int)));
205 connect(
m_ui->itemTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,
int)), SLOT(
radioItemChanged(QTreeWidgetItem*,
int)));
216 if(item && column == 0)
245 m_ui->playButton->setIcon(QIcon(
m_isPlaying ?
":/functions/btn_pause_hover" :
":/functions/btn_play_hover"));
282 MusicFMCategoryList categorys;
288 if(!categorys.isEmpty())
296 QWidget::closeEvent(event);
301 MusicFMCategoryList categorys;
313 QTreeWidgetItem *item =
new QTreeWidgetItem(
m_ui->itemTree);
315 m_ui->itemTree->addTopLevelItem(item);
319 QTreeWidgetItem *it =
new QTreeWidgetItem(item);
327 if(!categorys.isEmpty())
335 const int v =
m_ui->volumeSlider->value();
336 m_ui->volumeSlider->setValue(0);
337 m_ui->volumeSlider->setValue(v);
366 m_ui->gifLabel_1->start();
367 m_ui->gifLabel_2->start();
368 m_ui->gifLabel_3->start();
369 m_ui->gifLabel_4->start();
370 m_ui->gifLabel_5->start();
385 if(!ok || index < 0 || index >=
m_items.count())
413 QTreeWidgetItem *item =
m_ui->itemTree->topLevelItem(
m_ui->itemTree->topLevelItemCount() - 1);
419 QTreeWidgetItem *it =
new QTreeWidgetItem(item);
432 message.
setText(tr(
"Are you sure to delete?"));
438 QTreeWidgetItem *item =
m_ui->itemTree->currentItem();
452 for(
int i = index - offset + 1; i < item->parent()->childCount(); ++i)
454 item->parent()->child(i)->setData(0,
TTK_DATA_ROLE, offset + i - 1);
457 item->parent()->removeChild(item);
The class of the ttk xml interface.
The class of the label item delegate.
void setText(const QString &text) const
QDomDocument * m_document
static const QString SliderStyle10
MusicFMChannelList m_items
bool fromFile(const QString &name)
The class of the fm config manager.
QDomElement writeDomElement(QDomElement &element, const QString &node) const
void setStyleSheet(const QString &style) const
The class of the messagebox widget.
void setVolume(int value)
QDomElement writeDomMultiElement(QDomElement &element, const QString &node, const TTKXmlNode &attrs) const
static void popup(const QString &text)
void setAlignment(Qt::Alignment alignment) const
static const QString ScrollBarStyle03
void createProcessingInstruction() const
QDomElement createRoot(const QString &node) const
static const QString ColorStyle02
static const QString BackgroundStyle01
Background.
The class of the fm channel item.
virtual bool writeBuffer(const MusicFMCategoryList &items) overridefinal
static const QString PushButtonStyle04
The class of the moving dialog base.
The class of the mplayer core.
static const QString ToolButtonStyle04
The class of the fm category item.
void setModuleMode(TTKUInt8 mode)
void setMedia(Module type, const QString &data, int winId=-1)
virtual bool readBuffer(MusicFMCategoryList &items) overridefinal
static qint64 formatDuration(const QString &time) noexcept