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
|