filemanager/src/inc/fmfilesystemproxymodel.cpp
changeset 49 81668a704644
parent 47 12b82dc0e8db
equal deleted inserted replaced
47:12b82dc0e8db 49:81668a704644
    18 #include "fmfilesystemproxymodel.h"
    18 #include "fmfilesystemproxymodel.h"
    19 #include "fmutils.h"
    19 #include "fmutils.h"
    20 #include <QFileSystemModel>
    20 #include <QFileSystemModel>
    21 
    21 
    22 #include <hbglobal.h>
    22 #include <hbglobal.h>
       
    23 #include <hbdirectorynamelocalizer.h>
    23 
    24 
    24 // name column number, this define comes from implementation of QFileSystemModel
    25 // name column number, this define comes from implementation of QFileSystemModel
    25 const int NameColumn = 0;
    26 const int NameColumn = 0;
    26 
    27 
    27 /*!
    28 /*!
    28     Constructor
    29     Constructor
    29 */
    30 */
    30 FmFileSystemProxyModel::FmFileSystemProxyModel( QObject *parent ) :
    31 FmFileSystemProxyModel::FmFileSystemProxyModel( QObject *parent ) :
    31     QSortFilterProxyModel( parent )
    32     QSortFilterProxyModel( parent ), localizer( 0 )
    32 {
    33 {
    33  
    34     localizer = new HbDirectoryNameLocalizer;
    34 }
    35 }
    35 
    36 
    36 /*!
    37 /*!
    37     Destructor
    38     Destructor
    38 */
    39 */
    39 FmFileSystemProxyModel::~FmFileSystemProxyModel()
    40 FmFileSystemProxyModel::~FmFileSystemProxyModel()
    40 {
    41 {
    41 
    42     delete localizer;
    42 }
    43 }
    43                                                                                    
    44                                                                                    
    44 /*!
    45 /*!
    45     return data by \a index and \a role
    46     return data by \a index and \a role
    46     this function will localize the folder by HbDirectoryNameLocalizer
    47     this function will localize the folder by HbDirectoryNameLocalizer
    48 QVariant FmFileSystemProxyModel::data ( const QModelIndex & index, int role ) const
    49 QVariant FmFileSystemProxyModel::data ( const QModelIndex & index, int role ) const
    49 {
    50 {
    50     QAbstractItemModel *itemModel = sourceModel();
    51     QAbstractItemModel *itemModel = sourceModel();
    51     QFileSystemModel *sourceModel = qobject_cast<QFileSystemModel*>( itemModel );
    52     QFileSystemModel *sourceModel = qobject_cast<QFileSystemModel*>( itemModel );
    52     if( sourceModel && ( role == Qt::DisplayRole ) ) {
    53     if( sourceModel && ( role == Qt::DisplayRole ) ) {
    53         QString name( FmUtils::localize(sourceModel->fileInfo( mapToSource( index ) ).absoluteFilePath()) );
    54         // get absolute path
    54         if( name.isEmpty() ) {
    55         QString path( sourceModel->fileInfo( mapToSource( index ) ).absoluteFilePath() );
       
    56         // get localized name
       
    57         QString localizedName( localizer->translate( path ) );
       
    58 		
       
    59         if( localizedName.isEmpty() ) {
    55             return sourceModel->data( mapToSource( index ), role );
    60             return sourceModel->data( mapToSource( index ), role );
    56         } else {
    61         } else {
    57             return name;
    62             return localizedName;
    58         }
    63         }
    59     }
    64     }
    60     if( sourceModel )
    65     if( sourceModel )
    61     {
    66     {
    62 	    return sourceModel->data( mapToSource( index ), role );
    67 	    return sourceModel->data( mapToSource( index ), role );