Extend the custom Jump List API

Add `app.getJumpListSettings()` and `app.setJumpList(callback)` that
make it possible to fully customize the Jump List of an Electron app.
It is now possible to:
- Add tasks to the standard `Tasks` category.
- Add separators to the standard `Tasks` category.
- Add custom categories containing tasks and file links.
- Add system managed Recent/Frequent categories.
- Remove the custom Jump List.
This commit is contained in:
Vadim Macagon 2016-08-12 16:31:17 +07:00
parent b5dec9990e
commit c64294cf60
7 changed files with 897 additions and 41 deletions

View file

@ -26,10 +26,14 @@ class FilePath;
namespace mate {
class Arguments;
}
} // namespace mate
namespace atom {
#if defined(OS_WIN)
enum class JumpListResult : int;
#endif
namespace api {
class App : public AtomBrowserClient::Delegate,
@ -120,6 +124,14 @@ class App : public AtomBrowserClient::Delegate,
const net::CompletionCallback& callback);
#endif
#if defined(OS_WIN)
// Get the current Jump List settings.
v8::Local<v8::Value> GetJumpListSettings();
// Set or remove a custom Jump List for the application.
JumpListResult SetJumpList(v8::Local<v8::Value> val, mate::Arguments* args);
#endif // defined(OS_WIN)
std::unique_ptr<ProcessSingleton> process_singleton_;
#if defined(USE_NSS_CERTS)