本文整理汇总了C++中CGUIDialogProgress::Close方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIDialogProgress::Close方法的具体用法?C++ CGUIDialogProgress::Close怎么用?C++ CGUIDialogProgress::Close使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIDialogProgress
的用法示例。
在下文中一共展示了CGUIDialogProgress::Close方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WaitForNetwork
bool CGUIMediaWindow::WaitForNetwork() const
{
if (g_application.getNetwork().IsAvailable())
return true;
CGUIDialogProgress *progress = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (!progress)
return true;
CURL url(m_vecItems->GetPath());
progress->SetHeading(1040); // Loading Directory
progress->SetLine(1, url.GetWithoutUserDetails());
progress->ShowProgressBar(false);
progress->StartModal();
while (!g_application.getNetwork().IsAvailable())
{
progress->Progress();
if (progress->IsCanceled())
{
progress->Close();
return false;
}
}
progress->Close();
return true;
}
示例2: OnInitWindow
void CGUIWindowPVRBase::OnInitWindow(void)
{
if (!g_PVRManager.IsStarted() || !g_PVRClients->HasConnectedClients())
{
// wait until the PVR manager has been started
CGUIDialogProgress* dialog = static_cast<CGUIDialogProgress*>(g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS));
if (dialog)
{
dialog->SetHeading(CVariant{19235});
dialog->SetText(CVariant{19045});
dialog->ShowProgressBar(false);
dialog->Open();
// do not block the gfx context while waiting
CSingleExit exit(g_graphicsContext);
CEvent event(true);
while(!event.WaitMSec(1))
{
if (g_PVRManager.IsStarted() && g_PVRClients->HasConnectedClients())
event.Set();
if (dialog->IsCanceled())
{
// return to previous window if canceled
dialog->Close();
g_windowManager.PreviousWindow();
return;
}
g_windowManager.ProcessRenderLoop(false);
}
dialog->Close();
}
}
{
// set window group to playing group
CPVRChannelGroupPtr group = g_PVRManager.GetPlayingGroup(m_bRadio);
CSingleLock lock(m_critSection);
if (m_group != group)
m_viewControl.SetSelectedItem(0);
m_group = group;
}
SetProperty("IsRadio", m_bRadio ? "true" : "");
m_vecItems->SetPath(GetDirectoryPath());
CGUIMediaWindow::OnInitWindow();
// mark item as selected by channel path
m_viewControl.SetSelectedItem(GetSelectedItemPath(m_bRadio));
}
示例3: OnPrepareFileItems
void CGUIWindowPVRSearch::OnPrepareFileItems(CFileItemList &items)
{
items.Clear();
CFileItemPtr item(new CFileItem("pvr://guide/searchresults/search/", true));
item->SetLabel(g_localizeStrings.Get(19140));
item->SetLabelPreformated(true);
item->SetSpecialSort(SortSpecialOnTop);
items.Add(item);
if (m_bSearchConfirmed)
{
CGUIDialogProgress* dlgProgress = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (dlgProgress)
{
dlgProgress->SetHeading(194);
dlgProgress->SetText(CVariant(m_searchfilter.m_strSearchTerm));
dlgProgress->StartModal();
dlgProgress->Progress();
}
// TODO should we limit the find similar search to the selected group?
g_EpgContainer.GetEPGSearch(items, m_searchfilter);
if (dlgProgress)
dlgProgress->Close();
if (items.IsEmpty())
{
CGUIDialogOK::ShowAndGetInput(194, 284, 0, 0);
m_bSearchConfirmed = false;
}
}
}
示例4: ShowLegal
bool CGUIWindowSettings::ShowLegal()
{
if (m_legalString.IsEmpty())
{
CGUIDialogProgress* progress = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (progress)
{
progress->StartModal();
progress->Progress();
}
// verify the username is available
CStdString strUrl = BOXEE::BXConfiguration::GetInstance().GetStringParam("Boxee.Legal","http://app.boxee.tv/api/getlegal?page=legal");
BOXEE::BXCurl curl;
m_legalString = curl.HttpGetString(strUrl, false);
if (progress)
{
progress->Close();
}
if (m_legalString.IsEmpty())
{
CGUIDialogOK2::ShowAndGetInput(g_localizeStrings.Get(53701), g_localizeStrings.Get(53431));
return true;
}
}
CGUIDialogBoxeeMessageScroll::ShowAndGetInput(g_localizeStrings.Get(53441), m_legalString);
return true;
}
示例5: SaveList
void CGUIDialogPVRChannelManager::SaveList(void)
{
if (!m_bContainsChanges)
return;
/* display the progress dialog */
CGUIDialogProgress* pDlgProgress = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
pDlgProgress->SetHeading(190);
pDlgProgress->SetLine(0, "");
pDlgProgress->SetLine(1, 328);
pDlgProgress->SetLine(2, "");
pDlgProgress->StartModal();
pDlgProgress->Progress();
pDlgProgress->SetPercentage(0);
/* persist all channels */
unsigned int iNextChannelNumber(0);
CPVRChannelGroupPtr group = g_PVRChannelGroups->GetGroupAll(m_bIsRadio);
if (!group)
return;
for (int iListPtr = 0; iListPtr < m_channelItems->Size(); iListPtr++)
{
CFileItemPtr pItem = m_channelItems->Get(iListPtr);
PersistChannel(pItem, group, &iNextChannelNumber);
pDlgProgress->SetPercentage(iListPtr * 100 / m_channelItems->Size());
}
group->SortAndRenumber();
group->Persist();
m_bContainsChanges = false;
SetItemsUnchanged();
pDlgProgress->Close();
}
示例6: UpdateData
void CGUIWindowPVRSearch::UpdateData(bool bUpdateSelectedFile /* = true */)
{
CLog::Log(LOGDEBUG, "CGUIWindowPVRSearch - %s - update window '%s'. set view to %d", __FUNCTION__, GetName(), m_iControlList);
m_bUpdateRequired = false;
/* lock the graphics context while updating */
CSingleLock graphicsLock(g_graphicsContext);
m_iSelected = m_parent->m_viewControl.GetSelectedItem();
m_parent->m_viewControl.Clear();
m_parent->m_vecItems->Clear();
m_parent->m_viewControl.SetCurrentView(m_iControlList);
if (m_bSearchConfirmed)
{
CGUIDialogProgress* dlgProgress = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (dlgProgress)
{
dlgProgress->SetHeading(194);
dlgProgress->SetLine(0, m_searchfilter.m_strSearchTerm);
dlgProgress->SetLine(1, "");
dlgProgress->SetLine(2, "");
dlgProgress->StartModal();
dlgProgress->Progress();
}
// TODO get this from the selected channel group
g_EpgContainer.GetEPGSearch(*m_parent->m_vecItems, m_searchfilter);
if (dlgProgress)
dlgProgress->Close();
if (m_parent->m_vecItems->Size() == 0)
{
CGUIDialogOK::ShowAndGetInput(194, 284, 0, 0);
m_bSearchConfirmed = false;
}
}
if (m_parent->m_vecItems->Size() == 0)
{
CFileItemPtr item;
item.reset(new CFileItem("pvr://guide/searchresults/empty.epg", false));
item->SetLabel(g_localizeStrings.Get(19027));
item->SetLabelPreformated(true);
m_parent->m_vecItems->Add(item);
}
else
{
m_parent->m_vecItems->Sort(m_iSortMethod, m_iSortOrder, m_iSortAttributes);
}
m_parent->m_viewControl.SetItems(*m_parent->m_vecItems);
if (bUpdateSelectedFile)
m_parent->m_viewControl.SetSelectedItem(m_iSelected);
m_parent->SetLabel(CONTROL_LABELHEADER, g_localizeStrings.Get(283));
m_parent->SetLabel(CONTROL_LABELGROUP, "");
}
示例7: GetDirectory
bool CUPnPAvDirectory::GetDirectory(const CStdString& strPath, CFileItemList &items)
{
CURI url(strPath);
m_cacheDirectory = DIR_CACHE_ALWAYS;
if(url.GetProtocol() != "upnp")
{
CLog::Log(LOGERROR, "CUPnPAvDirectory::%s - invalid protocol [%s]", __func__, url.GetProtocol().c_str());
return false;
}
CBrowserService* pBrowser = g_application.GetBrowserService();
if( strPath == "upnp://" && pBrowser )
{
pBrowser->GetShare( CBrowserService::UPNP_SHARE, items );
return true;
}
// If we have the items in the cache, return them
if (g_directoryCache.GetDirectory(strPath, items))
{
return true;
}
if(strPath == "upnp://all")
{
bool bSuccess = ScanUPnPShares(items);
if(!bSuccess)
{
IHalServices& client = CHalServicesFactory::GetInstance();
client.DjmountRestart();
CLog::Log(LOGWARNING, "CUPnPAvDirectory::%s - failed to scan UPnP shares, retrying...", __func__);
CGUIDialogProgress* progress = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (progress)
{
CStdString strId;
strId.Format("%d-upnp-scan-retry", CThread::GetCurrentThreadId());
progress->StartModal(strId);
progress->Progress();
}
// hopefully djmount will be able to find all shares
Sleep(5000);
bSuccess = ScanUPnPShares(items);
progress->Close();
}
return bSuccess;
}
return ReadDir(url, items);
}
示例8:
~progress_info()
{
if (shown && g_application.IsCurrentThread())
{
// close progress dialog
CGUIDialogProgress* dlg = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (dlg)
dlg->Close();
}
}
示例9:
~progress_info()
{
if (shown)
{
// close progress dialog
CGUIDialogProgress* dlg = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (dlg)
dlg->Close();
}
}
示例10: SaveConfiguration
bool CGUIWindowBoxeeWizardNetwork::SaveConfiguration()
{
if (!NetworkConfigurationChanged())
return true;
bool result = false;
CStdString currentEssId;
CStdString currentKey;
EncMode currentEnc;
CStdString currentInterfaceName;
GetUserConfiguration(currentInterfaceName, currentEssId, currentKey, currentEnc);
CGUIDialogProgress* pDlgProgress = (CGUIDialogProgress*)m_gWindowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
pDlgProgress->SetHeading("");
pDlgProgress->SetLine(0, "Applying network configuration...");
pDlgProgress->SetLine(1, "");
pDlgProgress->SetLine(2, "");
pDlgProgress->StartModal();
pDlgProgress->Progress();
CStdString empty;
NetworkAssignment assignment;
CNetworkInterface* interface;
for (unsigned int i = 0; i < m_interfaces.size(); i++)
{
interface = m_interfaces[i];
if (interface->GetName() == currentInterfaceName)
{
assignment = NETWORK_DHCP;
interface->SetSettings(assignment, empty, empty, empty, currentEssId, currentKey, currentEnc);
}
else
{
// if we have a different interfaces, we need to take them down
assignment = NETWORK_DISABLED;
EncMode enc = ENC_NONE;
interface->SetSettings(assignment, empty, empty, empty, empty, empty, enc);
}
}
pDlgProgress->Close();
if (!interface->IsConnected())
CGUIDialogOK::ShowAndGetInput(0, 50001, 50002, 0);
else if (!g_application.IsConnectedToNet())
CGUIDialogOK::ShowAndGetInput(0, 50003, 50004, 50002);
else
result = true;
ResetCurrentNetworkState();
return result;
}
示例11: PromptForInstall
bool CAddonInstaller::PromptForInstall(const std::string &addonID, AddonPtr &addon)
{
if (!g_passwordManager.CheckMenuLock(WINDOW_ADDON_BROWSER))
return false;
// we assume that addons that are enabled don't get to this routine (i.e. that GetAddon() has been called)
if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_UNKNOWN, false))
return false; // addon is installed but disabled, and the user has specifically activated something that needs
// the addon - should we enable it?
// check we have it available
CAddonDatabase database;
database.Open();
if (database.GetAddon(addonID, addon))
{ // yes - ask user if they want it installed
if (!CGUIDialogYesNo::ShowAndGetInput(g_localizeStrings.Get(24076), g_localizeStrings.Get(24100),
addon->Name().c_str(), g_localizeStrings.Get(24101)))
return false;
if (Install(addonID, true))
{
CGUIDialogProgress *progress = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (progress)
{
progress->SetHeading(13413); // Downloading
progress->SetLine(0, "");
progress->SetLine(1, addon->Name());
progress->SetLine(2, "");
progress->SetPercentage(0);
progress->StartModal();
while (true)
{
progress->Progress();
unsigned int percent;
if (progress->IsCanceled())
{
Cancel(addonID);
break;
}
if (!GetProgress(addonID, percent))
break;
progress->SetPercentage(percent);
}
progress->Close();
}
return CAddonMgr::Get().GetAddon(addonID, addon);
}
}
return false;
}
示例12: OnSearch
/// \brief Search the current directory for a string got from the virtual keyboard
void CGUIDialogVideoInfo::OnSearch(CStdString& strSearch)
{
CGUIDialogProgress *progress = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (progress)
{
progress->SetHeading(194);
progress->SetLine(0, strSearch);
progress->SetLine(1, "");
progress->SetLine(2, "");
progress->StartModal();
progress->Progress();
}
CFileItemList items;
DoSearch(strSearch, items);
if (progress)
progress->Close();
if (items.Size())
{
CGUIDialogSelect* pDlgSelect = (CGUIDialogSelect*)g_windowManager.GetWindow(WINDOW_DIALOG_SELECT);
pDlgSelect->Reset();
pDlgSelect->SetHeading(283);
for (int i = 0; i < (int)items.Size(); i++)
{
CFileItemPtr pItem = items[i];
pDlgSelect->Add(pItem->GetLabel());
}
pDlgSelect->DoModal();
int iItem = pDlgSelect->GetSelectedLabel();
if (iItem < 0)
return;
CFileItem* pSelItem = new CFileItem(*items[iItem]);
OnSearchItemFound(pSelItem);
delete pSelItem;
}
else
{
CGUIDialogOK::ShowAndGetInput(194, 284, 0, 0);
}
}
示例13: Copy
bool CAsyncFileCopy::Copy(const std::string &from, const std::string &to, const std::string &heading)
{
// reset the variables to their appropriate states
m_from = from;
m_to = to;
m_cancelled = false;
m_succeeded = false;
m_percent = 0;
m_speed = 0;
m_running = true;
CURL url1(from);
CURL url2(to);
// create our thread, which starts the file copy operation
Create();
CGUIDialogProgress *dlg = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
unsigned int time = XbmcThreads::SystemClockMillis();
while (m_running)
{
m_event.WaitMSec(1000 / 30);
if (!m_running)
break;
// start the dialog up as needed
if (dlg && !dlg->IsDialogRunning() && (XbmcThreads::SystemClockMillis() - time) > 500) // wait 0.5 seconds before starting dialog
{
dlg->SetHeading(CVariant{heading});
dlg->SetLine(0, CVariant{url1.GetWithoutUserDetails()});
dlg->SetLine(1, CVariant{url2.GetWithoutUserDetails()});
dlg->SetPercentage(0);
dlg->StartModal();
}
// and update the dialog as we go
if (dlg && dlg->IsDialogRunning())
{
dlg->SetHeading(CVariant{heading});
dlg->SetLine(0, CVariant{url1.Get()});
dlg->SetLine(1, CVariant{url2.Get()});
dlg->SetLine(2, CVariant{ StringUtils::Format("%2.2f KB/s", m_speed / 1024) });
dlg->SetPercentage(m_percent);
dlg->Progress();
m_cancelled = dlg->IsCanceled();
}
}
if (dlg)
dlg->Close();
return !m_cancelled && m_succeeded;
}
示例14: SaveList
void CGUIDialogPVRChannelManager::SaveList(void)
{
if (!m_bContainsChanges)
return;
/* display the progress dialog */
CGUIDialogProgress* pDlgProgress = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
pDlgProgress->SetHeading(CVariant{190});
pDlgProgress->SetLine(0, CVariant{""});
pDlgProgress->SetLine(1, CVariant{328});
pDlgProgress->SetLine(2, CVariant{""});
pDlgProgress->StartModal();
pDlgProgress->Progress();
pDlgProgress->SetPercentage(0);
/* persist all channels */
unsigned int iNextChannelNumber(0);
CPVRChannelGroupPtr group = g_PVRChannelGroups->GetGroupAll(m_bIsRadio);
if (!group)
return;
for (int iListPtr = 0; iListPtr < m_channelItems->Size(); iListPtr++)
{
CFileItemPtr pItem = m_channelItems->Get(iListPtr);
if (!pItem->HasPVRChannelInfoTag())
continue;
if (pItem->GetProperty("SupportsSettings").asBoolean())
RenameChannel(pItem);
PersistChannel(pItem, group, &iNextChannelNumber);
pDlgProgress->SetPercentage(iListPtr * 100 / m_channelItems->Size());
}
group->SortAndRenumber();
group->Persist();
m_bContainsChanges = false;
SetItemsUnchanged();
pDlgProgress->Close();
}
示例15: OnPrepareFileItems
void CGUIWindowPVRSearch::OnPrepareFileItems(CFileItemList &items)
{
bool bAddSpecialSearchItem = items.IsEmpty();
if (m_bSearchConfirmed)
{
m_bSearchConfirmed = false;
bAddSpecialSearchItem = true;
CGUIDialogProgress* dlgProgress = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (dlgProgress)
{
dlgProgress->SetHeading(CVariant{194}); // "Searching..."
dlgProgress->SetText(CVariant{m_searchfilter.m_strSearchTerm});
dlgProgress->Open();
dlgProgress->Progress();
}
// TODO should we limit the find similar search to the selected group?
g_EpgContainer.GetEPGSearch(items, m_searchfilter);
if (dlgProgress)
dlgProgress->Close();
if (items.IsEmpty())
CGUIDialogOK::ShowAndGetInput(CVariant{194}, // "Searching..."
CVariant{284}); // "No results found"
}
if (bAddSpecialSearchItem)
{
CFileItemPtr item(new CFileItem("pvr://guide/searchresults/search/", true));
item->SetLabel(g_localizeStrings.Get(19140)); // "Search..."
item->SetLabelPreformated(true);
item->SetSpecialSort(SortSpecialOnTop);
items.Add(item);
}
}