| 4358 | } |
| 4359 | |
| 4360 | LPITEMIDLIST WindowsSystem::GetRelativePidlFromAbsFilePath( QString p) |
| 4361 | { |
| 4362 | LPITEMIDLIST pidl = NULL; |
| 4363 | LPITEMIDLIST pidlRelative = NULL; |
| 4364 | |
| 4365 | // namespace extension root (desktop) for parsing path |
| 4366 | LPSHELLFOLDER psfDesktop = NULL; |
| 4367 | if (FAILED(SHGetDesktopFolder(&psfDesktop))) |
| 4368 | return pidl; |
| 4369 | |
| 4370 | // parse path for absolute PIDL |
| 4371 | if (FAILED(psfDesktop->ParseDisplayName(NULL, NULL, (LPWSTR) p.utf16(), NULL, &pidl, NULL))) |
| 4372 | return pidl; |
| 4373 | |
| 4374 | // get the relative pidl, do not need to free pidlTemp |
| 4375 | pidlRelative = ILClone(ILFindLastID(pidl)); |
| 4376 | |
| 4377 | // cleanup |
| 4378 | CoTaskMemFree(pidl); |
| 4379 | psfDesktop->Release(); |
| 4380 | |
| 4381 | return pidlRelative; |
| 4382 | } |
| 4383 | |
| 4384 | void WindowsSystem::GetWorkArea(int &r, int &l, int &t, int &b) |
| 4385 | { |
no test coverage detected