| Index: ui/base/accelerators/accelerator.h
|
| diff --git a/ui/base/accelerators/accelerator.h b/ui/base/accelerators/accelerator.h
|
| index 7fa1fbb89c458e5fc3d3cd11c04b0ab097f4db4a..4c9b24eabfc83f2ffc9a59af0684f69e99ddc7d5 100644
|
| --- a/ui/base/accelerators/accelerator.h
|
| +++ b/ui/base/accelerators/accelerator.h
|
| @@ -23,20 +23,24 @@ namespace ui {
|
| // meant to be subclassed for concrete toolkit implementations.
|
| class UI_EXPORT Accelerator {
|
| public:
|
| - Accelerator() : key_code_(ui::VKEY_UNKNOWN), modifiers_(0) {}
|
| + Accelerator()
|
| + : key_code_(ui::VKEY_UNKNOWN), type_(ui::ET_KEY_PRESSED), modifiers_(0) {}
|
|
|
| Accelerator(ui::KeyboardCode keycode, int modifiers)
|
| : key_code_(keycode),
|
| + type_(ui::ET_KEY_PRESSED),
|
| modifiers_(modifiers) {}
|
|
|
| Accelerator(const Accelerator& accelerator) {
|
| key_code_ = accelerator.key_code_;
|
| + type_ = accelerator.type_;
|
| modifiers_ = accelerator.modifiers_;
|
| }
|
|
|
| Accelerator(ui::KeyboardCode keycode,
|
| bool shift_pressed, bool ctrl_pressed, bool alt_pressed)
|
| : key_code_(keycode),
|
| + type_(ui::ET_KEY_PRESSED),
|
| modifiers_(0) {
|
| if (shift_pressed)
|
| modifiers_ |= ui::EF_SHIFT_DOWN;
|
| @@ -51,6 +55,7 @@ class UI_EXPORT Accelerator {
|
| Accelerator& operator=(const Accelerator& accelerator) {
|
| if (this != &accelerator) {
|
| key_code_ = accelerator.key_code_;
|
| + type_ = accelerator.type_;
|
| modifiers_ = accelerator.modifiers_;
|
| }
|
| return *this;
|
| @@ -61,11 +66,14 @@ class UI_EXPORT Accelerator {
|
| bool operator <(const Accelerator& rhs) const {
|
| if (key_code_ != rhs.key_code_)
|
| return key_code_ < rhs.key_code_;
|
| + if (type_ != rhs.type_)
|
| + return type_ < rhs.type_;
|
| return modifiers_ < rhs.modifiers_;
|
| }
|
|
|
| bool operator ==(const Accelerator& rhs) const {
|
| - return (key_code_ == rhs.key_code_) && (modifiers_ == rhs.modifiers_);
|
| + return (key_code_ == rhs.key_code_) &&
|
| + (type_ == rhs.type_) && (modifiers_ == rhs.modifiers_);
|
| }
|
|
|
| bool operator !=(const Accelerator& rhs) const {
|
| @@ -74,6 +82,12 @@ class UI_EXPORT Accelerator {
|
|
|
| ui::KeyboardCode key_code() const { return key_code_; }
|
|
|
| + ui::EventType type() const { return type_; }
|
| +
|
| + // Sets the event type if the accelerator should be processed on an event
|
| + // other than ui::ET_KEY_PRESSED.
|
| + void set_type(ui::EventType type) { type_ = type; }
|
| +
|
| int modifiers() const { return modifiers_; }
|
|
|
| bool IsShiftDown() const {
|
| @@ -95,6 +109,9 @@ class UI_EXPORT Accelerator {
|
| // The keycode (VK_...).
|
| ui::KeyboardCode key_code_;
|
|
|
| + // The event type (usually ui::ET_KEY_PRESSED).
|
| + ui::EventType type_;
|
| +
|
| // The state of the Shift/Ctrl/Alt keys (platform-dependent).
|
| int modifiers_;
|
| };
|
|
|