-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhostmulticast.cpp
69 lines (64 loc) · 2 KB
/
hostmulticast.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include "hostmulticast.h"
#include "ui_hostmulticast.h"
HostMulticast::HostMulticast(QWidget *parent) :
QDialog(parent),
ui(new Ui::HostMulticast)
{
ui->setupUi(this);
QWidget::setWindowIcon(style()->standardIcon(QStyle::SP_MediaPlay));
playlist_ = new QStringList();
ui->playButton->setText("Play");
ui->playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
emit startMulticast(playlist_);
this->setFixedSize(733,477);
}
HostMulticast::~HostMulticast()
{
delete ui;
}
void HostMulticast::on_playButton_clicked()
{
if(ui->playlistWidget->count() > 0) {
if(ui->playButton->text() == "Pause") {
ui->playButton->setText("Play");
ui->playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
emit pause();
} else {
ui->playButton->setText("Pause");
ui->playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause));
emit play();
}
}
}
void HostMulticast::on_localLibraryList_itemDoubleClicked(QListWidgetItem* item)
{
ui->playlistWidget->addItem(new QListWidgetItem(item->text()));
playlist_->append(findFullPath(item->text()));
}
QString HostMulticast::findFullPath(QString filename) {
QString fullPath;
for (int i = 0; i < library_.size();++i){
fullPath = library_.at(i);
if(fullPath.contains(filename)) {
return fullPath;
}
}
return NULL;
}
void HostMulticast::loadLibrary(QStringList* library) {
ui->localLibraryList->clear();
library_ = QStringList(*library);
QString fileName, songTitle;
for (int i = 0; i < library_.size();++i){
fileName = library_.at(i);
if(fileName.contains(".wav")) {
int n = fileName.lastIndexOf('/');
int s = fileName.size() - n - 1;
songTitle = fileName.right(s);
ui->localLibraryList->addItem(new QListWidgetItem(songTitle));
}
}
}
QStringList* HostMulticast::getPlaylist() {
return playlist_;
}