BOOL CSubtitleDlDlg::OnInitDialog() { __super::OnInitDialog(); m_status.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM, CRect(0, 0, 0, 0), this, IDC_STATUSBAR); int n, curPos = 0; CArray<int> columnWidth; CString strColumnWidth = AfxGetApp()->GetProfileString(IDS_R_DLG_SUBTITLEDL, IDS_RS_DLG_SUBTITLEDL_COLWIDTH, _T("")); CString token = strColumnWidth.Tokenize(_T(","), curPos); while (!token.IsEmpty()) { if (_stscanf_s(token, L"%i", &n) == 1) { columnWidth.Add(n); token = strColumnWidth.Tokenize(_T(","), curPos); } else { throw 1; } } m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES | LVS_EX_LABELTIP); if (columnWidth.GetCount() != 5) { // default sizes columnWidth.RemoveAll(); columnWidth.Add(290); columnWidth.Add(70); columnWidth.Add(50); columnWidth.Add(50); columnWidth.Add(270); } m_list.InsertColumn(COL_FILENAME, ResStr(IDS_SUBDL_DLG_FILENAME_COL), LVCFMT_LEFT, columnWidth[0]); m_list.InsertColumn(COL_LANGUAGE, ResStr(IDS_SUBDL_DLG_LANGUAGE_COL), LVCFMT_CENTER, columnWidth[1]); m_list.InsertColumn(COL_FORMAT, ResStr(IDS_SUBDL_DLG_FORMAT_COL), LVCFMT_CENTER, columnWidth[2]); m_list.InsertColumn(COL_DISC, ResStr(IDS_SUBDL_DLG_DISC_COL), LVCFMT_CENTER, columnWidth[3]); m_list.InsertColumn(COL_TITLES, ResStr(IDS_SUBDL_DLG_TITLES_COL), LVCFMT_LEFT, columnWidth[4]); AddAnchor(IDC_LIST1, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDC_CHECK1, BOTTOM_LEFT); AddAnchor(IDOK, BOTTOM_RIGHT); AddAnchor(IDC_STATUSBAR, BOTTOM_LEFT, BOTTOM_RIGHT); const CSize s(420, 200); SetMinTrackSize(s); EnableSaveRestore(IDS_R_DLG_SUBTITLEDL); // set language sorting order const CAppSettings& settings = AfxGetAppSettings(); CString order = settings.strSubtitlesLanguageOrder; // fill language->position map int listPos = 0; int tPos = 0; CString langCode = order.Tokenize(_T(",; "), tPos); while (tPos != -1) { CString langName = LangCodeToName(CStringA(langCode)); if (!langName.IsEmpty()) { int pos; if (!defps.m_langPos.Lookup(langName, pos)) { defps.m_langPos[langName] = listPos++; } } langCode = order.Tokenize(_T(",; "), tPos); } // start new worker thread to download the list of subtitles m_pTA = DEBUG_NEW THREADSTRUCT; m_pTA->url = m_url; m_pTA->hWND = GetSafeHwnd(); SetStatus(ResStr(IDS_SUBDL_DLG_DOWNLOADING)); AfxBeginThread(RunThread, static_cast<LPVOID>(m_pTA)); return TRUE; }
void CRenderersSettings::UpdateData(bool fSave) { AfxGetAppSettings().UpdateRenderersData(fSave); }