bool CPVRGUIActions::RenameRecording(const CFileItemPtr &item) const { const CPVRRecordingPtr recording(item->GetPVRRecordingInfoTag()); if (!recording) return false; std::string strNewName(recording->m_strTitle); if (!CGUIKeyboardFactory::ShowAndGetInput(strNewName, CVariant{g_localizeStrings.Get(19041)}, false)) return false; if (!g_PVRRecordings->RenameRecording(*item, strNewName)) return false; g_PVRManager.TriggerRecordingsUpdate(); return true; }
SQInteger CSystemNatives::Rename(SQVM * pVM) { const char *oldn, *newn; sq_getstring(pVM, 2, &oldn); sq_getstring(pVM, 3, &newn); String strOldName(oldn); String strNewName(newn); SharedUtility::RemoveIllegalCharacters(strOldName); SharedUtility::RemoveIllegalCharacters(strNewName); if(rename(SharedUtility::GetAbsolutePath("files/%s", strOldName.Get()), SharedUtility::GetAbsolutePath("files/%s", strNewName.Get())) == -1) return sq_throwerror(pVM, "rename() failed"); sq_pushbool(pVM, true); return 0; }
bool CPVRGUIActions::RenameTimer(const CFileItemPtr &item) const { if (!item->HasPVRTimerInfoTag()) return false; const CPVRTimerInfoTagPtr timer(item->GetPVRTimerInfoTag()); std::string strNewName(timer->m_strTitle); if (CGUIKeyboardFactory::ShowAndGetInput(strNewName, CVariant{g_localizeStrings.Get(19042)}, // "Are you sure you want to rename this timer?" false)) { if (!g_PVRTimers->RenameTimer(*item, strNewName)) return false; } CGUIWindowPVRBase *pvrWindow = dynamic_cast<CGUIWindowPVRBase *>(g_windowManager.GetWindow(g_windowManager.GetActiveWindow())); if (pvrWindow) pvrWindow->DoRefresh(); else CLog::Log(LOGERROR, "CPVRGUIActions - %s - called on non-pvr window. no refresh possible.", __FUNCTION__); return true; }
/*---------------------------------------------------------------------------------------------- Get the final values for the dialog controls, after the dialog has been closed. ----------------------------------------------------------------------------------------------*/ void FmtGenDlg::GetDialogValues(StyleInfo & styi, bool & fBasedOnChanged) { StrUni stuName = GetName(); StrApp strName = stuName; achar rgcha[1024]; Vector<achar> vch; achar * pszT; memcpy(rgcha, strName.Chars(), strName.Length() * isizeof(achar)); if (stuName != styi.m_stuName) { StrApp strOldName(styi.m_stuName); StrApp strNewName(stuName); if (!m_pafsd->SetName(styi, stuName)) { // Error: restore the old name. ::SetDlgItemText(m_hwnd, kctidFgEdName, strOldName.Chars()); } // Otherwise update the comboboxes for BasedOn and Next. // This allows the later code which reads from them to work correctly, // so it is worth doing even here in a read routine. // Also update the edit box to handle stripping of leading/trailing blanks. else { ::SetDlgItemText(m_hwnd, kctidFgEdName, strNewName.Chars()); UpdateComboboxes(strOldName, strNewName); } } int iitem = ::SendMessage(m_hwndBasedOn, CB_GETCURSEL, 0,0); // <0 means the item is blank (e.g., Normal is not based on anything). // But if we pass -1 to CB_GETLBTEXT, we get the text of the first item. // This can change Normal to be based on Normal, with bad consequences. // if (iitem < 0) { pszT = _T(""); } else { int cch = ::SendMessage(m_hwndBasedOn, CB_GETLBTEXTLEN, (WPARAM)iitem, 0); if (cch < 1024) { pszT = rgcha; } else { vch.Resize(cch + 1); pszT = vch.Begin(); } cch = ::SendMessage(m_hwndBasedOn, CB_GETLBTEXT, iitem, (long)pszT); if (cch < 0) pszT = _T(""); } stuName = pszT; HVO hvoBasedOn = m_pafsd->GetHvoOfStyleNamed(stuName); if (styi.m_hvoBasedOn != hvoBasedOn) { m_pafsd->SetBasedOn(styi, hvoBasedOn); // Sets m_fDirty. // Note that this is initialised to false in AfStylesDlg::UpdateTabCtrl. fBasedOnChanged = true; } iitem = ::SendMessage(m_hwndNext, CB_GETCURSEL, 0,0); if (iitem < 0) { pszT = _T(""); } else { int cch = ::SendMessage(m_hwndNext, CB_GETLBTEXTLEN, (WPARAM)iitem, 0); if (cch < 1024) { pszT = rgcha; } else { vch.Resize(cch + 1); pszT = vch.Begin(); } cch = ::SendMessage(m_hwndNext, CB_GETLBTEXT, iitem, (long)pszT); if (cch < 0) pszT = _T(""); } stuName = pszT; HVO hvoNext = m_pafsd->GetHvoOfStyleNamed(stuName); if ((styi.m_hvoNext != hvoNext) && (styi.m_st != kstCharacter)) { m_pafsd->SetNext(styi, hvoNext); // Sets m_fDirty. } } //:> FmtGenDlg::GetDialogValues.