return true;
}
-bool HandleFocusLauncher() {
+bool HandleFocusShelf() {
Shell* shell = Shell::GetInstance();
- base::RecordAction(base::UserMetricsAction("Accel_Focus_Launcher"));
+ base::RecordAction(base::UserMetricsAction("Accel_Focus_Shelf"));
return shell->focus_cycler()->FocusWidget(
Shelf::ForPrimaryDisplay()->shelf_widget());
}
actions_allowed_at_lock_screen_.insert(kActionsAllowedAtLockScreen[i]);
for (size_t i = 0; i < kActionsAllowedAtModalWindowLength; ++i)
actions_allowed_at_modal_window_.insert(kActionsAllowedAtModalWindow[i]);
+ for (size_t i = 0; i < kPreferredActionsLength; ++i)
+ preferred_actions_.insert(kPreferredActions[i]);
for (size_t i = 0; i < kReservedActionsLength; ++i)
reserved_actions_.insert(kReservedActions[i]);
for (size_t i = 0; i < kNonrepeatableActionsLength; ++i)
return accelerator_manager_->GetCurrentTarget(accelerator) != NULL;
}
-bool AcceleratorController::IsReservedAccelerator(
+bool AcceleratorController::IsPreferred(
+ const ui::Accelerator& accelerator) const {
+ const ui::Accelerator remapped_accelerator = ime_control_delegate_.get() ?
+ ime_control_delegate_->RemapAccelerator(accelerator) : accelerator;
+
+ std::map<ui::Accelerator, int>::const_iterator iter =
+ accelerators_.find(remapped_accelerator);
+ if (iter == accelerators_.end())
+ return false; // not an accelerator.
+
+ return preferred_actions_.find(iter->second) != preferred_actions_.end();
+}
+
+bool AcceleratorController::IsReserved(
const ui::Accelerator& accelerator) const {
const ui::Accelerator remapped_accelerator = ime_control_delegate_.get() ?
ime_control_delegate_->RemapAccelerator(accelerator) : accelerator;
shell->system_tray_delegate()->GetVolumeControlDelegate();
return volume_delegate && volume_delegate->HandleVolumeUp(accelerator);
}
- case FOCUS_LAUNCHER:
- return HandleFocusLauncher();
+ case FOCUS_SHELF:
+ return HandleFocusShelf();
case FOCUS_NEXT_PANE:
return HandleRotatePaneFocus(Shell::FORWARD);
case FOCUS_PREVIOUS_PANE: