diff options
Diffstat (limited to 'interface.c')
-rw-r--r-- | interface.c | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/interface.c b/interface.c index 54c282d3..0f4b6151 100644 --- a/interface.c +++ b/interface.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: interface.c 1.57 2002/10/20 12:45:35 kls Exp $ + * $Id: interface.c 1.58 2002/10/26 12:22:18 kls Exp $ */ #include "interface.h" @@ -328,9 +328,6 @@ void cInterface::Help(const char *Red, const char *Green, const char *Yellow, co void cInterface::QueryKeys(cRemote *Remote) { - cRemote::Clear(); - Clear(); - WriteText(1, 1, tr("Learning Remote Control Keys"));//XXX Remote->name()!!! WriteText(1, 3, tr("Phase 1: Detecting RC code type")); WriteText(1, 5, tr("Press any key on the RC unit")); Flush(); @@ -416,28 +413,30 @@ void cInterface::LearnKeys(void) dsyslog("remote control %s - %s", Remote->Name(), known ? "keys known" : "learning keys"); if (!known) { Open(); + char Headline[Width()]; + snprintf(Headline, sizeof(Headline), tr("Learning Remote Control Keys (%s)"), Remote->Name()); + Clear(); + cRemote::Clear(); + WriteText(1, 1, Headline); + cRemote::SetLearning(true); + QueryKeys(Remote); + cRemote::SetLearning(false); + Clear(); + WriteText(1, 1, Headline); + WriteText(1, 3, tr("Phase 3: Saving key codes")); + WriteText(1, 5, tr("Press 'Up' to save, 'Down' to cancel")); for (;;) { - Clear(); - cRemote::SetLearning(true); - QueryKeys(Remote); - cRemote::SetLearning(false); - Clear(); - WriteText(1, 1, tr("Learning Remote Control Keys"));//XXX Remote->name()!!! - WriteText(1, 3, tr("Phase 3: Saving key codes")); - WriteText(1, 5, tr("Press 'Up' to save, 'Down' to cancel")); - for (;;) { - eKeys key = GetKey(); - if (key == kUp) { - Keys.Save(); - Close(); - return; - } - else if (key == kDown) { - Keys.Load(); - Close(); - return; - } - } + eKeys key = GetKey(); + if (key == kUp) { + Keys.Save(); + Close(); + break; + } + else if (key == kDown) { + Keys.Load(); + Close(); + break; + } } } } |