feat: allow setting working directory in app.setUserTasks() / app.setJumpList() (#18148)

This commit is contained in:
Milan Burda 2019-05-13 18:17:12 +02:00 committed by Alexey Kuzmin
parent 326215e1f1
commit 3a5e6f2551
8 changed files with 20 additions and 3 deletions

View file

@ -23,6 +23,7 @@ bool AppendTask(const JumpListItem& item, IObjectCollection* collection) {
if (FAILED(link.CoCreateInstance(CLSID_ShellLink)) ||
FAILED(link->SetPath(item.path.value().c_str())) ||
FAILED(link->SetArguments(item.arguments.c_str())) ||
FAILED(link->SetWorkingDirectory(item.working_dir.value().c_str())) ||
FAILED(link->SetDescription(item.description.c_str())))
return false;
@ -86,6 +87,8 @@ bool ConvertShellLinkToJumpListItem(IShellLink* shell_link,
if (FAILED(shell_link->GetPath(path, base::size(path), nullptr, 0)))
return false;
item->path = base::FilePath(path);
CComQIPtr<IPropertyStore> property_store = shell_link;
base::win::ScopedPropVariant prop;
if (SUCCEEDED(
@ -99,6 +102,9 @@ bool ConvertShellLinkToJumpListItem(IShellLink* shell_link,
item->title = prop.get().pwszVal;
}
if (SUCCEEDED(shell_link->GetWorkingDirectory(path, base::size(path))))
item->working_dir = base::FilePath(path);
int icon_index;
if (SUCCEEDED(
shell_link->GetIconLocation(path, base::size(path), &icon_index))) {

View file

@ -49,6 +49,7 @@ struct JumpListItem {
base::string16 arguments;
base::string16 title;
base::string16 description;
base::FilePath working_dir;
base::FilePath icon_path;
int icon_index = 0;