本文整理汇总了C++中CGUIDialogYesNo::Open方法的典型用法代码示例。如果您正苦于以下问题:C++ CGUIDialogYesNo::Open方法的具体用法?C++ CGUIDialogYesNo::Open怎么用?C++ CGUIDialogYesNo::Open使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGUIDialogYesNo
的用法示例。
在下文中一共展示了CGUIDialogYesNo::Open方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShowAndGetInput
int CGUIDialogYesNo::ShowAndGetInput(CVariant heading, CVariant text, CVariant noLabel, CVariant yesLabel, CVariant customLabel, unsigned int autoCloseTime)
{
CGUIDialogYesNo *dialog = CServiceBroker::GetGUI()->GetWindowManager().GetWindow<CGUIDialogYesNo>(WINDOW_DIALOG_YES_NO);
if (!dialog)
return false;
dialog->SetHeading(heading);
dialog->SetText(text);
if (autoCloseTime)
dialog->SetAutoClose(autoCloseTime);
dialog->m_bCanceled = false;
dialog->m_bCustom = false;
dialog->SetChoice(0, !noLabel.empty() ? noLabel : 106);
dialog->SetChoice(1, !yesLabel.empty() ? yesLabel : 107);
dialog->SetChoice(2, customLabel); // Button only visible when label is not empty
dialog->Open();
if (dialog->m_bCanceled)
return -1;
else if (dialog->m_bCustom)
return 2;
else if (dialog->IsConfirmed())
return 1;
else
return 0;
}
示例2: ActionDeleteChannel
bool CGUIWindowPVRBase::ActionDeleteChannel(CFileItem *item)
{
CPVRChannelPtr channel(item->GetPVRChannelInfoTag());
/* check if the channel tag is valid */
if (!channel || channel->ChannelNumber() <= 0)
return false;
/* show a confirmation dialog */
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*) g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return false;
pDialog->SetHeading(CVariant{19039});
pDialog->SetLine(0, CVariant{""});
pDialog->SetLine(1, CVariant{channel->ChannelName()});
pDialog->SetLine(2, CVariant{""});
pDialog->Open();
/* prompt for the user's confirmation */
if (!pDialog->IsConfirmed())
return false;
g_PVRChannelGroups->GetGroupAll(channel->IsRadio())->RemoveFromGroup(channel);
Refresh(true);
return true;
}
示例3: DeleteItem
bool CFileUtils::DeleteItem(const CFileItemPtr &item, bool force)
{
if (!item || item->IsParentFolder())
return false;
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!force && pDialog)
{
pDialog->SetHeading(CVariant{122});
pDialog->SetLine(0, CVariant{125});
pDialog->SetLine(1, CVariant{CURL(item->GetPath()).GetWithoutUserDetails()});
pDialog->SetLine(2, CVariant{""});
pDialog->Open();
if (!pDialog->IsConfirmed()) return false;
}
// Create a temporary item list containing the file/folder for deletion
CFileItemPtr pItemTemp(new CFileItem(*item));
pItemTemp->Select(true);
CFileItemList items;
items.Add(pItemTemp);
// grab the real filemanager window, set up the progress bar,
// and process the delete action
CFileOperationJob op(CFileOperationJob::ActionDelete, items, "");
return op.DoWork();
}
示例4: ActionButtonDeleteGroup
bool CGUIDialogPVRGroupManager::ActionButtonDeleteGroup(CGUIMessage &message)
{
bool bReturn = false;
unsigned int iControl = message.GetSenderId();
if (iControl == BUTTON_DELGROUP)
{
if (!m_selectedGroup)
return bReturn;
CGUIDialogYesNo* pDialog = g_windowManager.GetWindow<CGUIDialogYesNo>(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return bReturn;
pDialog->SetHeading(CVariant{117});
pDialog->SetLine(0, CVariant{""});
pDialog->SetLine(1, CVariant{m_selectedGroup->GroupName()});
pDialog->SetLine(2, CVariant{""});
pDialog->Open();
if (pDialog->IsConfirmed())
{
if (static_cast<CPVRChannelGroups*>(CServiceBroker::GetPVRManager().ChannelGroups()->Get(m_bIsRadio))->DeleteGroup(*m_selectedGroup))
Update();
}
bReturn = true;
}
return bReturn;
}
示例5: OnClickButtonRadioTV
bool CGUIDialogPVRChannelManager::OnClickButtonRadioTV(CGUIMessage &message)
{
if (m_bContainsChanges)
{
CGUIDialogYesNo* pDialog = g_windowManager.GetWindow<CGUIDialogYesNo>(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return true;
pDialog->SetHeading(CVariant{20052});
pDialog->SetLine(0, CVariant{""});
pDialog->SetLine(1, CVariant{19212});
pDialog->SetLine(2, CVariant{20103});
pDialog->Open();
if (pDialog->IsConfirmed())
SaveList();
}
m_iSelected = 0;
m_bMovingMode = false;
m_bAllowNewChannel = false;
m_bContainsChanges = false;
m_bIsRadio = !m_bIsRadio;
SetProperty("IsRadio", m_bIsRadio ? "true" : "");
Update();
SetData(m_iSelected);
return true;
}
示例6: yesno
bool Dialog::yesno(const String& heading, const String& line1,
const String& line2,
const String& line3,
const String& nolabel,
const String& yeslabel,
int autoclose)
{
DelayedCallGuard dcguard(languageHook);
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (pDialog == NULL)
throw WindowException("Error: Window is NULL, this is not possible :-)");
// get lines, last 4 lines are optional.
if (!heading.empty())
pDialog->SetHeading(CVariant{heading});
if (!line1.empty())
pDialog->SetLine(0, CVariant{line1});
if (!line2.empty())
pDialog->SetLine(1, CVariant{line2});
if (!line3.empty())
pDialog->SetLine(2, CVariant{line3});
if (!nolabel.empty())
pDialog->SetChoice(0, CVariant{nolabel});
if (!yeslabel.empty())
pDialog->SetChoice(1, CVariant{yeslabel});
if (autoclose > 0)
pDialog->SetAutoClose(autoclose);
pDialog->Open();
return pDialog->IsConfirmed();
}
示例7: OnContextButtonUpdateEpg
bool CGUIWindowPVRChannels::OnContextButtonUpdateEpg(CFileItem *item, CONTEXT_BUTTON button)
{
bool bReturn = false;
if (button == CONTEXT_BUTTON_UPDATE_EPG)
{
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return bReturn;
CPVRChannelPtr channel(item->GetPVRChannelInfoTag());
pDialog->SetHeading(CVariant{19251});
pDialog->SetLine(0, CVariant{g_localizeStrings.Get(19252)});
pDialog->SetLine(1, CVariant{channel->ChannelName()});
pDialog->SetLine(2, CVariant{""});
pDialog->Open();
if (!pDialog->IsConfirmed())
return bReturn;
bReturn = UpdateEpgForChannel(item);
std::string strMessage = StringUtils::Format("%s: '%s'", g_localizeStrings.Get(bReturn ? 19253 : 19254).c_str(), channel->ChannelName().c_str());
CGUIDialogKaiToast::QueueNotification(bReturn ? CGUIDialogKaiToast::Info : CGUIDialogKaiToast::Error,
g_localizeStrings.Get(19166),
strMessage);
}
return bReturn;
}
示例8: OnContextButton
bool CGUIDialogPVRChannelManager::OnContextButton(int itemNumber, CONTEXT_BUTTON button)
{
/* Check file item is in list range and get his pointer */
if (itemNumber < 0 || itemNumber >= (int)m_channelItems->Size()) return false;
CFileItemPtr pItem = m_channelItems->Get(itemNumber);
if (!pItem)
return false;
if (button == CONTEXT_BUTTON_MOVE)
{
m_bMovingMode = true;
pItem->Select(true);
}
else if (button == CONTEXT_BUTTON_SETTINGS)
{
PVR_ERROR ret = CServiceBroker::GetPVRManager().Clients()->OpenDialogChannelSettings(pItem->GetPVRChannelInfoTag());
if (ret == PVR_ERROR_NOT_IMPLEMENTED)
CGUIDialogOK::ShowAndGetInput(CVariant{19033}, CVariant{19038}); // "Information", "Not supported by the PVR backend."
else if (ret != PVR_ERROR_NO_ERROR)
CGUIDialogOK::ShowAndGetInput(CVariant{2103}, CVariant{16029}); // "Add-on error", "Check the log for more information about this message."
}
else if (button == CONTEXT_BUTTON_DELETE)
{
CGUIDialogYesNo* pDialog = g_windowManager.GetWindow<CGUIDialogYesNo>(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return true;
pDialog->SetHeading(CVariant{19211}); // Delete channel
pDialog->SetText(CVariant{750}); // Are you sure?
pDialog->Open();
if (pDialog->IsConfirmed())
{
CPVRChannelPtr channel = pItem->GetPVRChannelInfoTag();
PVR_ERROR ret = CServiceBroker::GetPVRManager().Clients()->DeleteChannel(channel);
if (ret == PVR_ERROR_NO_ERROR)
{
CServiceBroker::GetPVRManager().ChannelGroups()->GetGroupAll(channel->IsRadio())->RemoveFromGroup(channel);
m_channelItems->Remove(m_iSelected);
m_viewControl.SetItems(*m_channelItems);
Renumber();
}
else if (ret == PVR_ERROR_NOT_IMPLEMENTED)
CGUIDialogOK::ShowAndGetInput(CVariant{19033}, CVariant{19038}); // "Information", "Not supported by the PVR backend."
else
CGUIDialogOK::ShowAndGetInput(CVariant{2103}, CVariant{16029}); // "Add-on error", "Check the log for more information about this message."
}
}
else if (button == CONTEXT_BUTTON_EDIT_SOURCE)
{
std::string strURL = pItem->GetProperty("StreamURL").asString();
if (CGUIKeyboardFactory::ShowAndGetInput(strURL, CVariant{g_localizeStrings.Get(19214)}, false))
pItem->SetProperty("StreamURL", strURL);
}
return true;
}
示例9: ActionRecord
bool CGUIWindowPVRBase::ActionRecord(CFileItem *item)
{
bool bReturn = false;
CEpgInfoTagPtr epgTag(item->GetEPGInfoTag());
if (!epgTag)
return bReturn;
CPVRChannelPtr channel = epgTag->ChannelTag();
if (!channel || !g_PVRManager.CheckParentalLock(channel))
return bReturn;
if (epgTag->Timer() == NULL)
{
/* create a confirmation dialog */
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*) g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return bReturn;
pDialog->SetHeading(CVariant{264});
pDialog->SetLine(0, CVariant{""});
pDialog->SetLine(1, CVariant{epgTag->Title()});
pDialog->SetLine(2, CVariant{""});
pDialog->Open();
/* prompt for the user's confirmation */
if (!pDialog->IsConfirmed())
return bReturn;
CPVRTimerInfoTagPtr newTimer = CPVRTimerInfoTag::CreateFromEpg(epgTag);
if (newTimer)
{
bReturn = g_PVRTimers->AddTimer(newTimer);
}
else
{
bReturn = false;
}
}
else
{
CGUIDialogOK::ShowAndGetInput(CVariant{19033}, CVariant{19034});
bReturn = true;
}
return bReturn;
}
示例10: DeleteProfile
bool CProfilesManager::DeleteProfile(size_t index)
{
CSingleLock lock(m_critical);
const CProfile *profile = GetProfile(index);
if (profile == NULL)
return false;
CGUIDialogYesNo* dlgYesNo = CServiceBroker::GetGUI()->GetWindowManager().GetWindow<CGUIDialogYesNo>(WINDOW_DIALOG_YES_NO);
if (dlgYesNo == NULL)
return false;
std::string str = g_localizeStrings.Get(13201);
dlgYesNo->SetHeading(CVariant{13200});
dlgYesNo->SetLine(0, CVariant{StringUtils::Format(str.c_str(), profile->getName().c_str())});
dlgYesNo->SetLine(1, CVariant{""});
dlgYesNo->SetLine(2, CVariant{""});
dlgYesNo->Open();
if (!dlgYesNo->IsConfirmed())
return false;
// fall back to master profile if necessary
if ((int)index == m_autoLoginProfile)
m_autoLoginProfile = 0;
// delete profile
std::string strDirectory = profile->getDirectory();
m_profiles.erase(m_profiles.begin() + index);
// fall back to master profile if necessary
if (index == m_currentProfile)
{
LoadProfile(0);
m_settings.Save();
}
CFileItemPtr item = CFileItemPtr(new CFileItem(URIUtils::AddFileToFolder(GetUserDataFolder(), strDirectory)));
item->SetPath(URIUtils::AddFileToFolder(GetUserDataFolder(), strDirectory + "/"));
item->m_bIsFolder = true;
item->Select(true);
CGUIComponent *gui = CServiceBroker::GetGUI();
if (gui && gui->ConfirmDelete(item->GetPath()))
CFileUtils::DeleteItem(item);
return Save();
}
示例11: ShowAndGetInput
bool CGUIDialogYesNo::ShowAndGetInput(CVariant heading, CVariant text, bool &bCanceled, CVariant noLabel /* = "" */, CVariant yesLabel /* = "" */, unsigned int autoCloseTime)
{
CGUIDialogYesNo *dialog = (CGUIDialogYesNo *)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!dialog)
return false;
dialog->SetHeading(heading);
dialog->SetText(text);
if (autoCloseTime)
dialog->SetAutoClose(autoCloseTime);
dialog->m_bCanceled = false;
dialog->SetChoice(0, !noLabel.empty() ? noLabel : 106);
dialog->SetChoice(1, !yesLabel.empty() ? yesLabel : 107);
dialog->Open();
bCanceled = dialog->m_bCanceled;
return (dialog->IsConfirmed()) ? true : false;
}
示例12: Process
void CAddonStatusHandler::Process()
{
CSingleLock lock(m_critSection);
std::string heading = StringUtils::Format("%s: %s", TranslateType(m_addon->Type(), true).c_str(), m_addon->Name().c_str());
/* Request to restart the AddOn and data structures need updated */
if (m_status == ADDON_STATUS_NEED_RESTART)
{
CGUIDialogOK* pDialog = (CGUIDialogOK*)g_windowManager.GetWindow(WINDOW_DIALOG_OK);
if (!pDialog) return;
pDialog->SetHeading(CVariant{heading});
pDialog->SetLine(1, CVariant{24074});
pDialog->Open();
CAddonMgr::GetInstance().GetCallbackForType(m_addon->Type())->RequestRestart(m_addon, true);
}
/* Some required settings are missing/invalid */
else if ((m_status == ADDON_STATUS_NEED_SETTINGS) || (m_status == ADDON_STATUS_NEED_SAVEDSETTINGS))
{
CGUIDialogYesNo* pDialogYesNo = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!pDialogYesNo) return;
pDialogYesNo->SetHeading(CVariant{heading});
pDialogYesNo->SetLine(1, CVariant{24070});
pDialogYesNo->SetLine(2, CVariant{24072});
pDialogYesNo->SetLine(3, CVariant{m_message});
pDialogYesNo->Open();
if (!pDialogYesNo->IsConfirmed()) return;
if (!m_addon->HasSettings())
return;
if (CGUIDialogAddonSettings::ShowAndGetInput(m_addon))
{
//! @todo Doesn't dialogaddonsettings save these automatically? It should do this.
m_addon->SaveSettings();
CAddonMgr::GetInstance().GetCallbackForType(m_addon->Type())->RequestRestart(m_addon, true);
}
}
}
示例13: ActionDeleteRecording
bool CGUIWindowPVRRecordings::ActionDeleteRecording(CFileItem *item)
{
bool bReturn = false;
if ((!item->IsPVRRecording() && !item->m_bIsFolder) || item->IsParentFolder())
return bReturn;
/* show a confirmation dialog */
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return bReturn;
int iLine0 = item->m_bIsFolder ? 19113 : item->GetPVRRecordingInfoTag()->IsDeleted() ? 19294 : 19112;
pDialog->SetHeading(CVariant{122}); // Confirm delete
pDialog->SetLine(0, CVariant{iLine0}); // Delete all recordings in this folder? / Delete this recording permanently? / Delete this recording?
pDialog->SetLine(1, CVariant{""});
pDialog->SetLine(2, CVariant{item->GetLabel()});
pDialog->SetChoice(1, CVariant{117}); // Delete
/* prompt for the user's confirmation */
pDialog->Open();
if (!pDialog->IsConfirmed())
return bReturn;
/* delete the recording */
if (g_PVRRecordings->Delete(*item))
{
g_PVRManager.TriggerRecordingsUpdate();
bReturn = true;
/* remove the item from the list immediately, otherwise the
item count further down may be wrong */
m_vecItems->Remove(item);
/* go to the parent folder if we're in a subdirectory and just deleted the last item */
CPVRRecordingsPath path(m_vecItems->GetPath());
if (path.IsValid() && !path.IsRecordingsRoot() && m_vecItems->GetObjectCount() == 0)
GoParentFolder();
}
return bReturn;
}
示例14: ShowAndGetInput
bool CGUIDialogYesNo::ShowAndGetInput(CVariant heading, CVariant line0, CVariant line1, CVariant line2, bool &bCanceled, CVariant noLabel, CVariant yesLabel, unsigned int autoCloseTime)
{
CGUIDialogYesNo *dialog = static_cast<CGUIDialogYesNo *>(g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO));
if (!dialog)
return false;
dialog->SetHeading(heading);
dialog->SetLine(0, line0);
dialog->SetLine(1, line1);
dialog->SetLine(2, line2);
if (autoCloseTime)
dialog->SetAutoClose(autoCloseTime);
dialog->SetChoice(0, !noLabel.empty() ? noLabel : 106);
dialog->SetChoice(1, !yesLabel.empty() ? yesLabel : 107);
dialog->m_bCanceled = false;
dialog->Open();
bCanceled = dialog->m_bCanceled;
return (dialog->IsConfirmed()) ? true : false;
}
示例15: OnContextButtonDeleteAll
bool CGUIWindowPVRRecordings::OnContextButtonDeleteAll(CFileItem *item, CONTEXT_BUTTON button)
{
bool bReturn = false;
if (button != CONTEXT_BUTTON_DELETE_ALL || !item->IsDeletedPVRRecording())
return bReturn;
/* show a confirmation dialog */
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return bReturn;
pDialog->SetHeading(CVariant{19292}); // Delete all permanently
pDialog->SetLine(0, CVariant{19293}); // Delete all recordings permanently?
pDialog->SetLine(1, CVariant{""});
pDialog->SetLine(2, CVariant{""});
pDialog->SetChoice(1, CVariant{117}); // Delete
/* prompt for the user's confirmation */
pDialog->Open();
if (!pDialog->IsConfirmed())
return bReturn;
/* undelete the recording */
if (g_PVRRecordings->DeleteAllRecordingsFromTrash())
{
g_PVRManager.TriggerRecordingsUpdate();
bReturn = true;
/* remove the item from the list immediately, otherwise the
item count further down may be wrong */
m_vecItems->Clear();
/* go to the parent folder if we're in a subdirectory and just deleted the last item */
CPVRRecordingsPath path(m_vecItems->GetPath());
if (path.IsValid() && !path.IsRecordingsRoot() && m_vecItems->GetObjectCount() == 0)
GoParentFolder();
}
return bReturn;
}