1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| std::wstring stringFormatOneLine(std::wstring str, int lengthMax, std::wstring marqueurTroncature, int marqueurTroncature_len, std::wstring suffixe, int suffixe_len)
{
std::wstring res;
if (str.size() < lengthMax - suffixe_len)
{
res = str;
}
else
{
res = str.substr(0, lengthMax - marqueurTroncature_len - suffixe_len) + marqueurTroncature;
}
res += suffixe;
return res;
}
void Saison::Print_Header()
{
wchar_t date_tab[15];
std::wcsftime(date_tab, 15, L"%d/%m/%Y", &m_dossier.first);
std::wstring date_tab_str = date_tab;
std::wstring date_str = date_tab_str.substr(0, 2) + keyColor[1] + L'/' + valuesColor + date_tab_str.substr(3, 2) + keyColor[1] + L'/' + valuesColor + date_tab_str.substr(6, 4);
std::wstring dossier_str;
if (m_dossier.second != L"")
dossier_str = keyColor[0] + m_dossier.second + valuesColor + L' ';
std::wstring titre_str;
if (m_titres.size() != 0)
{
titre_str = keyColor[0] + m_titres[0] + valuesColor;
if (m_titres.size() > 1)
{
titre_str += keyColor[1] + m_titres[1] + valuesColor + keyColor[0] + m_titres[2] + valuesColor;
}
titre_str += keyColor[1] + L" : " + valuesColor;
}
std::wstring resume_str;
if (m_serie.m_resume != m_resume)
{
for (auto r : m_resume)
resume_str += r;
}
else
{
resume_str = stringFormatOneLine(m_resume.size() > 0 ? m_resume[0] : L"", 40 + 3 + 5, L"...", 3, keyColor[1] + L'(' + valuesColor + L"Bis" + keyColor[1] + L')' + valuesColor, 5);
}
std::wstring numero_str = L' ' + keyColor[1] + L'(' + valuesColor + std::to_wstring(m_numero) + keyColor[1] + L')' + valuesColor;
std::wcout << date_str << dossier_str << keyColor[1] + L" : " + valuesColor << titre_str << resume_str << numero_str << std::endl;
}
void Saison::Print()
{
Print_Header();
// Chaîne
Print_Chaine();
// Netflix
Print_Netflix();
// Avec
Print_Avec();
// Images(s)
Print_Images();
// Saison ok !
std::wcout << L"\r\n";
} |