* paths.
* @param [out] string of the paths.
*/
-void ShellFileOperations::GetPathList(bool source, vector<TCHAR>& paths) const
+vector<TCHAR> ShellFileOperations::GetPathList(bool source) const
{
+ vector<TCHAR> paths;
const size_t len = CountStringSize(source);
paths.resize(len, 0);
ind++; // NUL between strings
++iter;
}
+ return paths;
}
/**
if (m_function == 0)
return false; // Operation not set!
- vector<TCHAR> sourceStr, destStr;
- GetPathList(true, sourceStr);
+ vector<TCHAR> destStr;
+ vector<TCHAR> sourceStr = GetPathList(true);
if (m_function != FO_DELETE)
- GetPathList(false, destStr);
+ destStr = GetPathList(false);
SHFILEOPSTRUCT fileop = {m_parentWindow, m_function, &sourceStr[0],
m_function != FO_DELETE ? &destStr[0] : nullptr, m_flags, FALSE, 0, 0};
void Reset();
protected:
- void GetPathList(bool source, std::vector<TCHAR>& paths) const;
+ std::vector<TCHAR> GetPathList(bool source) const;
size_t CountStringSize(bool source) const;
private:
int m_nColumns; /**< Columns in UI */
String m_sSeparator; /**< Column separator for report */
CFile *m_pFile; /**< File to write report to */
- const std::vector<String>& m_colRegKeys; /**< Key names for currently displayed columns */
+ std::vector<String> m_colRegKeys; /**< Key names for currently displayed columns */
IFileCmpReport *m_pFileCmpReport;
bool m_bIncludeFileCmpReport; /**< Do we include file compare report in folder compare report? */
bool m_bOutputUTF8;
/**
* @brief Fill string list with current dirview column registry key names
*/
-void CDirView::GetCurrentColRegKeys(std::vector<String>& colKeys)
+std::vector<String> CDirView::GetCurrentColRegKeys()
{
+ std::vector<String> colKeys;
int nphyscols = GetListCtrl().GetHeaderCtrl()->GetItemCount();
for (int col = 0; col < nphyscols; ++col)
{
int logcol = m_pColItems->ColPhysToLog(col);
colKeys.push_back(m_pColItems->GetColRegValueNameBase(logcol));
}
+ return colKeys;
}
struct FileCmpReport: public IFileCmpReport
pDoc->SetGeneratingReport(true);
const CDiffContext& ctxt = GetDiffContext();
- // Make list of registry keys for columns
- // (needed for XML reports)
- std::vector<String> colKeys;
- GetCurrentColRegKeys(colKeys);
-
- DirCmpReport report(colKeys);
+ DirCmpReport report(GetCurrentColRegKeys());
FileCmpReport freport(this);
IListCtrlImpl list(m_pList->m_hWnd);
report.SetList(&list);
int GetFirstDifferentItem();
int GetLastDifferentItem();
int AddSpecialItems();
- void GetCurrentColRegKeys(std::vector<String>& colKeys);
+ std::vector<String> GetCurrentColRegKeys();
void OpenSpecialItems(DIFFITEM *pos1, DIFFITEM *pos2, DIFFITEM *pos3);
// Implementation data
/**
* @brief Get list of filters currently available.
*
- * @param [out] filters Filter list to receive found filters.
* @param [out] selected Filepath of currently selected filter.
+ * @return Filter list to receive found filters.
*/
-void FileFilterHelper::GetFileFilters(std::vector<FileFilterInfo> * filters, String & selected) const
+std::vector<FileFilterInfo> FileFilterHelper::GetFileFilters(String & selected) const
{
+ std::vector<FileFilterInfo> filters;
if (m_fileFilterMgr != nullptr)
{
const int count = m_fileFilterMgr->GetFilterCount();
- filters->reserve(count);
+ filters.reserve(count);
for (int i = 0; i < count; ++i)
{
FileFilterInfo filter;
filter.fullpath = m_fileFilterMgr->GetFilterPath(i);
filter.name = m_fileFilterMgr->GetFilterName(i);
filter.description = m_fileFilterMgr->GetFilterDesc(i);
- filters->push_back(filter);
+ filters.push_back(filter);
}
}
selected = m_sFileFilterPath;
+ return filters;
}
/**
*/
String FileFilterHelper::GetFileFilterName(const String& filterPath) const
{
- vector<FileFilterInfo> filters;
String selected;
String name;
-
- GetFileFilters(&filters, selected);
+ vector<FileFilterInfo> filters = GetFileFilters(selected);
vector<FileFilterInfo>::const_iterator iter = filters.begin();
while (iter != filters.end())
{
*/
String FileFilterHelper::GetFileFilterPath(const String& filterName) const
{
- vector<FileFilterInfo> filters;
String selected;
String path;
-
- GetFileFilters(&filters, selected);
+ vector<FileFilterInfo> filters = GetFileFilters(selected);
vector<FileFilterInfo>::const_iterator iter = filters.begin();
while (iter != filters.end())
{
*/
void FileFilterHelper::ReloadUpdatedFilters()
{
- vector<FileFilterInfo> filters;
DirItem fileInfo;
String selected;
-
- GetFileFilters(&filters, selected);
+ vector<FileFilterInfo> filters = GetFileFilters(selected);
vector<FileFilterInfo>::const_iterator iter = filters.begin();
while (iter != filters.end())
{
FileFilterMgr * GetManager() const;
void SetFileFilterPath(const String& szFileFilterPath);
- void GetFileFilters(std::vector<FileFilterInfo> * filters, String & selected) const;
+ std::vector<FileFilterInfo> GetFileFilters(String & selected) const;
String GetFileFilterName(const String& filterPath) const;
String GetFileFilterPath(const String& filterName) const;
void SetUserFilterPath(const String & filterPath);
* @brief Constructor.
*/
FileFiltersDlg::FileFiltersDlg() : CTrPropertyPage(FileFiltersDlg::IDD)
-, m_Filters(nullptr)
{
m_strCaption = theApp.LoadDialogCaption(m_lpszTemplateName).c_str();
m_psp.pszTitle = m_strCaption;
* @param [in] fileFilters Array of filters to show in the dialog.
* @note Call this before actually showing the dialog.
*/
-void FileFiltersDlg::SetFilterArray(vector<FileFilterInfo> * fileFilters)
+void FileFiltersDlg::SetFilterArray(const vector<FileFilterInfo>& fileFilters)
{
m_Filters = fileFilters;
}
m_listFilters.SetItemText(0, 1, title.c_str());
m_listFilters.SetItemText(0, 2, title.c_str());
- const int count = (int) m_Filters->size();
+ const int count = (int) m_Filters.size();
for (int i = 0; i < count; i++)
{
*/
void FileFiltersDlg::AddToGrid(int filterIndex)
{
- const FileFilterInfo & filterinfo = m_Filters->at(filterIndex);
+ const FileFilterInfo & filterinfo = m_Filters.at(filterIndex);
const int item = filterIndex + 1;
m_listFilters.InsertItem(item, filterinfo.name.c_str());
{
// Remove all from filterslist and re-add so we can update UI
String selected;
- m_Filters->clear();
theApp.m_pGlobalFileFilter->LoadAllFileFilters();
- theApp.m_pGlobalFileFilter->GetFileFilters(m_Filters, selected);
+ m_Filters = theApp.m_pGlobalFileFilter->GetFileFilters(selected);
UpdateFiltersList();
}
// Remove all from filterslist and re-add so we can update UI
String selected;
- m_Filters->clear();
- theApp.m_pGlobalFileFilter->GetFileFilters(m_Filters, selected);
+ m_Filters = theApp.m_pGlobalFileFilter->GetFileFilters(selected);
UpdateFiltersList();
}
*/
void FileFiltersDlg::UpdateFiltersList()
{
- int count = (int) m_Filters->size();
+ int count = (int) m_Filters.size();
m_listFilters.DeleteAllItems();
// Remove all from filterslist and re-add so we can update UI
String selected;
- m_Filters->clear();
- theApp.m_pGlobalFileFilter->GetFileFilters(m_Filters, selected);
+ m_Filters = theApp.m_pGlobalFileFilter->GetFileFilters(selected);
UpdateFiltersList();
}
// Construction
public:
FileFiltersDlg(); // standard constructor
- void SetFilterArray(std::vector<FileFilterInfo> * fileFilters);
+ void SetFilterArray(const std::vector<FileFilterInfo>& fileFilters);
String GetSelected();
void SetSelected(const String & selected);
private:
String m_sFileFilterPath;
CPoint m_ptLastMousePos;
- std::vector<FileFilterInfo> * m_Filters;
+ std::vector<FileFilterInfo> m_Filters;
// Dialog Data
//{{AFX_DATA(FileFiltersDlg)
////////////////////////////////////////////////////////////////////////////////
// transformation : TextTransform_Interactive (editor scripts)
-void GetFreeFunctionsInScripts(std::vector<String>& sNamesArray, const wchar_t *TransformationEvent)
+std::vector<String> GetFreeFunctionsInScripts(const wchar_t *TransformationEvent)
{
+ std::vector<String> sNamesArray;
+
// get an array with the available scripts
PluginArray * piScriptArray =
CAllThreadsScripts::GetActiveSet()->GetAvailableScripts(TransformationEvent);
nFnc += nScriptFnc;
}
+ return sNamesArray;
}
bool Interactive(String & text, const wchar_t *TransformationEvent, int iFncChosen)
* last script file, ...
* last script file, last function name
*/
-void GetFreeFunctionsInScripts(std::vector<String> & sNamesArray, const wchar_t *TransformationEvent);
+std::vector<String> GetFreeFunctionsInScripts(const wchar_t* TransformationEvent);
/**
* @brief : Execute one free function from one script
CPropertySheet sht(title.c_str());
LineFiltersDlg lineFiltersDlg;
FileFiltersDlg fileFiltersDlg;
- vector<FileFilterInfo> fileFilters;
std::unique_ptr<LineFiltersList> lineFilters(new LineFiltersList());
String selectedFilter;
const String origFilter = theApp.m_pGlobalFileFilter->GetFilterNameOrMask();
// Make sure all filters are up-to-date
theApp.m_pGlobalFileFilter->ReloadUpdatedFilters();
- theApp.m_pGlobalFileFilter->GetFileFilters(&fileFilters, selectedFilter);
- fileFiltersDlg.SetFilterArray(&fileFilters);
+ fileFiltersDlg.SetFilterArray(theApp.m_pGlobalFileFilter->GetFileFilters(selectedFilter));
fileFiltersDlg.SetSelected(selectedFilter);
const bool lineFiltersEnabledOrig = GetOptionsMgr()->GetBool(OPT_LINEFILTER_ENABLED);
lineFiltersDlg.m_bIgnoreRegExp = lineFiltersEnabledOrig;
HMENU CMergeEditView::createScriptsSubmenu(HMENU hMenu)
{
// get scripts list
- std::vector<String> functionNamesList;
- FileTransform::GetFreeFunctionsInScripts(functionNamesList, L"EDITOR_SCRIPT");
+ std::vector<String> functionNamesList = FileTransform::GetFreeFunctionsInScripts(L"EDITOR_SCRIPT");
// empty the menu
size_t i = GetMenuItemCount(hMenu);
TEST_F(FileFilterHelperTest, SetFileFilterPath)
{
- std::vector<FileFilterInfo> filters;
String selected;
m_fileFilterHelper.SetFileFilterPath(_T(""));
- m_fileFilterHelper.GetFileFilters(&filters, selected);
+ std::vector<FileFilterInfo> filters = m_fileFilterHelper.GetFileFilters(selected);
EXPECT_TRUE(selected.compare(_T("")) == 0);
m_fileFilterHelper.SetFileFilterPath(_T("non-existent file filter path"));
- m_fileFilterHelper.GetFileFilters(&filters, selected);
+ filters = m_fileFilterHelper.GetFileFilters(selected);
EXPECT_TRUE(selected.compare(_T("")) == 0);
m_fileFilterHelper.SetFileFilterPath(m_fileFilterHelper.GetFileFilterPath(_T("simple include file")).c_str());
- m_fileFilterHelper.GetFileFilters(&filters, selected);
+ filters = m_fileFilterHelper.GetFileFilters(selected);
EXPECT_TRUE(selected.find_first_of(_T("Filters\\simple_include_file.flt")) != String::npos);
}
TEST_F(FileFilterHelperTest, GetFileFilters)
{
- std::vector<FileFilterInfo> filters;
String selected;
- m_fileFilterHelper.GetFileFilters(&filters, selected);
+ std::vector<FileFilterInfo> filters = m_fileFilterHelper.GetFileFilters(selected);
for (std::vector<FileFilterInfo>::iterator it = filters.begin(); it != filters.end(); it++)
{