void CMediaSettings::OnSettingAction(const CSetting *setting) { if (setting == NULL) return; const std::string &settingId = setting->GetId(); if (settingId == "karaoke.export") { CContextButtons choices; choices.Add(1, g_localizeStrings.Get(22034)); choices.Add(2, g_localizeStrings.Get(22035)); int retVal = CGUIDialogContextMenu::ShowAndGetChoice(choices); if ( retVal > 0 ) { std::string path(CProfilesManager::Get().GetDatabaseFolder()); VECSOURCES shares; g_mediaManager.GetLocalDrives(shares); if (CGUIDialogFileBrowser::ShowAndGetDirectory(shares, g_localizeStrings.Get(661), path, true)) { CMusicDatabase musicdatabase; musicdatabase.Open(); if ( retVal == 1 ) { path = URIUtils::AddFileToFolder(path, "karaoke.html"); musicdatabase.ExportKaraokeInfo( path, true ); } else { path = URIUtils::AddFileToFolder(path, "karaoke.csv"); musicdatabase.ExportKaraokeInfo( path, false ); } musicdatabase.Close(); } } } else if (settingId == "karaoke.importcsv") { std::string path(CProfilesManager::Get().GetDatabaseFolder()); VECSOURCES shares; g_mediaManager.GetLocalDrives(shares); if (CGUIDialogFileBrowser::ShowAndGetFile(shares, "karaoke.csv", g_localizeStrings.Get(651) , path)) { CMusicDatabase musicdatabase; musicdatabase.Open(); musicdatabase.ImportKaraokeInfo(path); musicdatabase.Close(); } } else if (settingId == "musiclibrary.cleanup") { if (CGUIDialogYesNo::ShowAndGetInput(CVariant{313}, CVariant{333})) g_application.StartMusicCleanup(true); } else if (settingId == "musiclibrary.export") CBuiltins::Execute("exportlibrary(music)"); else if (settingId == "musiclibrary.import") { std::string path; VECSOURCES shares; g_mediaManager.GetLocalDrives(shares); if (CGUIDialogFileBrowser::ShowAndGetFile(shares, "musicdb.xml", g_localizeStrings.Get(651) , path)) { CMusicDatabase musicdatabase; musicdatabase.Open(); musicdatabase.ImportFromXML(path); musicdatabase.Close(); } } else if (settingId == "videolibrary.cleanup") { if (CGUIDialogYesNo::ShowAndGetInput(CVariant{313}, CVariant{333})) g_application.StartVideoCleanup(true); } else if (settingId == "videolibrary.export") CBuiltins::Execute("exportlibrary(video)"); else if (settingId == "videolibrary.import") { std::string path; VECSOURCES shares; g_mediaManager.GetLocalDrives(shares); if (CGUIDialogFileBrowser::ShowAndGetDirectory(shares, g_localizeStrings.Get(651) , path)) { CVideoDatabase videodatabase; videodatabase.Open(); videodatabase.ImportFromXML(path); videodatabase.Close(); } } }