本文整理汇总了C++中CGUIDialogProgress::SetHeading方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIDialogProgress::SetHeading方法的具体用法?C++ CGUIDialogProgress::SetHeading怎么用?C++ CGUIDialogProgress::SetHeading使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIDialogProgress
的用法示例。
在下文中一共展示了CGUIDialogProgress::SetHeading方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Enable
bool CPartyModeManager::Enable(PartyModeContext context /*= PARTYMODECONTEXT_MUSIC*/, const CStdString& strXspPath /*= ""*/)
{
// Filter using our PartyMode xml file
CSmartPlaylist playlist;
CStdString partyModePath;
bool playlistLoaded;
m_bIsVideo = context == PARTYMODECONTEXT_VIDEO;
if (!strXspPath.IsEmpty()) //if a path to a smartplaylist is supplied use it
partyModePath = strXspPath;
else if (m_bIsVideo)
partyModePath = g_settings.GetUserDataItem("PartyMode-Video.xsp");
else
partyModePath = g_settings.GetUserDataItem("PartyMode.xsp");
playlistLoaded=playlist.Load(partyModePath);
if ( playlistLoaded )
{
m_type = playlist.GetType();
if (context == PARTYMODECONTEXT_UNKNOWN)
{
//get it from the xsp file
m_bIsVideo = (m_type.Equals("video") || m_type.Equals("mixed"));
}
if (m_type.Equals("mixed"))
playlist.SetType("songs");
if (m_type.Equals("mixed"))
playlist.SetType("video");
playlist.SetType(m_type);
}
else
{
m_strCurrentFilterMusic.Empty();
m_strCurrentFilterVideo.Empty();
m_type = m_bIsVideo ? "musicvideos" : "songs";
}
CGUIDialogProgress* pDialog = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
int iHeading = (m_bIsVideo ? 20250 : 20121);
int iLine0 = (m_bIsVideo ? 20251 : 20123);
pDialog->SetHeading(iHeading);
pDialog->SetLine(0, iLine0);
pDialog->SetLine(1, "");
pDialog->SetLine(2, "");
pDialog->StartModal();
ClearState();
unsigned int time = CTimeUtils::GetTimeMS();
vector< pair<int,int> > songIDs;
if (m_type.Equals("songs") || m_type.Equals("mixed"))
{
CMusicDatabase db;
if (db.Open())
{
if ( playlistLoaded )
m_strCurrentFilterMusic = playlist.GetWhereClause(db);
CLog::Log(LOGINFO, "PARTY MODE MANAGER: Registering filter:[%s]", m_strCurrentFilterMusic.c_str());
m_iMatchingSongs = (int)db.GetSongIDs(m_strCurrentFilterMusic, songIDs);
if (m_iMatchingSongs < 1 && m_type.Equals("songs"))
{
pDialog->Close();
db.Close();
OnError(16031, (CStdString)"Party mode found no matching songs. Aborting.");
return false;
}
}
else
{
pDialog->Close();
OnError(16033, (CStdString)"Party mode could not open database. Aborting.");
return false;
}
db.Close();
}
if (m_type.Equals("musicvideos") || m_type.Equals("mixed"))
{
vector< pair<int,int> > songIDs2;
CVideoDatabase db;
if (db.Open())
{
if ( playlistLoaded )
m_strCurrentFilterVideo = playlist.GetWhereClause(db);
CLog::Log(LOGINFO, "PARTY MODE MANAGER: Registering filter:[%s]", m_strCurrentFilterVideo.c_str());
m_iMatchingSongs += (int)db.GetMusicVideoIDs(m_strCurrentFilterVideo, songIDs2);
if (m_iMatchingSongs < 1)
{
pDialog->Close();
db.Close();
OnError(16031, (CStdString)"Party mode found no matching songs. Aborting.");
return false;
}
}
else
//.........这里部分代码省略.........
示例2: GetDirectory
bool CMultiPathDirectory::GetDirectory(const CStdString& strPath, CFileItemList &items)
{
CLog::Log(LOGDEBUG,"CMultiPathDirectory::GetDirectory(%s)", strPath.c_str());
vector<CStdString> vecPaths;
if (!GetPaths(strPath, vecPaths))
return false;
XbmcThreads::EndTime progressTime(3000); // 3 seconds before showing progress bar
CGUIDialogProgress* dlgProgress = NULL;
unsigned int iFailures = 0;
for (unsigned int i = 0; i < vecPaths.size(); ++i)
{
// show the progress dialog if we have passed our time limit
if (progressTime.IsTimePast() && !dlgProgress)
{
dlgProgress = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (dlgProgress)
{
dlgProgress->SetHeading(15310);
dlgProgress->SetLine(0, 15311);
dlgProgress->SetLine(1, "");
dlgProgress->SetLine(2, "");
dlgProgress->StartModal();
dlgProgress->ShowProgressBar(true);
dlgProgress->SetProgressMax((int)vecPaths.size()*2);
dlgProgress->Progress();
}
}
if (dlgProgress)
{
CURL url(vecPaths[i]);
dlgProgress->SetLine(1, url.GetWithoutUserDetails());
dlgProgress->SetProgressAdvance();
dlgProgress->Progress();
}
CFileItemList tempItems;
CLog::Log(LOGDEBUG,"Getting Directory (%s)", vecPaths[i].c_str());
if (CDirectory::GetDirectory(vecPaths[i], tempItems, m_strFileMask, m_flags))
items.Append(tempItems);
else
{
CLog::Log(LOGERROR,"Error Getting Directory (%s)", vecPaths[i].c_str());
iFailures++;
}
if (dlgProgress)
{
dlgProgress->SetProgressAdvance();
dlgProgress->Progress();
}
}
if (dlgProgress)
dlgProgress->Close();
if (iFailures == vecPaths.size())
return false;
// merge like-named folders into a sub multipath:// style url
MergeItems(items);
return true;
}
示例3: SaveList
void CGUIDialogPVRChannelManager::SaveList() // XXX investigate: renumbering doesn't work
{
if (!m_bContainsChanges)
return;
CPVRDatabase *database = CPVRManager::Get()->GetTVDatabase();
if (!database || !database->Open())
return;
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);
int iActiveChannels = 0;
for (int iListPtr = 0; iListPtr < m_channelItems->Size(); iListPtr++)
{
if (m_channelItems->Get(iListPtr)->GetPropertyBOOL("ActiveChannel"))
++iActiveChannels;
}
// int iNextChannelNumber = 1;
// int iNextHiddenChannelNumber = iActiveChannels + 1;
bool bHasChangedItems = false;
for (int iListPtr = 0; iListPtr < m_channelItems->Size(); iListPtr++)
{
bool bChanged = false;
CFileItemPtr pItem = m_channelItems->Get(iListPtr);
if (!pItem)
continue;
CPVRChannel *channel = pItem->GetPVRChannelInfoTag();
if (!channel)
{
//TODO add new channel
continue;
}
/* get values from the form */
bool bHidden = !pItem->GetPropertyBOOL("ActiveChannel");
bool bVirtual = pItem->GetPropertyBOOL("Virtual");
bool bEPGEnabled = pItem->GetPropertyBOOL("UseEPG");
int iEPGSource = pItem->GetPropertyInt("EPGSource");
CStdString strChannelName = pItem->GetProperty("Name");
CStdString strIconPath = pItem->GetProperty("Icon");
CStdString strStreamURL = pItem->GetProperty("StreamURL");
/* set new values in the channel tag */
// TODO
// if (bHidden)
// bChanged = channel->SetChannelNumber(iNextHiddenChannelNumber++) || bChanged;
// else
// bChanged = channel->SetChannelNumber(iNextChannelNumber++) || bChanged;
bChanged = channel->SetChannelName(strChannelName) || bChanged;
bChanged = channel->SetHidden(bHidden) || bChanged;
bChanged = channel->SetIconPath(strIconPath) || bChanged;
if (bVirtual)
bChanged = channel->SetStreamURL(strStreamURL) || bChanged;
if (iEPGSource == 0)
bChanged = channel->SetEPGScraper("client") || bChanged;
// TODO add other scrapers
bChanged = channel->SetEPGEnabled(bEPGEnabled) || bChanged;
if (bChanged)
{
bHasChangedItems = true;
channel->Persist(true);
}
pItem->SetProperty("Changed", false);
pDlgProgress->SetPercentage(iListPtr * 100 / m_channelItems->Size());
}
if (bHasChangedItems)
{
database->CommitInsertQueries();
CPVRManager::Get()->Start(); // XXX not a nice way to refresh the channels, but works for now
}
database->Close();
m_bContainsChanges = false;
pDlgProgress->Close();
}
示例4: OnPopupMenu
//.........这里部分代码省略.........
choices.Add(3, 15213); // Play Using...
if (CanRename(list) && !pItem->IsParentFolder())
choices.Add(4, 118); // Rename
if (CanDelete(list) && showEntry)
choices.Add(5, 117); // Delete
if (CanCopy(list) && showEntry)
choices.Add(6, 115); // Copy
if (CanMove(list) && showEntry)
choices.Add(7, 116); // Move
}
if (CanNewFolder(list))
choices.Add(8, 20309); // New Folder
if (item >= 0 && pItem->m_bIsFolder && !pItem->IsParentFolder())
choices.Add(9, 13393); // Calculate Size
choices.Add(10, 5); // Settings
choices.Add(11, 20128); // Go To Root
choices.Add(12, 523); // switch media
int btnid = CGUIDialogContextMenu::ShowAndGetChoice(choices);
if (btnid == 1)
{
OnSelectAll(list);
bDeselect=false;
}
if (btnid == 2)
{
CFavourites::AddOrRemove(pItem.get(), GetID());
return;
}
if (btnid == 3)
{
VECPLAYERCORES vecCores;
CPlayerCoreFactory::GetPlayers(*pItem, vecCores);
g_application.m_eForcedNextPlayer = CPlayerCoreFactory::SelectPlayerDialog(vecCores);
if (g_application.m_eForcedNextPlayer != EPC_NONE)
OnStart(pItem.get());
}
if (btnid == 4)
OnRename(list);
if (btnid == 5)
OnDelete(list);
if (btnid == 6)
OnCopy(list);
if (btnid == 7)
OnMove(list);
if (btnid == 8)
OnNewFolder(list);
if (btnid == 9)
{
// setup the progress dialog, and show it
CGUIDialogProgress *progress = (CGUIDialogProgress *)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS);
if (progress)
{
progress->SetHeading(13394);
for (int i=0; i < 3; i++)
progress->SetLine(i, "");
progress->StartModal();
}
// Calculate folder size for each selected item
for (int i=0; i<m_vecItems[list]->Size(); ++i)
{
CFileItemPtr pItem2=m_vecItems[list]->Get(i);
if (pItem2->m_bIsFolder && pItem2->IsSelected())
{
int64_t folderSize = CalculateFolderSize(pItem2->m_strPath, progress);
if (folderSize >= 0)
{
pItem2->m_dwSize = folderSize;
if (folderSize == 0)
pItem2->SetLabel2(StringUtils::SizeToString(folderSize));
else
pItem2->SetFileSizeLabel();
}
}
}
if (progress)
progress->Close();
}
if (btnid == 10)
{
g_windowManager.ActivateWindow(WINDOW_SETTINGS_MENU);
return;
}
if (btnid == 11)
{
Update(list,"");
return;
}
if (btnid == 12)
{
CGUIDialogContextMenu::SwitchMedia("files", m_vecItems[list]->m_strPath);
return;
}
if (bDeselect && item >= 0 && item < m_vecItems[list]->Size())
{ // deselect item as we didn't do anything
pItem->Select(false);
}
}
示例5: RefreshInfo
void CGUIDialogMusicInfo::RefreshInfo()
{
// Double check we have permission (button should be hidden when not)
const CProfilesManager &profileManager = CServiceBroker::GetProfileManager();
if (!profileManager.GetCurrentProfile().canWriteDatabases() && !g_passwordManager.bMasterUser)
return;
// Check if scanning
if (g_application.IsMusicScanning())
{
HELPERS::ShowOKDialogText(CVariant{ 189 }, CVariant{ 14057 });
return;
}
CGUIDialogProgress* dlgProgress = CServiceBroker::GetGUI()->GetWindowManager().
GetWindow<CGUIDialogProgress>(WINDOW_DIALOG_PROGRESS);
if (!dlgProgress)
return;
if (m_bArtistInfo)
{ // Show dialog box indicating we're searching for the artist
dlgProgress->SetHeading(CVariant{ 21889 });
dlgProgress->SetLine(0, CVariant{ m_artist.strArtist });
dlgProgress->SetLine(1, CVariant{ "" });
dlgProgress->SetLine(2, CVariant{ "" });
}
else
{ // Show dialog box indicating we're searching for the album
dlgProgress->SetHeading(CVariant{ 185 });
dlgProgress->SetLine(0, CVariant{ m_album.strAlbum });
dlgProgress->SetLine(1, CVariant{ m_album.strArtistDesc });
dlgProgress->SetLine(2, CVariant{ "" });
}
dlgProgress->Open();
SetScrapedInfo(false);
// Start separate job to scrape info and fill list of art types.
CJobManager::GetInstance().AddJob(new CRefreshInfoJob(dlgProgress), nullptr, CJob::PRIORITY_HIGH);
// Wait for refresh to complete or be canceled, but render every 10ms so that the
// pointer movements works on dialog even when job is reporting progress infrequently
if (dlgProgress)
dlgProgress->Wait(10);
if (dlgProgress->IsCanceled())
{
return;
}
// Show message when scraper was unsuccesfull
if (!HasScrapedInfo())
{
if (m_bArtistInfo)
HELPERS::ShowOKDialogText(CVariant{ 21889 }, CVariant{ 20199 });
else
HELPERS::ShowOKDialogText(CVariant{ 185 }, CVariant{ 500 });
return;
}
// Show new values on screen
Update();
m_hasRefreshed = true;
if (dlgProgress)
dlgProgress->Close();
}