void CAddonUnInstallJob::OnPostUnInstall() { if (m_addon->Type() == ADDON_REPOSITORY) { CAddonDatabase database; database.Open(); database.DeleteRepository(m_addon->ID()); } bool bSave(false); CFileItemList items; XFILE::CFavouritesDirectory::Load(items); for (int i=0; i < items.Size(); ++i) { if (items[i]->GetPath().find(m_addon->ID()) != std::string::npos) { items.Remove(items[i].get()); bSave = true; } } if (bSave) CFavouritesDirectory::Save(items); if (m_addon->Type() == ADDON_PVRDLL) { if (CSettings::Get().GetBool("pvrmanager.enabled")) PVR::CPVRManager::Get().Start(true); } }
void CAddonUnInstallJob::OnPostUnInstall() { if (m_addon->Type() == ADDON_REPOSITORY) { CAddonDatabase database; database.Open(); database.DeleteRepository(m_addon->ID()); } }
bool CGUIWindowAddonBrowser::OnContextButton(int itemNumber, CONTEXT_BUTTON button) { CFileItemPtr pItem = m_vecItems->Get(itemNumber); if (pItem->GetPath().Equals("addons://enabled/")) { if (button == CONTEXT_BUTTON_SCAN) { CAddonMgr::Get().FindAddons(); return true; } } AddonPtr addon; if (!CAddonMgr::Get().GetAddon(pItem->GetProperty("Addon.ID").asString(), addon, ADDON_UNKNOWN, false)) // allow disabled addons return false; if (button == CONTEXT_BUTTON_SETTINGS) return CGUIDialogAddonSettings::ShowAndGetInput(addon); if (button == CONTEXT_BUTTON_UPDATE_LIBRARY) { CAddonDatabase database; database.Open(); database.DeleteRepository(addon->ID()); button = CONTEXT_BUTTON_SCAN; } if (button == CONTEXT_BUTTON_SCAN) { RepositoryPtr repo = boost::dynamic_pointer_cast<CRepository>(addon); CAddonInstaller::Get().UpdateRepos(true); return true; } if (button == CONTEXT_BUTTON_INFO) { CGUIDialogAddonInfo::ShowForItem(pItem); return true; } return CGUIMediaWindow::OnContextButton(itemNumber, button); }
void CAddonUnInstallJob::OnPostUnInstall() { if (m_addon->Type() == ADDON_REPOSITORY) { CAddonDatabase database; database.Open(); database.DeleteRepository(m_addon->ID()); } bool bSave(false); CFileItemList items; CFavourites::Load(items); for (int i=0; i < items.Size(); ++i) { if (items[i]->GetPath().Find(m_addon->ID()) > -1) { items.Remove(items[i].get()); bSave = true; } } if (bSave) CFavourites::Save(items); }