10 * @brief Engine to handle file operations, settings and other generic functionality.
12 class Engine
: public QObject
15 Q_PROPERTY(int clipboardCount READ
clipboardCount() NOTIFY
clipboardCountChanged())
16 Q_PROPERTY(int clipboardContainsCopy READ
clipboardContainsCopy() NOTIFY
clipboardContainsCopyChanged())
17 Q_PROPERTY(int progress READ
progress() NOTIFY
progressChanged())
18 Q_PROPERTY(QString progressFilename READ
progressFilename() NOTIFY
progressFilenameChanged())
19 Q_PROPERTY(QString selectedFilename READ
selectedFilename() WRITE
setSelectedFilename() NOTIFY
selectedFilenameChanged())
20 Q_PROPERTY(QString extensionFilter READ
extensionFilter() WRITE
setExtensionFilter() NOTIFY
extensionFilterChanged())
23 explicit Engine(QObject
*parent
= 0);
26 int clipboardCount() const { return m_clipboardFiles
.count(); }
27 bool clipboardContainsCopy() const { return m_clipboardContainsCopy
; }
28 int progress() const { return m_progress
; }
29 QString
progressFilename() const { return m_progressFilename
; }
30 QString
selectedFilename() const { return m_selectedFilename
; }
31 QString
extensionFilter() const { return m_extensionFilter
; }
33 // methods accessible from QML
35 // asynch methods send signals when done or error occurs
36 Q_INVOKABLE
void deleteFiles(QStringList filenames
);
37 Q_INVOKABLE
void cutFiles(QStringList filenames
);
38 Q_INVOKABLE
void copyFiles(QStringList filenames
);
39 Q_INVOKABLE
void pasteFiles(QString destDirectory
);
41 // cancel asynch methods
42 Q_INVOKABLE
void cancel();
45 Q_INVOKABLE QString
errorMessage() const { return m_errorMessage
; }
48 Q_INVOKABLE QString
homeFolder() const;
49 Q_INVOKABLE
bool exists(QString filename
);
50 Q_INVOKABLE QStringList
diskSpace(QString path
);
51 Q_INVOKABLE QStringList
readFile(QString filename
);
52 Q_INVOKABLE QString
mkdir(QString path
, QString name
);
53 Q_INVOKABLE QStringList
rename(QString fullOldFilename
, QString newName
);
54 Q_INVOKABLE QString
chmod(QString path
,
55 bool ownerRead
, bool ownerWrite
, bool ownerExecute
,
56 bool groupRead
, bool groupWrite
, bool groupExecute
,
57 bool othersRead
, bool othersWrite
, bool othersExecute
);
60 Q_INVOKABLE QString
readSetting(QString key
, QString defaultValue
= QString());
61 Q_INVOKABLE
void writeSetting(QString key
, QString value
);
62 Q_INVOKABLE
int startDepth() const;
64 Q_INVOKABLE
void setSelectedFilename(QString selectedFilename
);
65 Q_INVOKABLE
void setExtensionFilter(QString extensionFilter
);
69 void clipboardCountChanged();
70 void clipboardContainsCopyChanged();
71 void progressChanged();
72 void progressFilenameChanged();
73 void selectedFilenameChanged();
74 void extensionFilterChanged();
76 void workerErrorOccurred(QString message
, QString filename
);
77 void fileDeleted(QString fullname
);
79 void settingsChanged();
82 void setProgress(int progress
, QString filename
);
85 QString
createHexDump(char *buffer
, int size
, int bytesPerLine
);
86 QStringList
makeStringList(QString msg
, QString str
= QString());
88 QStringList m_clipboardFiles
;
89 bool m_clipboardContainsCopy
;
91 QString m_progressFilename
;
92 QString m_errorMessage
;
93 FileWorker
*m_fileWorker
;
94 QString m_selectedFilename
;
95 QString m_extensionFilter
;