initial support for binding keys to action chains

This commit is contained in:
Andrzej Rybczak
2012-08-25 04:44:02 +02:00
parent 3a023e40c0
commit 55ae5b1816
6 changed files with 194 additions and 145 deletions

View File

@@ -271,8 +271,22 @@ int main(int argc, char **argv)
KeyConfiguration::Binding k = Keys.Bindings.equal_range(input);
for (; k.first != k.second; ++k.first)
if (k.first->second->Execute())
{
Bind &b = k.first->second;
if (b.isSingle())
{
if (b.getAction()->Execute())
break;
}
else
{
Bind::ActionChain *chain = b.getChain();
for (Bind::ActionChain::iterator it = chain->begin(); it != chain->end(); ++it)
if (!(*it)->Execute())
break;
break;
}
}
if (myScreen == myPlaylist)
myPlaylist->EnableHighlighting();