Fix accelerator removal for non-Western languages which use "(&Letter)"

to represent accelerators in menu items rather than just '&' in front of one letter.

MainWindow::removeMenuAccelerators()
    Use a regexp to match "(&Letters)" as well as '&'

CCBUG: 165949

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=832422
This commit is contained in:
Robert Knight
2008-07-14 16:31:18 +00:00
parent c4c78878d1
commit 2e26ed38bf

View File

@@ -110,10 +110,14 @@ MainWindow::MainWindow()
}
void MainWindow::removeMenuAccelerators()
{
// regular expression to find accelerators in menu items.
// Matches the '&' character anywhere in the text (for Western languages)
// or " (&Letters)" (for many non-Western languages)
static QRegExp acceleratorPattern("\\s\\(\\s*\\&.*\\)|\\&");
foreach(QAction* menuItem, menuBar()->actions())
{
QString itemText = menuItem->text();
itemText.remove('&');
itemText.remove(acceleratorPattern);
menuItem->setText(itemText);
}
}