chxavnamedisplaytrait.cpp
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:2k
源码类别:

Symbian

开发平台:

C/C++

  1. /*****************************************************************************
  2.  * chxavnamedisplaytrait.cpp
  3.  * -------------------------
  4.  *
  5.  * Synopsis:
  6.  * Encapsulates state and logic for deciding how to display filenames 
  7.  * to users based on whether or not you want to hide file extensions
  8.  *
  9.  * Target:
  10.  * Symbian OS
  11.  *
  12.  *
  13.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  14.  *
  15.  *****************************************************************************/
  16. // Include from this project...
  17. #include "chxavfileutil.h"
  18. #include "chxavnamedisplaytrait.h"
  19. #include "chxavutil.h"
  20. ////////////////////////////////////////////
  21. // return name split into two components:
  22. //
  23. // first : as it should be displayed to user
  24. // second : what should be appended to user input, i.e., dotted extension
  25. //          (for file) or path suffix (for folder) 
  26. //
  27. NameExt CHXAvNameDisplayTrait::GetDisplayText(const TDesC& fullName, bool bAssumeFolder) const
  28. {
  29.     NameExt pair;
  30.     if( bAssumeFolder || CHXAvFile::HasFolderSuffix(fullName) )
  31.     {
  32.         // return 'foldername' , '/'
  33.         pair.first.Set(CHXAvFile::GetNakedPathNode(fullName));
  34.         pair.second.Set(CHXAvUtil::KPathSep);
  35.     }
  36.     else
  37.     {
  38.         if(m_bHideExtensions )
  39.         {
  40.             // hide extensions for filenames only
  41.     pair.first.Set(CHXAvFile::GetNakedName(fullName));
  42.     pair.second.Set(CHXAvFile::GetExtension(fullName));
  43.         }
  44.         else
  45.         {
  46.     pair.first.Set(CHXAvFile::GetNakedPathNode(fullName));
  47.         }
  48.     }
  49.     return pair;
  50. }