From 7d9b7792aeb3db45e235f923061254de96d37e04 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 16 Jan 2021 19:03:33 +0000 Subject: 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 --- src/plugins/General/library/libraryfactory.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/plugins/General/library/libraryfactory.cpp') 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 +#include #include #include #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; -- cgit v1.2.3-13-gbd6f