TBool CATDtmfVts::CharIsDtmf(const TChar& aDtmfChar) { LOGTEXT(_L8("[Ltsy CallControl] Starting CATDtmfVts::IsDtmf()")); TUint uC = aDtmfChar.GetUpperCase(); switch(uC) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case '*': case '#': return ETrue; } return EFalse; }
// ----------------------------------------------------------------------------- // For Vietnamese AS // // ----------------------------------------------------------------------------- // inline TChar ReplaceVietnameseChar( const TChar aCh ) { TChar Char = aCh.GetUpperCase(); if ( (Char >= 0x00C0 && Char <= 0x00C3) || Char == 0x102 || ((Char >= 0x1EA0 && Char <= 0x1EB6) && Char%2 == 0) ) { Char = 0x0041; // A return Char; } if ( (Char >= 0x00C8 && Char <= 0x00CA) || ((Char >= 0x1EB8 && Char <= 0x1EC6) && Char%2 == 0) ) { Char = 0x0045; // E return Char; } if ( Char == 0x00CC || Char == 0x00CD || Char == 0x0128 || Char == 0x1EC8 || Char == 0x1ECA ) { Char = 0x0049; // I return Char; } if ( (Char >= 0x00D2 && Char <= 0x00D5 ) || Char == 0x1ECE || Char == 0x1ECC || ((Char >= 0x1ED0 && Char <= 0x1ED8) && Char%2 == 0)) { Char = 0x004F; // O return Char; } if ( Char == 0x1EDA || Char == 0x1EDC || Char == 0x1EDE || Char == 0x1EE0 || Char == 0x1EE2 ) { Char = 0x01A0; // O-horn return Char; } if ( Char == 0x00DA || Char == 0x00D9 || Char == 0x0168 || Char == 0x1EE4 || Char == 0x1EE6 ) { Char = 0x0055; // U return Char; } if ( (Char >= 0x1EE8 && Char <= 0x1EF0) && Char%2 == 0 ) { Char = 0x01AF; // U-horn return Char; } if ( ((Char >= 0x1EF2 && Char <= 0x1EF8) && Char%2 == 0) || Char == 0x00DD ) { Char = 0x0059; // Y return Char; } return Char; }
// ----------------------------------------------------------------------------- // For Devanagari AS // (other items were commented in a header). // ----------------------------------------------------------------------------- // inline void UpdateNextCharsL( HBufC*& aNextChars, const TDesC& aItemString ) { TChar searchChar = aItemString[0]; //Check if this is an Indic special ligature if ( IsIndicConsonant(searchChar) && aItemString.Length() > 2 && IsSpecialIndicLigature(aItemString) && KErrNotFound == (*aNextChars).Find(aItemString.Mid(0,3)) ) { //Check if we have enough space for 3 more characters if( aNextChars->Des().Length() >= aNextChars->Des().MaxLength()-3 ) { aNextChars = aNextChars->ReAllocL( aNextChars->Des().MaxLength()+10 ); } aNextChars->Des().Append( aItemString.Mid(0,3) ); } else { //check if this is an Indic combined Char if ( IsIndicCombinedChar(searchChar) ) { searchChar = RemoveIndicNukta( searchChar ); } //Now update the nextChars string TInt strLength = aNextChars->Length(); for ( TInt i(0); i < strLength ; ++i ) { if ( IsSpecialIndicLigature( (*aNextChars).Mid( i ) ) ) { //As aItemString is not a special ligature (checked above) //we can move directly to the 3rd character from here i+=2; } else if ( searchChar.GetUpperCase() == (*aNextChars)[i] || searchChar.GetLowerCase() == (*aNextChars)[i] ) { //already exists - do nothing return; } //else continue the loop } //So this character is not yet in the list of nextChars. if ( aNextChars->Des().Length() == aNextChars->Des().MaxLength() ) { aNextChars = aNextChars->ReAllocL( aNextChars->Des().MaxLength()+10 ); } aNextChars->Des().Append( searchChar ); } }
/** * Update next characters if find pane state was changed. * * @since 5.0 * @param aNextChars reference to the next characters for the adaptive search grid * @param aCh Criteria from the search field. */ inline void UpdateNextCharsL( HBufC*& aNextChars, TChar aCh ) { TChar ch_temp = aCh; TLanguage lang = User::Language(); if ( lang == ELangVietnamese ) { aCh = ReplaceVietnameseChar ( ch_temp ); } if( ( aNextChars->Locate(aCh.GetLowerCase() ) == KErrNotFound ) && ( aNextChars->Locate(aCh.GetUpperCase() ) == KErrNotFound ) ) { if( aNextChars->Des().Length() == aNextChars->Des().MaxLength() ) { aNextChars = aNextChars->ReAllocL( aNextChars->Des().MaxLength()+10 ); TInt length1 = aNextChars->Des().Length(); TInt maxlength1 = aNextChars->Des().MaxLength(); } aNextChars->Des().Append( aCh ); } }
Vector<String> PluginDatabase::defaultPluginDirectories() { Vector<String> directories; //find the installation drive TDriveList drivelist; TChar driveLetter; RFs fsSession; if (fsSession.Connect() == KErrNone && fsSession.DriveList(drivelist) == KErrNone) { for (TInt driveNumber = EDriveA; driveNumber <= EDriveZ; driveNumber++) { if (drivelist[driveNumber] && fsSession.DriveToChar(driveNumber, driveLetter) == KErrNone) { QString driveStringValue(QChar((uint)driveLetter.GetUpperCase())); QString stubDirPath; stubDirPath.append(driveStringValue); stubDirPath.append(QT_PLUGIN_FOLDER); if (QFileInfo(stubDirPath).exists()) directories.append(stubDirPath); } } } fsSession.Close(); return directories; }