diff -r 2b40d63a9c3d -r 90517678cc4f qtmobility/plugins/multimedia/v4l/radio/v4lradiocontrol.cpp --- a/qtmobility/plugins/multimedia/v4l/radio/v4lradiocontrol.cpp Fri Apr 16 15:51:22 2010 +0300 +++ b/qtmobility/plugins/multimedia/v4l/radio/v4lradiocontrol.cpp Mon May 03 13:18:40 2010 +0300 @@ -344,31 +344,32 @@ bool V4LRadioControl::isSearching() const { - //TODO - return false; + return scanning; } void V4LRadioControl::cancelSearch() { - //TODO + scanning = false; + timer->stop(); } void V4LRadioControl::searchForward() { // Scan up if(scanning) { - scanning = false; + cancelSearch(); return; } scanning = true; forward = true; + timer->start(); } void V4LRadioControl::searchBackward() { // Scan down if(scanning) { - scanning = false; + cancelSearch(); return; } scanning = true; @@ -407,12 +408,16 @@ if(!scanning) return; + if (signal > 25) { + cancelSearch(); + return; + } + if(forward) { setFrequency(currentFreq+step); } else { setFrequency(currentFreq-step); } - emit signalStrengthChanged(signalStrength()); } bool V4LRadioControl::initRadio() @@ -426,7 +431,7 @@ available = false; freqMin = freqMax = currentFreq = 0; - fd = ::open("/dev/radio", O_RDWR); + fd = ::open("/dev/radio0", O_RDWR); if(fd != -1) { // Capabilites @@ -479,8 +484,6 @@ } } - qWarning()<<"min="<