aboutsummaryrefslogtreecommitdiff
path: root/qmidiplayer-desktop/qmpplistwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qmidiplayer-desktop/qmpplistwindow.cpp')
-rw-r--r--qmidiplayer-desktop/qmpplistwindow.cpp532
1 files changed, 285 insertions, 247 deletions
diff --git a/qmidiplayer-desktop/qmpplistwindow.cpp b/qmidiplayer-desktop/qmpplistwindow.cpp
index 5b46fb6..55cc980 100644
--- a/qmidiplayer-desktop/qmpplistwindow.cpp
+++ b/qmidiplayer-desktop/qmpplistwindow.cpp
@@ -13,340 +13,378 @@
#define setButtonHeight(x,h) {x->setMaximumHeight(h*(logicalDpiY()/96.));x->setMinimumHeight(h*(logicalDpiY()/96.));}
qmpPlistWindow::qmpPlistWindow(QWidget *parent):
- QWidget(parent,Qt::Dialog),
- ui(new Ui::qmpPlistWindow)
+ QWidget(parent, Qt::Dialog),
+ ui(new Ui::qmpPlistWindow)
{
- ui->setupUi(this);
- setButtonHeight(ui->pbAdd,36);setButtonHeight(ui->pbAddFolder,36);
- setButtonHeight(ui->pbClear,36);setButtonHeight(ui->pbLoad,36);
- setButtonHeight(ui->pbRemove,36);setButtonHeight(ui->pbRepeat,36);
- setButtonHeight(ui->pbSave,36);setButtonHeight(ui->pbShuffle,36);
- connect(this,&qmpPlistWindow::selectionChanging,(qmpMainWindow*)parent,&qmpMainWindow::selectionChanged);
- repeat=0;shuffle=0;
- settings=qmpMainWindow::getInstance()->getSettings();
- if(settings->getOptionBool("Behavior/RestorePlaylist"))
- {
- QSettings* plist=new QSettings(QStandardPaths::writableLocation(QStandardPaths::StandardLocation::ConfigLocation)+QString("/qmpplist"),
- QSettings::IniFormat);
- int fc=plist->value("Playlist/FileCount",0).toInt();
- ui->lwFiles->clear();for(int i=0;i<fc;++i)
- ui->lwFiles->addItem(plist->value("Playlist/File"+QString("%1").arg(i,5,10,QChar('0')),"").toString());
- repeat=plist->value("Playlist/Repeat",0).toInt();
- shuffle=plist->value("Playlist/Shuffle",0).toInt();
- switch(shuffle)
- {
- case 1:
- ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle.svg")));
- ui->pbShuffle->setText("Shuffle On");
- break;
- case 0:
- default:
- ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle-off.svg")));
- ui->pbShuffle->setText("Shuffle Off");
- break;
- }
- switch(repeat)
- {
- case 0:
- ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-non.svg")));
- ui->pbRepeat->setText("Repeat Off");
- break;
- case 1:
- ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-one.svg")));
- ui->pbRepeat->setText("Repeat One");
- break;
- case 2:
- ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-all.svg")));
- ui->pbRepeat->setText("Repeat All");
- break;
- }
- delete plist;
- }
- ui->pbAdd->setIcon(QIcon(getThemedIcon(":/img/add.svg")));
- ui->pbRemove->setIcon(QIcon(getThemedIcon(":/img/remove.svg")));
- ui->pbClear->setIcon(QIcon(getThemedIcon(":/img/clear.svg")));
- ui->pbAddFolder->setIcon(QIcon(getThemedIcon(":/img/addfolder.svg")));
- ui->pbSave->setIcon(QIcon(getThemedIcon(":/img/save.svg")));
- ui->pbLoad->setIcon(QIcon(getThemedIcon(":/img/load.svg")));
- qmpMainWindow::getInstance()->registerFunctionality(
- plistf=new qmpPlistFunc(this),
- std::string("Playlist"),
- tr("Playlist").toStdString(),
- getThemedIconc(":/img/list.svg"),
- 0,
- true
- );
- if(settings->getOptionRaw("DialogStatus/PListW",QRect(-999,-999,999,999)).toRect()!=QRect(-999,-999,999,999))
- setGeometry(settings->getOptionRaw("DialogStatus/PListW",QRect(-999,-999,999,999)).toRect());
- if(settings->getOptionRaw("DialogStatus/PListWShown",0).toInt())
- {show();qmpMainWindow::getInstance()->setFuncState("Playlist",true);}
+ ui->setupUi(this);
+ setButtonHeight(ui->pbAdd, 36);
+ setButtonHeight(ui->pbAddFolder, 36);
+ setButtonHeight(ui->pbClear, 36);
+ setButtonHeight(ui->pbLoad, 36);
+ setButtonHeight(ui->pbRemove, 36);
+ setButtonHeight(ui->pbRepeat, 36);
+ setButtonHeight(ui->pbSave, 36);
+ setButtonHeight(ui->pbShuffle, 36);
+ connect(this, &qmpPlistWindow::selectionChanging, (qmpMainWindow *)parent, &qmpMainWindow::selectionChanged);
+ repeat = 0;
+ shuffle = 0;
+ settings = qmpMainWindow::getInstance()->getSettings();
+ if (settings->getOptionBool("Behavior/RestorePlaylist"))
+ {
+ QSettings *plist = new QSettings(QStandardPaths::writableLocation(QStandardPaths::StandardLocation::ConfigLocation) + QString("/qmpplist"),
+ QSettings::IniFormat);
+ int fc = plist->value("Playlist/FileCount", 0).toInt();
+ ui->lwFiles->clear();
+ for (int i = 0; i < fc; ++i)
+ ui->lwFiles->addItem(plist->value("Playlist/File" + QString("%1").arg(i, 5, 10, QChar('0')), "").toString());
+ repeat = plist->value("Playlist/Repeat", 0).toInt();
+ shuffle = plist->value("Playlist/Shuffle", 0).toInt();
+ switch (shuffle)
+ {
+ case 1:
+ ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle.svg")));
+ ui->pbShuffle->setText("Shuffle On");
+ break;
+ case 0:
+ default:
+ ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle-off.svg")));
+ ui->pbShuffle->setText("Shuffle Off");
+ break;
+ }
+ switch (repeat)
+ {
+ case 0:
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-non.svg")));
+ ui->pbRepeat->setText("Repeat Off");
+ break;
+ case 1:
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-one.svg")));
+ ui->pbRepeat->setText("Repeat One");
+ break;
+ case 2:
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-all.svg")));
+ ui->pbRepeat->setText("Repeat All");
+ break;
+ }
+ delete plist;
+ }
+ ui->pbAdd->setIcon(QIcon(getThemedIcon(":/img/add.svg")));
+ ui->pbRemove->setIcon(QIcon(getThemedIcon(":/img/remove.svg")));
+ ui->pbClear->setIcon(QIcon(getThemedIcon(":/img/clear.svg")));
+ ui->pbAddFolder->setIcon(QIcon(getThemedIcon(":/img/addfolder.svg")));
+ ui->pbSave->setIcon(QIcon(getThemedIcon(":/img/save.svg")));
+ ui->pbLoad->setIcon(QIcon(getThemedIcon(":/img/load.svg")));
+ qmpMainWindow::getInstance()->registerFunctionality(
+ plistf = new qmpPlistFunc(this),
+ std::string("Playlist"),
+ tr("Playlist").toStdString(),
+ getThemedIconc(":/img/list.svg"),
+ 0,
+ true
+ );
+ if (settings->getOptionRaw("DialogStatus/PListW", QRect(-999, -999, 999, 999)).toRect() != QRect(-999, -999, 999, 999))
+ setGeometry(settings->getOptionRaw("DialogStatus/PListW", QRect(-999, -999, 999, 999)).toRect());
+ if (settings->getOptionRaw("DialogStatus/PListWShown", 0).toInt())
+ {
+ show();
+ qmpMainWindow::getInstance()->setFuncState("Playlist", true);
+ }
}
qmpPlistWindow::~qmpPlistWindow()
{
- qmpMainWindow::getInstance()->unregisterFunctionality("Playlist");
- delete plistf;
- delete ui;
+ qmpMainWindow::getInstance()->unregisterFunctionality("Playlist");
+ delete plistf;
+ delete ui;
}
void qmpPlistWindow::showEvent(QShowEvent *event)
{
- if(settings->getOptionBool("Behavior/DialogStatus"))
- {
- settings->setOptionRaw("DialogStatus/PListWShown",1);
- }
- if(settings->getOptionRaw("DialogStatus/PListW",QRect(-999,-999,999,999)).toRect()!=QRect(-999,-999,999,999))
- setGeometry(settings->getOptionRaw("DialogStatus/PListW",QRect(-999,-999,999,999)).toRect());
- event->accept();
+ if (settings->getOptionBool("Behavior/DialogStatus"))
+ {
+ settings->setOptionRaw("DialogStatus/PListWShown", 1);
+ }
+ if (settings->getOptionRaw("DialogStatus/PListW", QRect(-999, -999, 999, 999)).toRect() != QRect(-999, -999, 999, 999))
+ setGeometry(settings->getOptionRaw("DialogStatus/PListW", QRect(-999, -999, 999, 999)).toRect());
+ event->accept();
}
void qmpPlistWindow::closeEvent(QCloseEvent *event)
{
- if(settings->getOptionBool("Behavior/DialogStatus"))
- {
- settings->setOptionRaw("DialogStatus/PListW",geometry());
- }
- setVisible(false);
- if(!qmpMainWindow::getInstance()->isFinalizing())
- while(ui->lwFiles->count()>1)delete ui->lwFiles->item(0);
- if(!qmpMainWindow::getInstance()->isFinalizing()&&settings->getOptionBool("Behavior/DialogStatus"))
- {
- settings->setOptionRaw("DialogStatus/PListWShown",0);
- }
- if(qmpMainWindow::getInstance()->isFinalizing()&&settings->getOptionBool("Behavior/RestorePlaylist"))
- {
- QSettings* plist=new QSettings(QStandardPaths::writableLocation(QStandardPaths::StandardLocation::ConfigLocation)+QString("/qmpplist"),
- QSettings::IniFormat);
- plist->setValue("Playlist/FileCount",ui->lwFiles->count());
- for(int i=0;i<ui->lwFiles->count();++i)
- plist->setValue("Playlist/File"+QString("%1").arg(i,5,10,QChar('0')),ui->lwFiles->item(i)->text());
- plist->setValue("Playlist/Repeat",repeat);
- plist->setValue("Playlist/Shuffle",shuffle);
- plist->sync();
- delete plist;
- }
- qmpMainWindow::getInstance()->setFuncState("Playlist",false);
- event->accept();
+ if (settings->getOptionBool("Behavior/DialogStatus"))
+ {
+ settings->setOptionRaw("DialogStatus/PListW", geometry());
+ }
+ setVisible(false);
+ if (!qmpMainWindow::getInstance()->isFinalizing())
+ while (ui->lwFiles->count() > 1)
+ delete ui->lwFiles->item(0);
+ if (!qmpMainWindow::getInstance()->isFinalizing() && settings->getOptionBool("Behavior/DialogStatus"))
+ {
+ settings->setOptionRaw("DialogStatus/PListWShown", 0);
+ }
+ if (qmpMainWindow::getInstance()->isFinalizing() && settings->getOptionBool("Behavior/RestorePlaylist"))
+ {
+ QSettings *plist = new QSettings(QStandardPaths::writableLocation(QStandardPaths::StandardLocation::ConfigLocation) + QString("/qmpplist"),
+ QSettings::IniFormat);
+ plist->setValue("Playlist/FileCount", ui->lwFiles->count());
+ for (int i = 0; i < ui->lwFiles->count(); ++i)
+ plist->setValue("Playlist/File" + QString("%1").arg(i, 5, 10, QChar('0')), ui->lwFiles->item(i)->text());
+ plist->setValue("Playlist/Repeat", repeat);
+ plist->setValue("Playlist/Shuffle", shuffle);
+ plist->sync();
+ delete plist;
+ }
+ qmpMainWindow::getInstance()->setFuncState("Playlist", false);
+ event->accept();
}
void qmpPlistWindow::dropEvent(QDropEvent *event)
{
- QList<QUrl> l=event->mimeData()->urls();
- QStringList sl;
- for(int i=0;i<l.size();++i)
- sl.push_back(l.at(i).toLocalFile());
- insertItems(sl);
+ QList<QUrl> l = event->mimeData()->urls();
+ QStringList sl;
+ for (int i = 0; i < l.size(); ++i)
+ sl.push_back(l.at(i).toLocalFile());
+ insertItems(sl);
}
void qmpPlistWindow::dragEnterEvent(QDragEnterEvent *event)
{
- //if(event->mimeData()->hasFormat("application/x-midi"))
- event->acceptProposedAction();
+ //if(event->mimeData()->hasFormat("application/x-midi"))
+ event->acceptProposedAction();
}
void qmpPlistWindow::emptyList()
{
- ui->lwFiles->clear();
+ ui->lwFiles->clear();
}
void qmpPlistWindow::insertItem(QString i)
{
- ui->lwFiles->addItem(new QListWidgetItem(i));
+ ui->lwFiles->addItem(new QListWidgetItem(i));
}
void qmpPlistWindow::insertItems(QStringList il)
{
- ui->lwFiles->addItems(il);
+ ui->lwFiles->addItems(il);
}
int qmpPlistWindow::on_pbAdd_clicked()
{
- QStringList sl;
- if(settings->getOptionBool("Behavior/DialogStatus"))
- sl=QFileDialog::getOpenFileNames(this,"Add File",settings->getOptionRaw("DialogStatus/FileDialogPath","").toString(),"Midi files (*.mid *.midi)");
- else
- sl=QFileDialog::getOpenFileNames(this,"Add File","","Midi files (*.mid *.midi *.rmi)");
- if(sl.empty())return 0;
- for(int i=0;i<sl.size();++i)
- ui->lwFiles->addItem(new QListWidgetItem(sl.at(i)));
- if(!isVisible())while(ui->lwFiles->count()>1)delete ui->lwFiles->item(0);
- if(settings->getOptionBool("Behavior/DialogStatus"))
- settings->setOptionRaw("DialogStatus/FileDialogPath",
- QUrl(sl.at(0)).toString(QUrl::RemoveFilename));
- return 1;
+ QStringList sl;
+ if (settings->getOptionBool("Behavior/DialogStatus"))
+ sl = QFileDialog::getOpenFileNames(this, "Add File", settings->getOptionRaw("DialogStatus/FileDialogPath", "").toString(), "Midi files (*.mid *.midi)");
+ else
+ sl = QFileDialog::getOpenFileNames(this, "Add File", "", "Midi files (*.mid *.midi *.rmi)");
+ if (sl.empty())
+ return 0;
+ for (int i = 0; i < sl.size(); ++i)
+ ui->lwFiles->addItem(new QListWidgetItem(sl.at(i)));
+ if (!isVisible())
+ while (ui->lwFiles->count() > 1)
+ delete ui->lwFiles->item(0);
+ if (settings->getOptionBool("Behavior/DialogStatus"))
+ settings->setOptionRaw("DialogStatus/FileDialogPath",
+ QUrl(sl.at(0)).toString(QUrl::RemoveFilename));
+ return 1;
}
void qmpPlistWindow::on_pbAddFolder_clicked()
{
- QDirIterator di(QFileDialog::getExistingDirectory(this,"Add Folder"));
- while(di.hasNext())
- {
- QString c=di.next();
- if((c.endsWith(".mid")||c.endsWith(".midi")||c.endsWith(".rmi"))&&fluid_is_midifile(c.toStdString().c_str()))
- ui->lwFiles->addItem(new QListWidgetItem(c));
- }
+ QDirIterator di(QFileDialog::getExistingDirectory(this, "Add Folder"));
+ while (di.hasNext())
+ {
+ QString c = di.next();
+ if ((c.endsWith(".mid") || c.endsWith(".midi") || c.endsWith(".rmi")) && fluid_is_midifile(c.toStdString().c_str()))
+ ui->lwFiles->addItem(new QListWidgetItem(c));
+ }
}
void qmpPlistWindow::on_pbRemove_clicked()
{
- QList<QListWidgetItem*> sl=ui->lwFiles->selectedItems();
- for(int i=0;i<sl.size();++i)
- {
- ui->lwFiles->removeItemWidget(sl.at(i));
- delete sl.at(i);
- }
+ QList<QListWidgetItem *> sl = ui->lwFiles->selectedItems();
+ for (int i = 0; i < sl.size(); ++i)
+ {
+ ui->lwFiles->removeItemWidget(sl.at(i));
+ delete sl.at(i);
+ }
}
void qmpPlistWindow::on_pbClear_clicked()
{
- while(ui->lwFiles->count()>0)
- {
- QListWidgetItem *d=ui->lwFiles->item(0);
- ui->lwFiles->removeItemWidget(d);
- delete d;
- }
+ while (ui->lwFiles->count() > 0)
+ {
+ QListWidgetItem *d = ui->lwFiles->item(0);
+ ui->lwFiles->removeItemWidget(d);
+ delete d;
+ }
}
void qmpPlistWindow::on_pbRepeat_clicked()
{
- ++repeat;repeat%=3;
- switch(repeat)
- {
- case 0:
- ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-non.svg")));
- ui->pbRepeat->setText(tr("Repeat Off"));
- break;
- case 1:
- ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-one.svg")));
- ui->pbRepeat->setText(tr("Repeat One"));
- break;
- case 2:
- ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-all.svg")));
- ui->pbRepeat->setText(tr("Repeat All"));
- break;
- }
+ ++repeat;
+ repeat %= 3;
+ switch (repeat)
+ {
+ case 0:
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-non.svg")));
+ ui->pbRepeat->setText(tr("Repeat Off"));
+ break;
+ case 1:
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-one.svg")));
+ ui->pbRepeat->setText(tr("Repeat One"));
+ break;
+ case 2:
+ ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-all.svg")));
+ ui->pbRepeat->setText(tr("Repeat All"));
+ break;
+ }
}
void qmpPlistWindow::on_pbShuffle_clicked()
{
- shuffle=1-shuffle;
- switch(shuffle)
- {
- case 1:
- ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle.svg")));
- ui->pbShuffle->setText(tr("Shuffle On"));
- break;
- case 0:
- default:
- ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle-off.svg")));
- ui->pbShuffle->setText(tr("Shuffle Off"));
- break;
- }
+ shuffle = 1 - shuffle;
+ switch (shuffle)
+ {
+ case 1:
+ ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle.svg")));
+ ui->pbShuffle->setText(tr("Shuffle On"));
+ break;
+ case 0:
+ default:
+ ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle-off.svg")));
+ ui->pbShuffle->setText(tr("Shuffle Off"));
+ break;
+ }
}
QString qmpPlistWindow::getFirstItem(bool a)
{
- if(ui->lwFiles->count()==0)return QString();
- int id=0;
- if(shuffle&&!a)id=rand()%ui->lwFiles->count();
- ui->lwFiles->setCurrentRow(id);
- return ui->lwFiles->item(id)->text();
+ if (ui->lwFiles->count() == 0)
+ return QString();
+ int id = 0;
+ if (shuffle && !a)
+ id = rand() % ui->lwFiles->count();
+ ui->lwFiles->setCurrentRow(id);
+ return ui->lwFiles->item(id)->text();
}
QString qmpPlistWindow::getLastItem(bool a)
{
- if(ui->lwFiles->count()==0)return QString();
- int id=ui->lwFiles->count()-1;
- if(shuffle&&!a)id=rand()%ui->lwFiles->count();
- ui->lwFiles->setCurrentRow(id);
- return ui->lwFiles->item(id)->text();
+ if (ui->lwFiles->count() == 0)
+ return QString();
+ int id = ui->lwFiles->count() - 1;
+ if (shuffle && !a)
+ id = rand() % ui->lwFiles->count();
+ ui->lwFiles->setCurrentRow(id);
+ return ui->lwFiles->item(id)->text();
}
QString qmpPlistWindow::getNextItem()
{
- if(ui->lwFiles->count()==0)return QString();
- if(repeat==1)return ui->lwFiles->item(ui->lwFiles->currentRow())->text();
- int id=ui->lwFiles->currentRow();++id;id%=ui->lwFiles->count();
- if(shuffle)id=rand()%ui->lwFiles->count();
- ui->lwFiles->setCurrentRow(id);
- return ui->lwFiles->item(id)->text();
+ if (ui->lwFiles->count() == 0)
+ return QString();
+ if (repeat == 1)
+ return ui->lwFiles->item(ui->lwFiles->currentRow())->text();
+ int id = ui->lwFiles->currentRow();
+ ++id;
+ id %= ui->lwFiles->count();
+ if (shuffle)
+ id = rand() % ui->lwFiles->count();
+ ui->lwFiles->setCurrentRow(id);
+ return ui->lwFiles->item(id)->text();
}
QString qmpPlistWindow::getPrevItem()
{
- if(ui->lwFiles->count()==0)return QString();
- if(repeat==1)return ui->lwFiles->item(ui->lwFiles->currentRow())->text();
- int id=ui->lwFiles->currentRow();--id;
- id<0?id+=ui->lwFiles->count():0;
- if(shuffle)id=rand()%ui->lwFiles->count();
- ui->lwFiles->setCurrentRow(id);
- return ui->lwFiles->item(id)->text();
+ if (ui->lwFiles->count() == 0)
+ return QString();
+ if (repeat == 1)
+ return ui->lwFiles->item(ui->lwFiles->currentRow())->text();
+ int id = ui->lwFiles->currentRow();
+ --id;
+ id < 0 ? id += ui->lwFiles->count() : 0;
+ if (shuffle)
+ id = rand() % ui->lwFiles->count();
+ ui->lwFiles->setCurrentRow(id);
+ return ui->lwFiles->item(id)->text();
}
QString qmpPlistWindow::getSelectedItem()
{
- if(ui->lwFiles->count()==0)return QString();
- return ui->lwFiles->item(ui->lwFiles->currentRow())->text();
+ if (ui->lwFiles->count() == 0)
+ return QString();
+ return ui->lwFiles->item(ui->lwFiles->currentRow())->text();
+}
+int qmpPlistWindow::getRepeat()
+{
+ return repeat;
}
-int qmpPlistWindow::getRepeat(){return repeat;}
void qmpPlistWindow::on_lwFiles_itemDoubleClicked()
{
- emit selectionChanging();
+ emit selectionChanging();
}
void qmpPlistWindow::on_pbSave_clicked()
{
- QSettings* plist=new QSettings(QFileDialog::getSaveFileName(this,tr("Save playlist"),""),
- QSettings::IniFormat);
- plist->setValue("Playlist/FileCount",ui->lwFiles->count());
- for(int i=0;i<ui->lwFiles->count();++i)
- plist->setValue("Playlist/File"+QString("%1").arg(i,5,10,QChar('0')),ui->lwFiles->item(i)->text());
- plist->setValue("Playlist/Repeat",repeat);
- plist->setValue("Playlist/Shuffle",shuffle);
- plist->sync();
- delete plist;
+ QSettings *plist = new QSettings(QFileDialog::getSaveFileName(this, tr("Save playlist"), ""),
+ QSettings::IniFormat);
+ plist->setValue("Playlist/FileCount", ui->lwFiles->count());
+ for (int i = 0; i < ui->lwFiles->count(); ++i)
+ plist->setValue("Playlist/File" + QString("%1").arg(i, 5, 10, QChar('0')), ui->lwFiles->item(i)->text());
+ plist->setValue("Playlist/Repeat", repeat);
+ plist->setValue("Playlist/Shuffle", shuffle);
+ plist->sync();
+ delete plist;
}
void qmpPlistWindow::on_pbLoad_clicked()
{
- QSettings* plist=new QSettings(QFileDialog::getOpenFileName(this,tr("Load playlist"),""),
- QSettings::IniFormat);
- int fc=plist->value("Playlist/FileCount",0).toInt();
- if(!fc){delete plist;return;}
- ui->lwFiles->clear();for(int i=0;i<fc;++i)
- ui->lwFiles->addItem(plist->value("Playlist/File"+QString("%1").arg(i,5,10,QChar('0')),"").toString());
- repeat=plist->value("Playlist/Repeat",0).toInt();
- shuffle=plist->value("Playlist/Shuffle",0).toInt();
- switch(shuffle)
- {
- case 1:
- ui->pbShuffle->setIcon(QIcon(":/img/shuffle.svg"));
- ui->pbShuffle->setText(tr("Shuffle On"));
- break;
- case 0:
- default:
- ui->pbShuffle->setIcon(QIcon(":/img/shuffle-off.svg"));
- ui->pbShuffle->setText(tr("Shuffle Off"));
- break;
- }
- switch(repeat)
- {
- case 0:
- ui->pbRepeat->setIcon(QIcon(":/img/repeat-non.svg"));
- ui->pbRepeat->setText(tr("Repeat Off"));
- break;
- case 1:
- ui->pbRepeat->setIcon(QIcon(":/img/repeat-one.svg"));
- ui->pbRepeat->setText(tr("Repeat One"));
- break;
- case 2:
- ui->pbRepeat->setIcon(QIcon(":/img/repeat-all.svg"));
- ui->pbRepeat->setText(tr("Repeat All"));
- break;
- }
- delete plist;
+ QSettings *plist = new QSettings(QFileDialog::getOpenFileName(this, tr("Load playlist"), ""),
+ QSettings::IniFormat);
+ int fc = plist->value("Playlist/FileCount", 0).toInt();
+ if (!fc)
+ {
+ delete plist;
+ return;
+ }
+ ui->lwFiles->clear();
+ for (int i = 0; i < fc; ++i)
+ ui->lwFiles->addItem(plist->value("Playlist/File" + QString("%1").arg(i, 5, 10, QChar('0')), "").toString());
+ repeat = plist->value("Playlist/Repeat", 0).toInt();
+ shuffle = plist->value("Playlist/Shuffle", 0).toInt();
+ switch (shuffle)
+ {
+ case 1:
+ ui->pbShuffle->setIcon(QIcon(":/img/shuffle.svg"));
+ ui->pbShuffle->setText(tr("Shuffle On"));
+ break;
+ case 0:
+ default:
+ ui->pbShuffle->setIcon(QIcon(":/img/shuffle-off.svg"));
+ ui->pbShuffle->setText(tr("Shuffle Off"));
+ break;
+ }
+ switch (repeat)
+ {
+ case 0:
+ ui->pbRepeat->setIcon(QIcon(":/img/repeat-non.svg"));
+ ui->pbRepeat->setText(tr("Repeat Off"));
+ break;
+ case 1:
+ ui->pbRepeat->setIcon(QIcon(":/img/repeat-one.svg"));
+ ui->pbRepeat->setText(tr("Repeat One"));
+ break;
+ case 2:
+ ui->pbRepeat->setIcon(QIcon(":/img/repeat-all.svg"));
+ ui->pbRepeat->setText(tr("Repeat All"));
+ break;
+ }
+ delete plist;
}
qmpPlistFunc::qmpPlistFunc(qmpPlistWindow *par)
-{p=par;}
+{
+ p = par;
+}
void qmpPlistFunc::show()
{
- p->show();
+ p->show();
}
void qmpPlistFunc::close()
{
- p->close();
+ p->close();
}