aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/library/libraryfactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-01-16 19:03:33 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-01-16 19:03:33 +0000
commit7d9b7792aeb3db45e235f923061254de96d37e04 (patch)
tree745157293cdfb97f2de6892be4f2bdd95ac7e025 /src/plugins/General/library/libraryfactory.cpp
parent4762863d93e56b9d4766e65a0247c8811b4c6756 (diff)
downloadqmmp-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.cpp21
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;