Fixed learning RC keys with more than one RC; displaying RC name when learning keys

This commit is contained in:
Klaus Schmidinger
2002-10-26 12:56:53 +02:00
parent 41320eca4d
commit bd66898c78
4 changed files with 45 additions and 41 deletions

View File

@@ -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;
}
}
}
}