1 /* 2 * %kadu copyright begin% 3 * Copyright 2015 Rafał Przemysław Malinowski (rafal.przemyslaw.malinowski@gmail.com) 4 * %kadu copyright end% 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; either version 2 of 9 * the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #include "mpris-player-plugin-object.h" 21 22 #include "mpris-player-configuration-ui-handler.h" 23 #include "mpris-player.h" 24 25 #include "plugins/mediaplayer/mediaplayer-plugin-object.h" 26 #include "plugins/mediaplayer/mediaplayer.h" 27 28 #include "configuration/gui/configuration-ui-handler-repository.h" 29 #include "gui/windows/main-configuration-window-service.h" 30 #include "gui/windows/main-configuration-window.h" 31 #include "misc/paths-provider.h" 32 MprisPlayerPluginObject(QObject * parent)33MprisPlayerPluginObject::MprisPlayerPluginObject(QObject *parent) : 34 QObject{parent} 35 { 36 } 37 ~MprisPlayerPluginObject()38MprisPlayerPluginObject::~MprisPlayerPluginObject() 39 { 40 } 41 setConfigurationUiHandlerRepository(ConfigurationUiHandlerRepository * configurationUiHandlerRepository)42void MprisPlayerPluginObject::setConfigurationUiHandlerRepository(ConfigurationUiHandlerRepository *configurationUiHandlerRepository) 43 { 44 m_configurationUiHandlerRepository = configurationUiHandlerRepository; 45 } 46 setMainConfigurationWindowService(MainConfigurationWindowService * mainConfigurationWindowService)47void MprisPlayerPluginObject::setMainConfigurationWindowService(MainConfigurationWindowService *mainConfigurationWindowService) 48 { 49 m_mainConfigurationWindowService = mainConfigurationWindowService; 50 } 51 setMediaPlayer(MediaPlayer * mediaPlayer)52void MprisPlayerPluginObject::setMediaPlayer(MediaPlayer *mediaPlayer) 53 { 54 m_mediaPlayer = mediaPlayer; 55 } 56 setMPRISPlayerConfigurationUiHandler(MPRISPlayerConfigurationUiHandler * mprisPlayerConfigurationUiHandler)57void MprisPlayerPluginObject::setMPRISPlayerConfigurationUiHandler(MPRISPlayerConfigurationUiHandler *mprisPlayerConfigurationUiHandler) 58 { 59 m_mprisPlayerConfigurationUiHandler = mprisPlayerConfigurationUiHandler; 60 } 61 setMPRISPlayer(MPRISPlayer * mprisPlayer)62void MprisPlayerPluginObject::setMPRISPlayer(MPRISPlayer *mprisPlayer) 63 { 64 m_mprisPlayer = mprisPlayer; 65 } 66 setPathsProvider(PathsProvider * pathsProvider)67void MprisPlayerPluginObject::setPathsProvider(PathsProvider *pathsProvider) 68 { 69 m_pathsProvider = pathsProvider; 70 } 71 init()72void MprisPlayerPluginObject::init() 73 { 74 m_mainConfigurationWindowService->registerUiFile(m_pathsProvider->dataPath() + QStringLiteral("plugins/configuration/mprisplayer_mediaplayer.ui")); 75 m_configurationUiHandlerRepository->addConfigurationUiHandler(m_mprisPlayerConfigurationUiHandler); 76 77 if (!m_mediaPlayer->registerMediaPlayer(m_mprisPlayer, m_mprisPlayer)) 78 { 79 m_mediaPlayer->unregisterMediaPlayer(); 80 m_mediaPlayer->registerMediaPlayer(m_mprisPlayer, m_mprisPlayer); 81 } 82 83 m_mprisPlayer->configurationApplied(); 84 } 85 done()86void MprisPlayerPluginObject::done() 87 { 88 m_mediaPlayer->unregisterMediaPlayer(); 89 m_configurationUiHandlerRepository->removeConfigurationUiHandler(m_mprisPlayerConfigurationUiHandler); 90 m_mainConfigurationWindowService->unregisterUiFile(m_pathsProvider->dataPath() + QStringLiteral("plugins/configuration/mprisplayer_mediaplayer.ui")); 91 } 92 93 #include "moc_mpris-player-plugin-object.cpp" 94