fix stringinput

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1380 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
satbaby
2011-04-07 17:35:19 +00:00
parent 6033d3e635
commit adbd8e1605
2 changed files with 13 additions and 9 deletions

View File

@@ -379,7 +379,6 @@ int CStringInput::exec( CMenuTarget* parent, const std::string & )
for(int count=strlen(value)-1;count<size-1;count++)
strcat(value, " ");
strncpy(oldval, value, size);
strncpy(dispval, value, size);
paint();
@@ -389,11 +388,12 @@ int CStringInput::exec( CMenuTarget* parent, const std::string & )
bool loop=true;
while (loop)
{
// if ( strncmp(value, dispval, size) != 0)
// {
// CVFD::getInstance()->showMenuText(1, value, selected+1);
// strncpy(dispval, value, size);
// }
if ( strncmp(value, dispval, size) != 0)
{
std::string tmp = value;
CVFD::getInstance()->showMenuText(1,tmp.c_str() , selected+1);
strncpy(dispval, value, size);
}
g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd, true );

View File

@@ -151,6 +151,7 @@ int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
}
strcpy(oldval, value);
strcpy(dispval, value);
paint();
uint64_t timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings
@@ -161,7 +162,8 @@ int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
{
if ( strcmp(value, dispval) != 0)
{
CVFD::getInstance()->showMenuText(1, value, selectedChar+1);
std::string tmp = value;
CVFD::getInstance()->showMenuText(1, tmp.c_str(), selectedChar+1);
strcpy(dispval, value);
}
@@ -190,7 +192,8 @@ int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
if(found) {
inputFields[oldSelectedChar]->paint( x+20, y+hheight +20, false );
inputFields[selectedChar]->paint( x+20, y+hheight +20, true );
CVFD::getInstance()->showMenuText(1, value, selectedChar+1);
std::string tmp = value;
CVFD::getInstance()->showMenuText(1, tmp.c_str(), selectedChar+1);
}
} else if (msg==CRCInput::RC_right) {
bool found = false;
@@ -217,7 +220,8 @@ int CExtendedInput::exec( CMenuTarget* parent, const std::string & )
if(found) {
inputFields[oldSelectedChar]->paint( x+20, y+hheight +20, false );
inputFields[selectedChar]->paint( x+20, y+hheight +20, true );
CVFD::getInstance()->showMenuText(1, value, selectedChar+1);
std::string tmp = value;
CVFD::getInstance()->showMenuText(1, tmp.c_str(), selectedChar+1);
}
}
else if ( (CRCInput::getUnicodeValue(msg) != -1) || (msg == CRCInput::RC_red) || (msg == CRCInput::RC_green) || (msg == CRCInput::RC_blue) || (msg == CRCInput::RC_yellow)