Skip to content

Commit

Permalink
Don't use default playlist if started with files in args.
Browse files Browse the repository at this point in the history
  • Loading branch information
chirs241097 committed Nov 10, 2023
1 parent 095716f commit 382d85b
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
5 changes: 5 additions & 0 deletions qmidiplayer-desktop/qmpmainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,11 @@ int qmpMainWindow::parseArgs()
return 0;
}

bool qmpMainWindow::startedWithFiles()
{
return !argfiles.empty();
}

void qmpMainWindow::closeEvent(QCloseEvent *event)
{
if (settings->getOptionBool("Behavior/DialogStatus"))
Expand Down
1 change: 1 addition & 0 deletions qmidiplayer-desktop/qmpmainwindow.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ class qmpMainWindow: public QMainWindow
void playerSeek(uint32_t percentage);
PlaybackStatus getPlaybackStatus();
int parseArgs();
bool startedWithFiles();
void registerFunctionality(qmpFuncBaseIntf *i, std::string name, std::string desc, const char *icon, int iconlen, bool checkable);
void unregisterFunctionality(std::string name);
int registerUIHook(std::string e, ICallBack *callback, void *userdat);
Expand Down
11 changes: 6 additions & 5 deletions qmidiplayer-desktop/qmpplistwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ qmpPlistWindow::qmpPlistWindow(QWidget *parent):
repeat = 0;
shuffle = 0;
settings = qmpMainWindow::getInstance()->getSettings();
if (settings->getOptionBool("Behavior/RestorePlaylist"))
if (settings->getOptionBool("Behavior/RestorePlaylist") && !qmpMainWindow::getInstance()->startedWithFiles())
{
QSettings *plist = new QSettings(QStandardPaths::writableLocation(QStandardPaths::StandardLocation::ConfigLocation) + QString("/qmpplist"),
QSettings::IniFormat);
Expand Down Expand Up @@ -116,14 +116,15 @@ void qmpPlistWindow::closeEvent(QCloseEvent *event)
settings->setOptionRaw("DialogStatus/PListW", geometry());
}
setVisible(false);
if (!qmpMainWindow::getInstance()->isFinalizing())
auto mw = qmpMainWindow::getInstance();
if (!mw->isFinalizing())
while (ui->lwFiles->count() > 1)
delete ui->lwFiles->item(0);
if (!qmpMainWindow::getInstance()->isFinalizing() && settings->getOptionBool("Behavior/DialogStatus"))
if (!mw->isFinalizing() && settings->getOptionBool("Behavior/DialogStatus"))
{
settings->setOptionRaw("DialogStatus/PListWShown", 0);
}
if (qmpMainWindow::getInstance()->isFinalizing() && settings->getOptionBool("Behavior/RestorePlaylist"))
if (mw->isFinalizing() && settings->getOptionBool("Behavior/RestorePlaylist") && !mw->startedWithFiles())
{
QSettings *plist = new QSettings(QStandardPaths::writableLocation(QStandardPaths::StandardLocation::ConfigLocation) + QString("/qmpplist"),
QSettings::IniFormat);
Expand All @@ -135,7 +136,7 @@ void qmpPlistWindow::closeEvent(QCloseEvent *event)
plist->sync();
delete plist;
}
qmpMainWindow::getInstance()->setFuncState("Playlist", false);
mw->setFuncState("Playlist", false);
event->accept();
}

Expand Down

0 comments on commit 382d85b

Please sign in to comment.