~ubuntu-branches/ubuntu/karmic/k3b/karmic

« back to all changes in this revision

Viewing changes to libk3b/projects/datacd/k3bfileitem.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2009-10-16 22:32:25 UTC
  • mfrom: (1.1.19 upstream)
  • Revision ID: james.westby@ubuntu.com-20091016223225-flhn4579879piihp
Tags: 1.68.0~alpha3-0ubuntu1
* New upstream release
* Add translations from svn into po/
* Set KUBUNTU_DESKTOP_POT in debian/rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
 
57
57
 
58
58
 
59
 
K3b::FileItem::FileItem( const QString& filePath, K3b::DataDoc* doc, K3b::DirItem* dir, const QString& k3bName, int flags )
60
 
    : K3b::DataItem( doc, dir, flags ),
 
59
K3b::FileItem::FileItem( const QString& filePath, K3b::DataDoc* doc, K3b::DirItem* dir, const QString& k3bName, const ItemFlags& flags )
 
60
    : K3b::DataItem( doc, dir, flags | FILE ),
61
61
      m_replacedItemFromOldSession(0),
62
62
      m_localPath(filePath)
63
63
{
74
74
        m_size = K3b::filesize( filePath );
75
75
        m_id.inode = 0;
76
76
        m_id.device = 0;
77
 
        m_bSymLink = false;
78
77
 
79
78
        kError() << "(KFileItem) lstat failed: " << strerror(errno) << endl;
80
79
 
88
87
    else {
89
88
        m_size = (KIO::filesize_t)statBuf.st_size;
90
89
 
91
 
        m_bSymLink = S_ISLNK(statBuf.st_mode);
 
90
        if( S_ISLNK(statBuf.st_mode) )
 
91
            setFlags( flags | FILE | SYMLINK );
92
92
 
93
93
        //
94
94
        // integrate the device number into the inode since files on different
121
121
 
122
122
K3b::FileItem::FileItem( const k3b_struct_stat* stat,
123
123
                          const k3b_struct_stat* followedStat,
124
 
                          const QString& filePath, K3b::DataDoc* doc, K3b::DirItem* dir, const QString& k3bName )
125
 
    : K3b::DataItem( doc, dir ),
 
124
                          const QString& filePath, K3b::DataDoc* doc, K3b::DirItem* dir, const QString& k3bName, const ItemFlags& flags )
 
125
    : K3b::DataItem( doc, dir, flags | FILE ),
126
126
      m_replacedItemFromOldSession(0),
127
127
      m_localPath(filePath)
128
128
{
132
132
        m_k3bName = k3bName;
133
133
 
134
134
    m_size = (KIO::filesize_t)stat->st_size;
135
 
    m_bSymLink = S_ISLNK(stat->st_mode);
 
135
    if( S_ISLNK(stat->st_mode) )
 
136
        setFlags( flags | FILE | SYMLINK );
136
137
 
137
138
    //
138
139
    // integrate the device number into the inode since files on different
167
168
      m_id( item.m_id ),
168
169
      m_idFollowed( item.m_idFollowed ),
169
170
      m_localPath( item.m_localPath ),
170
 
      m_bSymLink( item.m_bSymLink ),
171
171
      m_mimeType( item.m_mimeType )
172
172
{
173
173
}
239
239
}
240
240
 
241
241
 
242
 
bool K3b::FileItem::isSymLink() const
243
 
{
244
 
    return m_bSymLink;
245
 
}
246
 
 
247
 
 
248
242
QString K3b::FileItem::linkDest() const
249
243
{
250
244
    return QFileInfo( localPath() ).readLink();