diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-01-16 19:03:33 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-01-16 19:03:33 +0000 |
| commit | 7d9b7792aeb3db45e235f923061254de96d37e04 (patch) | |
| tree | 745157293cdfb97f2de6892be4f2bdd95ac7e025 /src/plugins/General/library/libraryfactory.cpp | |
| parent | 4762863d93e56b9d4766e65a0247c8811b4c6756 (diff) | |
| download | qmmp-7d9b7792aeb3db45e235f923061254de96d37e04.tar.gz qmmp-7d9b7792aeb3db45e235f923061254de96d37e04.tar.bz2 qmmp-7d9b7792aeb3db45e235f923061254de96d37e04.zip | |
library: added window mode (#147)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9646 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/library/libraryfactory.cpp')
| -rw-r--r-- | src/plugins/General/library/libraryfactory.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/plugins/General/library/libraryfactory.cpp b/src/plugins/General/library/libraryfactory.cpp index b19b5a709..e23063033 100644 --- a/src/plugins/General/library/libraryfactory.cpp +++ b/src/plugins/General/library/libraryfactory.cpp @@ -19,6 +19,7 @@ ***************************************************************************/ #include <QMessageBox> +#include <QAction> #include <QtPlugin> #include <qmmp/qmmp.h> #include "library.h" @@ -49,9 +50,25 @@ QWidget *LibraryFactory::createWidget(int id, QWidget *parent) { if(id == LIBRARY_WIDGET) { + if(!m_libraryWidget.isNull() && m_libraryWidget->isWindow()) + { + m_libraryWidget->close(); + delete m_libraryWidget; + } + m_libraryWidget = new LibraryWidget(false, parent); - if(!m_library.isNull() && m_library->isRunning()) - m_libraryWidget->setEnabled(false); + if(!m_library.isNull()) + { + if(m_library->isRunning()) + m_libraryWidget->setEnabled(false); + + m_library->showAction()->setVisible(false); + } + connect(m_libraryWidget, &QObject::destroyed, [=]() { + if(!m_library.isNull()) + m_library->showAction()->setVisible(true); + }); + return m_libraryWidget; } return nullptr; |
