-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsourcefile.h
55 lines (50 loc) · 1.18 KB
/
sourcefile.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef SOURCEFILE_H
#define SOURCEFILE_H
#include <QHash>
#include <QFileInfo>
#include <QDir>
#include <QDateTime>
class SourceFile
{
quint64 _size;
QString _fileName;
QString _canonicalPath;
QDateTime _lastModified;
bool _exists;
void load(const QFileInfo& info);
public:
inline SourceFile(const QFileInfo& info) {
load(info);
}
SourceFile() {
_exists = false;
_size = 0;
}
inline quint64 size() const {
return _size;
}
inline QString fileName() const {
return _fileName;
}
inline QString completeBaseName() const {
int p = _fileName.lastIndexOf(QChar('.'));
if(p == -1) return _fileName;
return _fileName.left(p);
}
inline QString canonicalPath() const {
return _canonicalPath;
}
inline QString canonicalFilePath() const {
return QDir(_canonicalPath).absoluteFilePath(_fileName);
}
inline QDateTime lastModified() const {
return _lastModified;
}
bool refresh();
inline bool exists() const {
return _exists;
}
QString par2name;
};
typedef QHash<QString, SourceFile> SrcFileList;
#endif // SOURCEFILE_H