// Copyright (c) 2013 GitHub, Inc. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #ifndef SHELL_BROWSER_UI_ACCELERATOR_UTIL_H_ #define SHELL_BROWSER_UI_ACCELERATOR_UTIL_H_ #include #include #include "shell/browser/ui/atom_menu_model.h" #include "ui/base/accelerators/accelerator.h" namespace accelerator_util { typedef struct { int position; electron::AtomMenuModel* model; } MenuItem; typedef std::map AcceleratorTable; // Parse a string as an accelerator. bool StringToAccelerator(const std::string& description, ui::Accelerator* accelerator); // Generate a table that contains memu model's accelerators and command ids. void GenerateAcceleratorTable(AcceleratorTable* table, electron::AtomMenuModel* model); // Trigger command from the accelerators table. bool TriggerAcceleratorTableCommand(AcceleratorTable* table, const ui::Accelerator& accelerator); } // namespace accelerator_util #endif // SHELL_BROWSER_UI_ACCELERATOR_UTIL_H_