CuteLogger
Fast and simple logging solution for Qt based applications
qmlfile.h
1 /*
2  * Copyright (c) 2014-2019 Meltytech, LLC
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef QMLFILE_H
19 #define QMLFILE_H
20 
21 #include <QObject>
22 #include <QUrl>
23 
24 class QmlFile : public QObject
25 {
26  Q_OBJECT
27  Q_PROPERTY(QString url READ getUrl WRITE setUrl NOTIFY urlChanged)
28  Q_PROPERTY(QString fileName READ getFileName)
29  Q_PROPERTY(QString path READ getPath)
30  Q_PROPERTY(QString filePath READ getFilePath)
31 
32 public:
33  explicit QmlFile(QObject *parent = 0);
34  QString getUrl();
35  void setUrl(const QString& text);
36  QString getFileName();
37  QString getPath();
38  QString getFilePath();
39  Q_INVOKABLE void copyFromFile(QString source);
40  Q_INVOKABLE bool exists();
41  Q_INVOKABLE QString suffix();
42 
43 signals:
44  void urlChanged(const QUrl &url);
45 
46 private:
47  QUrl m_url;
48 };
49 
50 #endif // QMLFILE_H