fix handylike jumping in servicelist
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Wed, 30 Nov 2005 16:08:39 +0000 (16:08 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Wed, 30 Nov 2005 16:08:39 +0000 (16:08 +0000)
lib/service/listboxservice.cpp

index e336dc1..e1f1beb 100644 (file)
@@ -55,8 +55,18 @@ int eListboxServiceContent::getNextBeginningWithChar(char c)
                m_service_center->info(*i, service_info);
                service_info->getName(*i, text);
 //             printf("%c\n", text.c_str()[0]);
                m_service_center->info(*i, service_info);
                service_info->getName(*i, text);
 //             printf("%c\n", text.c_str()[0]);
-               if (text.c_str()[0] == c)
-                       return index;
+               int idx=0;
+               int len=text.length();
+               while ( idx <= len )
+               {
+                       char cc = text[idx++];
+                       if ( cc >= 33 && cc < 127)
+                       {
+                               if (cc == c)
+                                       return index;
+                               break;
+                       }
+               }
        }
        return 0;
 }
        }
        return 0;
 }
@@ -288,7 +298,6 @@ int eListboxServiceContent::cursorSet(int n)
 {
        cursorHome();
        cursorMove(n);
 {
        cursorHome();
        cursorMove(n);
-       
        return 0;
 }
 
        return 0;
 }