src/hbservers/hbthemeserver/hbthemeserver_symbian.cpp
changeset 6 c3690ec91ef8
parent 5 627c4a0fd0e7
child 7 923ff622b8b9
equal deleted inserted replaced
5:627c4a0fd0e7 6:c3690ec91ef8
   287         }
   287         }
   288 
   288 
   289         themeLookupPath.append(themeName);
   289         themeLookupPath.append(themeName);
   290         QString filename(themeLookupPath);
   290         QString filename(themeLookupPath);
   291         filename.append("\\index.theme");
   291         filename.append("\\index.theme");
   292         QFile file;
       
   293 
   292 
   294         filename[0] = 'C';
   293         filename[0] = 'C';
   295         file.setFileName(filename);
   294         if (QFile::exists(filename)) {
   296         if (file.open(QIODevice::ReadOnly)) {
       
   297             themeLookupPath[0] = 'C';
   295             themeLookupPath[0] = 'C';
   298             themePath = themeLookupPath;
   296             themePath = themeLookupPath;
   299             file.close();
       
   300             return true;
   297             return true;
   301         }
   298         }
   302 
   299 
   303         filename[0] = 'E';
   300         filename[0] = 'E';
   304         file.setFileName(filename);
   301         if (QFile::exists(filename)) {
   305         if (file.open(QIODevice::ReadOnly)) {
       
   306             themeLookupPath[0] = 'E';
   302             themeLookupPath[0] = 'E';
   307             themePath = themeLookupPath;
   303             themePath = themeLookupPath;
   308             file.close();
       
   309             return true;
   304             return true;
   310         }
   305         }
   311 
   306 
   312         filename[0] = 'F';
   307         filename[0] = 'F';
   313         file.setFileName(filename);
   308         if (QFile::exists(filename)) {
   314         if (file.open(QIODevice::ReadOnly)) {
       
   315             themeLookupPath[0] = 'F';
   309             themeLookupPath[0] = 'F';
   316             themePath = themeLookupPath;
   310             themePath = themeLookupPath;
   317             file.close();
       
   318             return true;
   311             return true;
   319         }        
   312         }        
   320         
   313         
   321     }
   314     }
   322     return false;
   315     return false;
   830         HandleEffectAddAndFileLookupL(aMessage);
   823         HandleEffectAddAndFileLookupL(aMessage);
   831         break;
   824         break;
   832 
   825 
   833     case EIconLookup:
   826     case EIconLookup:
   834         GetSharedIconInfoL(aMessage);
   827         GetSharedIconInfoL(aMessage);
   835         break;
       
   836 
       
   837     case EThemeSelection:
       
   838         HandleThemeSelectionL(aMessage);
       
   839         break;
   828         break;
   840 
   829 
   841     case EMultiPieceIcon:
   830     case EMultiPieceIcon:
   842         GetSharedMultiIconInfoL(aMessage);
   831         GetSharedMultiIconInfoL(aMessage);
   843         break;
   832         break;
  1304     qDebug() << "Completed  aMessage.WriteL";
  1293     qDebug() << "Completed  aMessage.WriteL";
  1305 #endif
  1294 #endif
  1306 }
  1295 }
  1307 
  1296 
  1308 /**
  1297 /**
  1309  * handleThemeSelectionL
       
  1310  */
       
  1311 void HbThemeServerSession::HandleThemeSelectionL(const RMessage2& aMessage)
       
  1312 {
       
  1313     TInt deslen = aMessage.GetDesLength(0);
       
  1314     RBuf buffer;
       
  1315     buffer.CreateL(deslen);
       
  1316     buffer.CleanupClosePushL();
       
  1317     aMessage.ReadL(0, buffer, 0);
       
  1318     if (buffer.Length() == 0) {
       
  1319         User::Leave(ENonNumericString);
       
  1320     }
       
  1321     QString newTheme((QChar*)buffer.Ptr(), buffer.Length());
       
  1322     CleanupStack::PopAndDestroy(); // close the buffer
       
  1323 
       
  1324     QString cleanThemeName = newTheme.trimmed();
       
  1325 
       
  1326     if (cleanThemeName != iServer->iCurrentThemeName) {
       
  1327         iServer->HandleThemeSelection(cleanThemeName);
       
  1328         sessionData.clear();
       
  1329     }
       
  1330 }
       
  1331 
       
  1332 /**
       
  1333  * Panics the client
  1298  * Panics the client
  1334  */
  1299  */
  1335 void HbThemeServerSession::PanicClient(const RMessage2& aMessage, TInt aPanic) const
  1300 void HbThemeServerSession::PanicClient(const RMessage2& aMessage, TInt aPanic) const
  1336 {
  1301 {
  1337     _LIT(KTxtServer, "Theme server");
  1302     _LIT(KTxtServer, "Theme server");