FluentUI/src/FluTools.h

179 lines
3.5 KiB
C
Raw Normal View History

2023-05-22 16:17:51 +08:00
#ifndef FLUTOOLS_H
2023-04-27 17:29:39 +08:00
#define FLUTOOLS_H
#include <QObject>
2023-05-12 19:26:49 +08:00
#include <QFile>
2023-08-24 15:50:37 +08:00
#include <QColor>
2023-04-27 17:29:39 +08:00
#include <QtQml/qqml.h>
/**
* @brief The FluTools class
*/
class FluTools : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(FluTools)
QML_SINGLETON
2023-05-11 18:24:58 +08:00
private:
2023-04-27 17:29:39 +08:00
explicit FluTools(QObject *parent = nullptr);
2023-05-11 18:24:58 +08:00
static FluTools* m_instance;
public:
static FluTools *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine)
{
return getInstance();
}
static FluTools *getInstance();
2023-07-24 18:23:26 +08:00
/**
* @brief qtMajor Qt Major版本
* @return
*/
Q_INVOKABLE int qtMajor();
/**
* @brief qtMajor Qt Minor版本
* @return
*/
Q_INVOKABLE int qtMinor();
/**
* @brief isMacos Macos系统
* @return
*/
Q_INVOKABLE bool isMacos();
/**
* @brief isLinux Linux系统
* @return
*/
Q_INVOKABLE bool isLinux();
/**
* @brief isWin Windows系统
* @return
*/
Q_INVOKABLE bool isWin();
2023-04-27 17:29:39 +08:00
/**
* @brief clipText
* @param text
*/
Q_INVOKABLE void clipText(const QString& text);
/**
* @brief uuid uuid
* @return
*/
Q_INVOKABLE QString uuid();
2023-05-12 19:26:49 +08:00
/**
* @brief readFile
* @param fileName
* @return
*/
2023-07-24 18:23:26 +08:00
Q_INVOKABLE QString readFile(const QString& fileName);
2023-05-18 20:57:57 +08:00
2023-07-24 18:23:26 +08:00
/**
* @brief setQuitOnLastWindowClosed 退
* @param val
*/
2023-05-31 15:39:59 +08:00
Q_INVOKABLE void setQuitOnLastWindowClosed(bool val);
2023-07-24 18:23:26 +08:00
/**
* @brief setOverrideCursor
* @param shape
*/
2023-06-26 18:12:58 +08:00
Q_INVOKABLE void setOverrideCursor(Qt::CursorShape shape);
2023-07-24 18:23:26 +08:00
/**
* @brief restoreOverrideCursor
*/
2023-06-26 18:12:58 +08:00
Q_INVOKABLE void restoreOverrideCursor();
2023-08-10 16:08:27 +08:00
/**
* @brief html2PlantText html转换成纯文本
* @param html
*/
Q_INVOKABLE QString html2PlantText(const QString& html);
2023-07-24 18:23:26 +08:00
/**
* @brief toLocalPath windows系统下的file:///macos下的file://
* @param url
* @return
*/
Q_INVOKABLE QString toLocalPath(const QUrl& url);
/**
* @brief deleteItem Item对象
* @param p
*/
2023-06-28 02:28:34 +08:00
Q_INVOKABLE void deleteItem(QObject *p);
2023-07-24 18:23:26 +08:00
2023-08-17 17:14:31 +08:00
/**
* @brief getFileNameByUrl
* @param url
* @return
*/
Q_INVOKABLE QString getFileNameByUrl(const QUrl& url);
/**
* @brief getVirtualGeometry
* @return
*/
Q_INVOKABLE QRect getVirtualGeometry();
2023-08-18 19:17:45 +08:00
/**
* @brief getApplicationDirPath
* @return
*/
2023-08-17 23:03:00 +08:00
Q_INVOKABLE QString getApplicationDirPath();
2023-08-18 19:17:45 +08:00
/**
* @brief getUrlByFilePath
* @param path
* @return
*/
Q_INVOKABLE QUrl getUrlByFilePath(const QString& path);
2023-08-24 15:50:37 +08:00
/**
* @brief colorAlpha
* @param color
* @param alpha
* @return
*/
Q_INVOKABLE QColor colorAlpha(const QColor&,qreal alpha);
2023-07-24 18:23:26 +08:00
2023-09-01 18:38:21 +08:00
/**
* @brief md5
* @param text
* @return
*/
2023-09-04 18:37:55 +08:00
Q_INVOKABLE QString md5(QString text);
2023-09-01 18:38:21 +08:00
/**
* @brief toBase64
* @param text
* @return
*/
2023-09-04 18:37:55 +08:00
Q_INVOKABLE QString toBase64(QString text);
2023-09-01 18:38:21 +08:00
/**
* @brief fromBase64
* @param text
* @return
*/
2023-09-04 18:37:55 +08:00
Q_INVOKABLE QString fromBase64(QString text);
/**
* @brief removeDir
* @param dirPath
* @return
*/
Q_INVOKABLE bool removeDir(QString dirPath);
2023-09-01 18:38:21 +08:00
2023-04-27 17:29:39 +08:00
};
#endif // FLUTOOLS_H