summaryrefslogtreecommitdiff
path: root/utilities.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-08-06 23:03:26 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-08-06 23:03:26 +0300
commit9022cd651aaf7e0cd44d2c987b329f9ae0a21529 (patch)
treecfb8aab5bcd0aa454d650885a5d6911820ee8396 /utilities.cpp
parent776188f249fa2360bafcc3083119efc9d82446b7 (diff)
it's all for today, i need to sleep
Diffstat (limited to 'utilities.cpp')
-rw-r--r--utilities.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/utilities.cpp b/utilities.cpp
index f8ea696..0654bd6 100644
--- a/utilities.cpp
+++ b/utilities.cpp
@@ -101,3 +101,25 @@ void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szEx
return;
DBWriteContactSettingTString(0, szModuleName, szSetting, str);
}
+
+void GetFolderPath(TCHAR *WindowTittle, char *szSetting)
+{
+ BROWSEINFO pbi = {0};
+ pbi.lpszTitle = WindowTittle;
+ pbi.ulFlags = BIF_EDITBOX|BIF_NEWDIALOGSTYLE|BIF_SHAREABLE;
+ LPITEMIDLIST pidl = SHBrowseForFolder(&pbi);
+ if (pidl != 0)
+ {
+ TCHAR path[MAX_PATH];
+ if (SHGetPathFromIDList(pidl, path))
+ {
+ DBWriteContactSettingTString(NULL, szModuleName, "szHomePath", path);
+ }
+ IMalloc * imalloc = 0;
+ if (SUCCEEDED(SHGetMalloc(&imalloc)))
+ {
+ imalloc->Free(pidl);
+ imalloc->Release();
+ }
+ }
+}