menu_label_accelerator_util_linux.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef UI_BASE_ACCELERATORS_MENU_LABEL_ACCELERATOR_UTIL_LINUX_H_ 6#define UI_BASE_ACCELERATORS_MENU_LABEL_ACCELERATOR_UTIL_LINUX_H_ 7 8#include <string> 9 10#include "ui/base/ui_base_export.h" 11 12namespace ui { 13 14// Change windows accelerator style to GTK style. (GTK uses _ for 15// accelerators. Windows uses & with && as an escape for &.) 16UI_BASE_EXPORT std::string ConvertAcceleratorsFromWindowsStyle( 17 const std::string& label); 18 19// Removes the "&" accelerators from a Windows label. 20UI_BASE_EXPORT std::string RemoveWindowsStyleAccelerators( 21 const std::string& label); 22 23// Escapes "&" characters by doubling them so that later calling 24// ConvertAcceleratorsFromWindowsStyle() will return the original string (except 25// with "_" characters doubled, to escape them for GTK). 26UI_BASE_EXPORT std::string EscapeWindowsStyleAccelerators( 27 const std::string& label); 28 29} // namespace ui 30 31#endif // UI_BASE_ACCELERATORS_MENU_LABEL_ACCELERATOR_UTIL_LINUX_H_ 32