├── src ├── common │ ├── Util.cpp │ ├── Util.h │ ├── LogHandler.cpp │ ├── LogHandler.h │ ├── Singleton.h │ ├── RunGuard.h │ ├── HttpRequest.h │ ├── Constants.h │ ├── RunGuard.cpp │ ├── DarkStyle.h │ ├── HttpRequest.cpp │ └── HWndRectCache.h ├── component │ ├── Ocr.cpp │ ├── TipsWidget.cpp │ ├── FramelessWidget.cpp │ ├── MaskFrame.h │ ├── Ocr.h │ ├── TextEdit.h │ ├── TitleWidget.h │ ├── Application.h │ ├── Application.cpp │ ├── TitleWidget.cpp │ ├── MaskFrame.cpp │ ├── TipsWidget.h │ ├── ImageButton.h │ ├── FramelessWidget.h │ ├── TextEdit.cpp │ ├── qxtglobalshortcut │ │ ├── qxtglobalshortcut.h │ │ ├── qxtglobalshortcut_p.h │ │ └── qxtglobal.h │ └── ImageButton.cpp ├── view │ ├── DrawPanel.h │ ├── Screenshot.h │ ├── Settings.cpp │ ├── Stickers.cpp │ ├── Amplifier.cpp │ ├── DrawPanel.cpp │ ├── Screenshot.cpp │ ├── SystemTray.cpp │ ├── SystemTray.h │ ├── DrawSettings.h │ ├── MainWidget.h │ ├── Amplifier.h │ ├── Settings.h │ ├── Stickers.h │ ├── MainWidget.cpp │ └── DrawSettings.cpp ├── resource │ ├── resource.h │ ├── images │ │ ├── ok.png │ │ ├── arrow.png │ │ ├── color.png │ │ ├── line.png │ │ ├── pin.png │ │ ├── save.png │ │ ├── text.png │ │ ├── tips.png │ │ ├── undo.png │ │ ├── ellipse.png │ │ ├── mosaic.png │ │ ├── remove.png │ │ ├── setting.png │ │ ├── shield.png │ │ ├── clipboard.png │ │ ├── polyline.png │ │ ├── rectangle.png │ │ ├── folder_open.png │ │ ├── ntscreenshot.ico │ │ ├── shield_hover.png │ │ ├── folder_open_hover.png │ │ ├── icon_window_close.png │ │ ├── icon_window_maximize.png │ │ ├── icon_window_minimize.png │ │ └── icon_window_restore.png │ ├── ntscreenshot.rc │ ├── darkstyle │ │ ├── icon_close.png │ │ ├── icon_undock.png │ │ ├── icon_vline.png │ │ ├── icon_branch_end.png │ │ ├── icon_branch_more.png │ │ ├── icon_branch_open.png │ │ ├── icon_branch_closed.png │ │ ├── icon_checkbox_checked.png │ │ ├── icon_checkbox_unchecked.png │ │ ├── icon_radiobutton_checked.png │ │ ├── icon_checkbox_indeterminate.png │ │ ├── icon_radiobutton_unchecked.png │ │ ├── icon_checkbox_checked_pressed.png │ │ ├── icon_checkbox_checked_disabled.png │ │ ├── icon_checkbox_unchecked_disabled.png │ │ ├── icon_checkbox_unchecked_pressed.png │ │ ├── icon_radiobutton_checked_pressed.png │ │ ├── icon_radiobutton_checked_disabled.png │ │ ├── icon_radiobutton_unchecked_pressed.png │ │ ├── icon_checkbox_indeterminate_disabled.png │ │ ├── icon_checkbox_indeterminate_pressed.png │ │ └── icon_radiobutton_unchecked_disabled.png │ ├── ntscreenshot.qrc │ └── darkstyle.qrc ├── controller │ ├── WindowManager.cpp │ └── WindowManager.h ├── Acc.vcxproj.user ├── main │ └── main.cpp ├── model │ ├── SettingModel.h │ └── SettingModel.cpp └── GeneratedFiles │ ├── Debug │ ├── moc_Settings.cpp │ ├── moc_MaskFrame.cpp │ ├── moc_ImageButton.cpp │ ├── moc_SettingModel.cpp │ ├── moc_FramelessWidget.cpp │ ├── moc_Application.cpp │ ├── moc_TextEdit.cpp │ ├── moc_TipsWidget.cpp │ ├── moc_TitleWidget.cpp │ ├── moc_Amplifier.cpp │ ├── moc_MainWidget.cpp │ ├── moc_Stickers.cpp │ ├── moc_SystemTray.cpp │ ├── moc_DrawSettings.cpp │ ├── moc_WindowManager.cpp │ └── moc_qxtglobalshortcut.cpp │ └── Release │ ├── moc_Settings.cpp │ ├── moc_ImageButton.cpp │ ├── moc_SettingModel.cpp │ ├── moc_FramelessWidget.cpp │ ├── moc_Application.cpp │ ├── moc_TextEdit.cpp │ ├── moc_TipsWidget.cpp │ ├── moc_TitleWidget.cpp │ ├── moc_Amplifier.cpp │ ├── moc_MainWidget.cpp │ ├── moc_Stickers.cpp │ ├── moc_SystemTray.cpp │ ├── moc_DrawSettings.cpp │ └── moc_WindowManager.cpp ├── ntscreenshot_demo.png ├── README.md └── ntscreenshot.sln /src/common/Util.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/common/Util.cpp -------------------------------------------------------------------------------- /src/common/Util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/common/Util.h -------------------------------------------------------------------------------- /ntscreenshot_demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/ntscreenshot_demo.png -------------------------------------------------------------------------------- /src/component/Ocr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/component/Ocr.cpp -------------------------------------------------------------------------------- /src/view/DrawPanel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/DrawPanel.h -------------------------------------------------------------------------------- /src/view/Screenshot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/Screenshot.h -------------------------------------------------------------------------------- /src/view/Settings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/Settings.cpp -------------------------------------------------------------------------------- /src/view/Stickers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/Stickers.cpp -------------------------------------------------------------------------------- /src/resource/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/resource.h -------------------------------------------------------------------------------- /src/view/Amplifier.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/Amplifier.cpp -------------------------------------------------------------------------------- /src/view/DrawPanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/DrawPanel.cpp -------------------------------------------------------------------------------- /src/view/Screenshot.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/Screenshot.cpp -------------------------------------------------------------------------------- /src/view/SystemTray.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/view/SystemTray.cpp -------------------------------------------------------------------------------- /src/common/LogHandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/common/LogHandler.cpp -------------------------------------------------------------------------------- /src/resource/images/ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/ok.png -------------------------------------------------------------------------------- /src/component/TipsWidget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/component/TipsWidget.cpp -------------------------------------------------------------------------------- /src/resource/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/arrow.png -------------------------------------------------------------------------------- /src/resource/images/color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/color.png -------------------------------------------------------------------------------- /src/resource/images/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/line.png -------------------------------------------------------------------------------- /src/resource/images/pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/pin.png -------------------------------------------------------------------------------- /src/resource/images/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/save.png -------------------------------------------------------------------------------- /src/resource/images/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/text.png -------------------------------------------------------------------------------- /src/resource/images/tips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/tips.png -------------------------------------------------------------------------------- /src/resource/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/undo.png -------------------------------------------------------------------------------- /src/resource/ntscreenshot.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/ntscreenshot.rc -------------------------------------------------------------------------------- /src/resource/images/ellipse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/ellipse.png -------------------------------------------------------------------------------- /src/resource/images/mosaic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/mosaic.png -------------------------------------------------------------------------------- /src/resource/images/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/remove.png -------------------------------------------------------------------------------- /src/resource/images/setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/setting.png -------------------------------------------------------------------------------- /src/resource/images/shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/shield.png -------------------------------------------------------------------------------- /src/component/FramelessWidget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/component/FramelessWidget.cpp -------------------------------------------------------------------------------- /src/controller/WindowManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/controller/WindowManager.cpp -------------------------------------------------------------------------------- /src/resource/images/clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/clipboard.png -------------------------------------------------------------------------------- /src/resource/images/polyline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/polyline.png -------------------------------------------------------------------------------- /src/resource/images/rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/rectangle.png -------------------------------------------------------------------------------- /src/resource/images/folder_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/folder_open.png -------------------------------------------------------------------------------- /src/resource/images/ntscreenshot.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/ntscreenshot.ico -------------------------------------------------------------------------------- /src/resource/images/shield_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/shield_hover.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_close.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_undock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_undock.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_vline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_vline.png -------------------------------------------------------------------------------- /src/resource/images/folder_open_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/folder_open_hover.png -------------------------------------------------------------------------------- /src/resource/images/icon_window_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/icon_window_close.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_branch_end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_branch_end.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_branch_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_branch_more.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_branch_open.png -------------------------------------------------------------------------------- /src/resource/images/icon_window_maximize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/icon_window_maximize.png -------------------------------------------------------------------------------- /src/resource/images/icon_window_minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/icon_window_minimize.png -------------------------------------------------------------------------------- /src/resource/images/icon_window_restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/images/icon_window_restore.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_branch_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_branch_closed.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_checked.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_unchecked.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_radiobutton_checked.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_indeterminate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_indeterminate.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_radiobutton_unchecked.png -------------------------------------------------------------------------------- /src/common/LogHandler.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg); -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_checked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_checked_pressed.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_checked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_checked_disabled.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_unchecked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_unchecked_disabled.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_unchecked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_unchecked_pressed.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_radiobutton_checked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_radiobutton_checked_pressed.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_radiobutton_checked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_radiobutton_checked_disabled.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_radiobutton_unchecked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_radiobutton_unchecked_pressed.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_indeterminate_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_indeterminate_disabled.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_checkbox_indeterminate_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_checkbox_indeterminate_pressed.png -------------------------------------------------------------------------------- /src/resource/darkstyle/icon_radiobutton_unchecked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tujiaw/ntscreenshot/HEAD/src/resource/darkstyle/icon_radiobutton_unchecked_disabled.png -------------------------------------------------------------------------------- /src/component/MaskFrame.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | class MaskFrame : public QFrame 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | MaskFrame(QFrame *parent = 0); 12 | 13 | protected: 14 | void paintEvent(QPaintEvent *p); 15 | 16 | private: 17 | QWidget *widget_; 18 | }; 19 | -------------------------------------------------------------------------------- /src/component/Ocr.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class HttpRequest; 6 | class Ocr : public QObject 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | Ocr(QObject* parent); 12 | ~Ocr(); 13 | void start(const QPixmap& pixmap); 14 | 15 | private slots: 16 | void onHttpResponse(int err, const QByteArray& data); 17 | 18 | private: 19 | HttpRequest* m_http; 20 | }; 21 | -------------------------------------------------------------------------------- /src/component/TextEdit.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class TextEdit : public QTextEdit 6 | { 7 | Q_OBJECT 8 | 9 | public: 10 | TextEdit(QWidget *parent); 11 | QPoint startCursorPoint(); 12 | void setStyle(const QColor &color); 13 | 14 | public slots: 15 | void onTextChanged(); 16 | 17 | protected: 18 | virtual void keyPressEvent(QKeyEvent *e); 19 | }; 20 | -------------------------------------------------------------------------------- /src/component/TitleWidget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class QLabel; 6 | class QPushButton; 7 | class TitleWidget : public QFrame 8 | { 9 | Q_OBJECT 10 | 11 | public: 12 | TitleWidget(QWidget *parent = Q_NULLPTR); 13 | void setTitle(const QString &title); 14 | 15 | signals: 16 | void sigClose(); 17 | 18 | private: 19 | QLabel *labelTitle_; 20 | QPushButton *pbClose_; 21 | }; 22 | -------------------------------------------------------------------------------- /src/component/Application.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | class Application : public QApplication, public QAbstractNativeEventFilter 8 | { 9 | Q_OBJECT 10 | public: 11 | Application(int argc, char **argv); 12 | ~Application(); 13 | 14 | protected: 15 | bool nativeEventFilter(const QByteArray &eventType, void *message, long *result); 16 | }; 17 | -------------------------------------------------------------------------------- /src/common/Singleton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | template 4 | class Singleton { 5 | public: 6 | static T* GetInstance() noexcept(std::is_nothrow_constructible::value) { 7 | static T instance; 8 | return &instance; 9 | } 10 | virtual ~Singleton() noexcept { } 11 | Singleton(const Singleton&) = delete; 12 | Singleton& operator =(const Singleton&) = delete; 13 | protected: 14 | Singleton() {} 15 | 16 | }; 17 | -------------------------------------------------------------------------------- /src/component/Application.cpp: -------------------------------------------------------------------------------- 1 | #include "Application.h" 2 | #include 3 | #include 4 | 5 | Application::Application(int argc, char **argv) 6 | : QApplication(argc, argv) 7 | { 8 | } 9 | 10 | Application::~Application() 11 | { 12 | } 13 | 14 | bool Application::nativeEventFilter(const QByteArray &eventType, void *message, long *result) 15 | { 16 | //if (eventType == "windows_generic_MSG" || eventType == "windows_dispatcher_MSG") { 17 | //} 18 | return false; 19 | } -------------------------------------------------------------------------------- /src/common/RunGuard.h: -------------------------------------------------------------------------------- 1 | #ifndef RUNGUARD_H 2 | #define RUNGUARD_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | 9 | class RunGuard 10 | { 11 | 12 | public: 13 | RunGuard(const QString& key); 14 | ~RunGuard(); 15 | 16 | bool isAnotherRunning(); 17 | bool tryToRun(); 18 | void release(); 19 | 20 | private: 21 | const QString key; 22 | const QString memLockKey; 23 | const QString sharedmemKey; 24 | 25 | QSharedMemory sharedMem; 26 | QSystemSemaphore memLock; 27 | 28 | Q_DISABLE_COPY(RunGuard) 29 | }; 30 | 31 | 32 | #endif // RUNGUARD_H -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![ntscreenshot](https://github.com/tujiaw/ntscreenshot/blob/master/ntscreenshot_demo.png) 2 | 3 | [已编译好的绿色包下载](https://download.csdn.net/download/tujiaw/14033475) 4 | # ntscreenshot 5 | Windows截图工具 6 | 7 | # 功能列表 8 | ## 基本的截图功能 9 | * 托盘菜单 10 | * 全局快捷键设置,默认F5截图,F6贴图 11 | * 开机自启动设置 12 | * 移动鼠标自动感知选区 13 | * 放大器,放大当前鼠标所在像素点周围区域 14 | * 显示选区大小,鼠标光标坐标,光标所在位置像素的颜色 15 | * c键复制当前颜色 16 | * 移动鼠标选择选区 17 | * 方向键进行像素级移动 18 | * 保存截图到剪切板 19 | * 保存截图到文件目录 20 | 21 | ## 贴图 22 | * 贴图管理 23 | * 贴图边框 24 | 25 | ## 标注 26 | * 基本图形文字标注 27 | * 支持改颜色,画笔、字体大小 28 | * 支持撤销 29 | 30 | ## 上传图床 31 | 需要配置服务器 32 | 33 | 34 | ## 设置 35 | 托盘右键菜单打开设置窗口 -------------------------------------------------------------------------------- /src/view/SystemTray.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class QAction; 6 | class SystemTray : public QSystemTrayIcon 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | SystemTray(QWidget *parent); 12 | ~SystemTray(); 13 | 14 | signals: 15 | void sigReload(); 16 | 17 | private slots: 18 | void onScreenshot(); 19 | void onPin(); 20 | void onSetting(); 21 | void onExit(); 22 | void onUpdate(); 23 | void onTest(); 24 | 25 | private: 26 | Q_DISABLE_COPY(SystemTray) 27 | QWidget *parent_; 28 | QAction *screenshotAction_; 29 | QAction *pinAction_; 30 | QMenu *menu_; 31 | }; 32 | -------------------------------------------------------------------------------- /src/Acc.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C:\Qt\Qt5.12.9\5.12.9\msvc2017 6 | PATH=$(QTDIR)\bin%3b$(PATH) 7 | 8 | 9 | C:\Qt\Qt5.12.9\5.12.9\msvc2017 10 | PATH=$(QTDIR)\bin%3b$(PATH) 11 | 12 | -------------------------------------------------------------------------------- /src/view/DrawSettings.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class QComboBox; 6 | class QPushButton; 7 | class DrawSettings : public QWidget 8 | { 9 | Q_OBJECT 10 | public: 11 | DrawSettings(QWidget *parent = nullptr); 12 | static int penWidth(); 13 | static int fontSize(); 14 | static QColor currentColor(); 15 | 16 | signals: 17 | void sigChanged(int penWidth, int fontSize, QColor color); 18 | 19 | public slots: 20 | void onFontSizeChanged(const QString &text); 21 | void onCurrentColor(); 22 | void onColor(); 23 | void onPenWidthSelected(); 24 | 25 | private: 26 | QComboBox *sizeList_; 27 | QPushButton *pbCurrentColor_; 28 | QList penWidthBtns_; 29 | }; -------------------------------------------------------------------------------- /src/common/HttpRequest.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | class QNetworkAccessManager; 7 | class HttpRequest : public QObject 8 | { 9 | Q_OBJECT 10 | 11 | public: 12 | HttpRequest(QObject *parent); 13 | ~HttpRequest(); 14 | void get(const QString &url); 15 | void postForm(const QString &url, const QByteArray &data); 16 | void postImage(const QString &url, const QString &name, const QByteArray &data); 17 | 18 | signals: 19 | void sigHttpResponse(int err, const QByteArray &data); 20 | 21 | private slots: 22 | void replyFinished(QNetworkReply*); 23 | void slotError(QNetworkReply::NetworkError); 24 | 25 | private: 26 | QNetworkAccessManager *manager_; 27 | }; 28 | -------------------------------------------------------------------------------- /src/view/MainWidget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "SystemTray.h" 5 | 6 | class QxtGlobalShortcut; 7 | class LnkListView; 8 | class QLineEdit; 9 | class MainWidget : public QFrame 10 | { 11 | Q_OBJECT 12 | 13 | public: 14 | MainWidget(QWidget *parent); 15 | ~MainWidget(); 16 | 17 | bool setScreenshotGlobalKey(const QString &key); 18 | bool setPinGlobalKey(const QString &key); 19 | 20 | private slots: 21 | void slotReload(); 22 | void slotTrayActivated(QSystemTrayIcon::ActivationReason reason); 23 | void slotMainShortcut(); 24 | void slotPinShortcut(); 25 | void slotExit(); 26 | 27 | private: 28 | Q_DISABLE_COPY(MainWidget) 29 | SystemTray *tray_; 30 | QxtGlobalShortcut *mainShortcut_; 31 | QxtGlobalShortcut *pinShortcut_; 32 | }; 33 | -------------------------------------------------------------------------------- /src/component/TitleWidget.cpp: -------------------------------------------------------------------------------- 1 | #include "TitleWidget.h" 2 | #include 3 | #include 4 | #include 5 | 6 | TitleWidget::TitleWidget(QWidget *parent) 7 | : QFrame(parent) 8 | { 9 | this->setObjectName("TitleWidget"); 10 | labelTitle_ = new QLabel(this); 11 | pbClose_ = new QPushButton(this); 12 | pbClose_->setObjectName("closeButton"); 13 | connect(pbClose_, &QPushButton::clicked, this, &TitleWidget::sigClose); 14 | 15 | QHBoxLayout *mLayout = new QHBoxLayout(this); 16 | mLayout->setContentsMargins(6, 0, 6, 0); 17 | mLayout->setSpacing(0); 18 | mLayout->addWidget(labelTitle_); 19 | mLayout->addStretch(); 20 | mLayout->addWidget(pbClose_); 21 | 22 | this->setFixedHeight(30); 23 | } 24 | 25 | void TitleWidget::setTitle(const QString &title) 26 | { 27 | labelTitle_->setText(title); 28 | } 29 | -------------------------------------------------------------------------------- /src/common/Constants.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | namespace WidgetID { 9 | const QString MAIN = "MAIN"; 10 | const QString SETTINGS = "SETTINGS"; 11 | const QString SCREENSHOT = "SCREENSHOT"; 12 | const QString MASK = "MASK"; 13 | } 14 | 15 | namespace Style { 16 | const QColor AUTO_SELECTED_BORDER_COLOR = QColor("#1AAD19"); //QColor(0, 175, 255); 17 | const int AUTO_SELECTED_BORDER_WIDTH = 4; 18 | const QColor DRAW_SELECTED_BORDER_COLOR = QColor("#1AAD19"); //QColor(0, 174, 255) 19 | const int DRAW_SELECTED_BORDER_WIDTH = 1; 20 | const QString FRAMELESS_BROKDER_ACTIVE = "#1883D7"; 21 | const QString FRAMELESS_BROKDER_DEACTIVE = "#AAAAAA"; 22 | const QSize OERECT_FIXED_SIZE(95, 25); 23 | const QColor OERECT_BACKGROUND(0, 0, 0, 0); 24 | } 25 | -------------------------------------------------------------------------------- /src/view/Amplifier.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | class AmplifierWidget : public QWidget 6 | { 7 | Q_OBJECT 8 | public: 9 | explicit AmplifierWidget(const std::shared_ptr &originPainting, QWidget *parent = 0); 10 | QString getCursorPointColor() const; 11 | void setRgbColor(bool yes) { isRgbColor_ = yes; } 12 | bool rgbColor() const { return isRgbColor_; } 13 | 14 | public slots: 15 | void onSizeChanged(int w, int h); 16 | void onPositionChanged(int x, int y); 17 | 18 | protected: 19 | virtual void paintEvent(QPaintEvent *); 20 | 21 | private: 22 | Q_DISABLE_COPY(AmplifierWidget) 23 | QSize screenSize_; 24 | QPoint cursorPoint_; 25 | int imageHeight_; 26 | QColor cursorPointColor_; 27 | bool isRgbColor_; 28 | std::shared_ptr originPainting_; 29 | }; 30 | 31 | -------------------------------------------------------------------------------- /src/main/main.cpp: -------------------------------------------------------------------------------- 1 | #include "component/Application.h" 2 | #include "controller/WindowManager.h" 3 | #include "common/DarkStyle.h" 4 | #include "common/RunGuard.h" 5 | #include "common/Util.h" 6 | #include "common/LogHandler.h" 7 | 8 | int main(int argc, char *argv[]) 9 | { 10 | qInstallMessageHandler(myMessageOutput); 11 | QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 12 | Application a(argc, argv); 13 | a.setWindowIcon(QIcon(":/images/ntscreenshot.ico")); 14 | qDebug() << "=================ntscreenshot start==============="; 15 | CDarkStyle::setFontFamily("Microsoft YaHei", false); 16 | CDarkStyle::assign(); 17 | 18 | QApplication::setQuitOnLastWindowClosed(false); 19 | QObject::connect(&a, &QApplication::aboutToQuit, []{ WindowManager::instance()->destory(); }); 20 | WindowManager::instance()->openWidget(WidgetID::MAIN); 21 | 22 | return a.exec(); 23 | } 24 | -------------------------------------------------------------------------------- /src/component/MaskFrame.cpp: -------------------------------------------------------------------------------- 1 | #include "MaskFrame.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | MaskFrame::MaskFrame(QFrame *parent) 11 | : QFrame(parent) 12 | { 13 | setWindowOpacity(0.3); 14 | setMouseTracking(true); 15 | setWindowFlags(Qt::FramelessWindowHint | Qt::Window); 16 | setAttribute(Qt::WA_DeleteOnClose, true); 17 | SetWindowPos((HWND)winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE); 18 | long initStyle = ::GetWindowLong((HWND)winId(), GWL_EXSTYLE); 19 | ::SetWindowLong((HWND)winId(), GWL_EXSTYLE, initStyle | WS_EX_TRANSPARENT | WS_EX_LAYERED); 20 | this->setAutoFillBackground(true); 21 | } 22 | 23 | void MaskFrame::paintEvent(QPaintEvent *e) 24 | { 25 | QFrame::paintEvent(e); 26 | } 27 | -------------------------------------------------------------------------------- /src/component/TipsWidget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class TipsWidget : public QLabel 6 | { 7 | Q_OBJECT 8 | 9 | public: 10 | TipsWidget(QWidget *parent); 11 | ~TipsWidget(); 12 | void autoClose(int seconds); 13 | void setYOffset(int offset); 14 | void setClickedCopy(bool enable); 15 | void setText(const QString& text); 16 | QString text() const; 17 | 18 | static void popup(QWidget *parent, const QString &text, int seconds, int yOffset = 0, bool clickedCopy = false); 19 | 20 | protected: 21 | void showEvent(QShowEvent *event); 22 | void enterEvent(QEvent *event); 23 | void leaveEvent(QEvent *event); 24 | void mousePressEvent(QMouseEvent *ev); 25 | 26 | private slots: 27 | void onTimeout(); 28 | 29 | private: 30 | QWidget *parent_; 31 | QTimer *timer_; 32 | int yOffset_; 33 | bool isClickedCopy_; 34 | QString text_; 35 | }; 36 | -------------------------------------------------------------------------------- /src/view/Settings.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_Settings.h" 5 | 6 | class Settings : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | Settings(QWidget *parent = Q_NULLPTR); 12 | ~Settings(); 13 | void readData(); 14 | void writeData(); 15 | 16 | protected: 17 | virtual void keyPressEvent(QKeyEvent* event); 18 | 19 | private: 20 | void initTablePath(); 21 | void updateScreenshotGlobalKey(const QString &key); 22 | void updatePinKey(const QString &key); 23 | void onAutoStartClicked(bool checked); 24 | void onPinNoBorder(bool checked); 25 | void onRevertClicked(); 26 | void onTablePathDoubleClicked(int row, int col); 27 | void onUploadImageUrlChanged(const QString& text); 28 | void onRgbColorToggled(bool checked); 29 | void onHexColorToggled(bool checked); 30 | void onAutoSaveChanged(); 31 | void onOpenImagePath(); 32 | void onModifyImagePath(); 33 | void onBackgroundChanged(); 34 | void onBackgroundAlphaReleased(); 35 | 36 | private: 37 | Q_DISABLE_COPY(Settings) 38 | Ui::Settings ui; 39 | }; 40 | -------------------------------------------------------------------------------- /src/component/ImageButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | class ImageButton : public QPushButton 7 | { 8 | Q_OBJECT 9 | public: 10 | enum Status { NORMAL = 0, ENTER, PRESS, RELEASE, STATUS_NUM, STATUS_NONE }; 11 | 12 | explicit ImageButton(QWidget *parent = 0); 13 | ~ImageButton(); 14 | 15 | void setPicName(const QString &normal, const QString &hover, const QString &pressed, const QString &disable=QString()); 16 | void setImages(const QPixmap &normal, const QPixmap &hover, const QPixmap &pressed, const QPixmap &disable=QPixmap()); 17 | void setNumberPicName(const QString &imagePath); 18 | 19 | void setControlStatus(Status status = STATUS_NONE); 20 | void setNumber(int number); 21 | int getNumber() const; 22 | 23 | protected: 24 | void enterEvent(QEvent *event); 25 | void leaveEvent(QEvent *event); 26 | void mousePressEvent(QMouseEvent *event); 27 | void mouseReleaseEvent(QMouseEvent *event); 28 | void paintEvent(QPaintEvent *event); 29 | 30 | private: 31 | Status status_; 32 | Status controlStatus_; 33 | QPixmap pixmaps_[STATUS_NUM]; 34 | QPixmap numberPixmap_; 35 | bool isMousePressed_; 36 | int number_; 37 | }; 38 | -------------------------------------------------------------------------------- /src/model/SettingModel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | class SettingModel : public QObject 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | SettingModel(QObject *parent); 12 | ~SettingModel(); 13 | 14 | void revertDefault(); 15 | 16 | void setAutoStart(bool isAutoStart); 17 | bool autoStart() const; 18 | 19 | void setScreenshotGlobalKey(const QString &key); 20 | QString screenhotGlobalKey() const; 21 | 22 | void setPinGlobalKey(const QString &key); 23 | QString pinGlobalKey() const; 24 | 25 | void setUploadImageUrl(const QString &url); 26 | QString uploadImageUrl() const; 27 | 28 | void setPinNoBorder(bool enable); 29 | bool pinNoBorder() const; 30 | 31 | void setRgbColor(bool enable); 32 | bool rgbColor() const; 33 | 34 | void getAutoSaveImage(bool &autoSave, QString &path) const; 35 | void setAutoSaveImage(bool autoSave, const QString &path); 36 | 37 | void setBackgroundColor(bool checked, int alpha); 38 | int backgroundColorAlpha() const; 39 | bool backgroundColorChecked() const; 40 | 41 | private: 42 | Q_DISABLE_COPY(SettingModel) 43 | QSettings settings_; 44 | }; 45 | -------------------------------------------------------------------------------- /src/resource/ntscreenshot.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | images/icon_window_close.png 4 | images/icon_window_maximize.png 5 | images/icon_window_minimize.png 6 | images/icon_window_restore.png 7 | images/folder_open.png 8 | images/folder_open_hover.png 9 | images/shield.png 10 | images/shield_hover.png 11 | images/ntscreenshot.ico 12 | images/arrow.png 13 | images/ellipse.png 14 | images/line.png 15 | images/rectangle.png 16 | images/clipboard.png 17 | images/pin.png 18 | images/save.png 19 | images/undo.png 20 | images/color.png 21 | images/ok.png 22 | images/remove.png 23 | images/polyline.png 24 | images/text.png 25 | images/tips.png 26 | images/setting.png 27 | images/mosaic.png 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/controller/WindowManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include "common/Constants.h" 7 | #include "model/SettingModel.h" 8 | 9 | class ScreenshotWidget; 10 | class WindowManager : public QObject 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | static WindowManager* instance(); 16 | void destory(); 17 | void openWidget(const QString &id); 18 | void closeWidget(const QString &id); 19 | void hideWidget(const QString &id); 20 | QWidget* content(const QString &id); 21 | 22 | SettingModel* setting() { return settingModel_.get(); } 23 | bool setScreenshotGlobalKey(const QString &key); 24 | bool setPinGlobalKey(const QString &key); 25 | void showAllSticker(); 26 | int allStickerCount(); 27 | 28 | signals: 29 | void sigPin(); 30 | void sigSettingChanged(); 31 | void sigStickerCountChanged(); 32 | 33 | private slots: 34 | void onScreenshotReopen(); 35 | void onScreenshotClose(); 36 | void onSaveScreenshot(const QPixmap &pixmap); 37 | void onPin(); 38 | 39 | private: 40 | WindowManager(); 41 | ~WindowManager(); 42 | 43 | private: 44 | QMap widgets_; 45 | std::unique_ptr screenshot_; 46 | std::unique_ptr settingModel_; 47 | }; 48 | -------------------------------------------------------------------------------- /src/component/FramelessWidget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class FramelessWidget : public QFrame 6 | { 7 | Q_OBJECT 8 | public: 9 | enum Direction { UP = 0, DOWN, LEFT, RIGHT, LEFTTOP, LEFTBOTTOM, RIGHTBOTTOM, RIGHTTOP, MIDDLE }; 10 | 11 | FramelessWidget(QWidget *parent = Q_NULLPTR); 12 | ~FramelessWidget(); 13 | void setTitle(QWidget *title); 14 | void setContent(QWidget *content); 15 | QWidget* getContent(); 16 | void setEnableStretch(bool enable); 17 | void setEnableEscClose(bool enable); 18 | void setEnableHighlight(bool enable); 19 | bool enableHightlight() const; 20 | void setBackground(const QPixmap &pixmap); 21 | void setActiveStyle(); 22 | void setDeactiveStyle(); 23 | 24 | protected: 25 | void mousePressEvent(QMouseEvent *event); 26 | void mouseReleaseEvent(QMouseEvent *event); 27 | void enterEvent(QEvent* event); 28 | void leaveEvent(QEvent* event); 29 | void mouseMoveEvent(QMouseEvent *event); 30 | void keyPressEvent(QKeyEvent* event); 31 | bool nativeEvent(const QByteArray & eventType, void * message, long * result); 32 | bool eventFilter(QObject* watched, QEvent* event); 33 | void transRegion(const QPoint &cursorGlobalPoint); 34 | //void paintEvent(QPaintEvent *event); 35 | 36 | private: 37 | QPoint movePoint_; 38 | bool isPressed_; 39 | QWidget *title_; 40 | QWidget *content_; 41 | bool enableStretch_; 42 | bool enableEscClose_; 43 | bool enableHighlight_; 44 | Direction m_dir; 45 | QPixmap backgroundPixmap_; 46 | }; 47 | -------------------------------------------------------------------------------- /src/resource/darkstyle.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | darkstyle/darkstyle.qss 4 | darkstyle/icon_close.png 5 | darkstyle/icon_undock.png 6 | darkstyle/icon_branch_closed.png 7 | darkstyle/icon_branch_end.png 8 | darkstyle/icon_branch_more.png 9 | darkstyle/icon_branch_open.png 10 | darkstyle/icon_vline.png 11 | darkstyle/icon_checkbox_checked.png 12 | darkstyle/icon_checkbox_indeterminate.png 13 | darkstyle/icon_checkbox_unchecked.png 14 | darkstyle/icon_checkbox_checked_pressed.png 15 | darkstyle/icon_checkbox_indeterminate_pressed.png 16 | darkstyle/icon_checkbox_unchecked_pressed.png 17 | darkstyle/icon_checkbox_checked_disabled.png 18 | darkstyle/icon_checkbox_indeterminate_disabled.png 19 | darkstyle/icon_checkbox_unchecked_disabled.png 20 | darkstyle/icon_radiobutton_checked.png 21 | darkstyle/icon_radiobutton_unchecked.png 22 | darkstyle/icon_radiobutton_checked_pressed.png 23 | darkstyle/icon_radiobutton_unchecked_pressed.png 24 | darkstyle/icon_radiobutton_checked_disabled.png 25 | darkstyle/icon_radiobutton_unchecked_disabled.png 26 | 27 | 28 | -------------------------------------------------------------------------------- /ntscreenshot.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.1062 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ntscreenshot", "src\Acc.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.Build.0 = Debug|Win32 18 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64 19 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64 20 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.ActiveCfg = Release|Win32 21 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.Build.0 = Release|Win32 22 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64 23 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | Qt5Version = msvc2017 30 | SolutionGuid = {FC0AA4A1-260C-4031-B976-4E5E0F60E756} 31 | EndGlobalSection 32 | EndGlobal 33 | -------------------------------------------------------------------------------- /src/common/RunGuard.cpp: -------------------------------------------------------------------------------- 1 | #include "RunGuard.h" 2 | 3 | #include 4 | 5 | 6 | namespace 7 | { 8 | 9 | QString generateKeyHash(const QString& key, const QString& salt) 10 | { 11 | QByteArray data; 12 | 13 | data.append(key.toUtf8()); 14 | data.append(salt.toUtf8()); 15 | data = QCryptographicHash::hash(data, QCryptographicHash::Sha1).toHex(); 16 | 17 | return data; 18 | } 19 | 20 | } 21 | 22 | 23 | RunGuard::RunGuard(const QString& key) 24 | : key(key) 25 | , memLockKey(generateKeyHash(key, "_memLockKey")) 26 | , sharedmemKey(generateKeyHash(key, "_sharedmemKey")) 27 | , sharedMem(sharedmemKey) 28 | , memLock(memLockKey, 1) 29 | { 30 | memLock.acquire(); 31 | { 32 | QSharedMemory fix(sharedmemKey); 33 | fix.attach(); 34 | } 35 | memLock.release(); 36 | } 37 | 38 | RunGuard::~RunGuard() 39 | { 40 | release(); 41 | } 42 | 43 | bool RunGuard::isAnotherRunning() 44 | { 45 | if (sharedMem.isAttached()) 46 | return false; 47 | 48 | memLock.acquire(); 49 | const bool isRunning = sharedMem.attach(); 50 | if (isRunning) 51 | sharedMem.detach(); 52 | memLock.release(); 53 | 54 | return isRunning; 55 | } 56 | 57 | bool RunGuard::tryToRun() 58 | { 59 | if (isAnotherRunning()) // Extra check 60 | return false; 61 | 62 | memLock.acquire(); 63 | const bool result = sharedMem.create(sizeof(quint64)); 64 | memLock.release(); 65 | if (!result) 66 | { 67 | release(); 68 | return false; 69 | } 70 | 71 | return true; 72 | } 73 | 74 | void RunGuard::release() 75 | { 76 | memLock.acquire(); 77 | if (sharedMem.isAttached()) 78 | sharedMem.detach(); 79 | memLock.release(); 80 | } -------------------------------------------------------------------------------- /src/view/Stickers.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | class QLabel; 8 | class QContextMenuEvent; 9 | class QMenu; 10 | class DrawPanel; 11 | 12 | class StickerWidget : public QWidget 13 | { 14 | Q_OBJECT 15 | public: 16 | StickerWidget(const QPixmap& pixmap, QWidget* parent); 17 | ~StickerWidget(); 18 | void flush(); 19 | static bool hasBorder(); 20 | static void popup(const QPixmap &pixmap, const QPoint &pos); 21 | static void showAll(); 22 | static void hideAll(); 23 | static int allCount(); 24 | static int visibleCount(); 25 | static QList getAllSticker(); 26 | 27 | protected: 28 | virtual void keyPressEvent(QKeyEvent *event); 29 | virtual void contextMenuEvent(QContextMenuEvent*); 30 | virtual void mousePressEvent(QMouseEvent *event); 31 | virtual void mouseReleaseEvent(QMouseEvent *event); 32 | virtual void paintEvent(QPaintEvent *event); 33 | 34 | private slots: 35 | void onDraw(); 36 | void onUndo(); 37 | void onCopy(); 38 | void onSave(); 39 | void onUploadImg(); 40 | void onClose(); 41 | void onCloseAll(); 42 | void onHide(); 43 | void onHideAll(); 44 | 45 | private: 46 | Q_DISABLE_COPY(StickerWidget) 47 | QPixmap pixmap_; 48 | QMenu* menu_; 49 | std::unique_ptr drawPanel_; 50 | }; 51 | 52 | //class UploadImageUtil : public QObject 53 | //{ 54 | // Q_OBJECT 55 | //public: 56 | // UploadImageUtil(QWidget *parent); 57 | // void upload(const QPixmap &pixmap); 58 | // 59 | //private slots: 60 | // void onHttpResponse(int err, const QByteArray& data); 61 | // 62 | //private: 63 | // Q_DISABLE_COPY(UploadImageUtil) 64 | // QWidget *parentWidget_; 65 | // HttpRequest* http_; 66 | //}; 67 | -------------------------------------------------------------------------------- /src/component/TextEdit.cpp: -------------------------------------------------------------------------------- 1 | #include "TextEdit.h" 2 | #include 3 | #include 4 | 5 | const int PADDING = 6; 6 | const int BASE_WIDTH = 50; 7 | const int BASE_HEIGHT = 26; 8 | TextEdit::TextEdit(QWidget *parent) 9 | : QTextEdit(parent) 10 | { 11 | this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 12 | this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 13 | this->setAcceptDrops(true); 14 | this->setAcceptRichText(false); 15 | connect(this, &QTextEdit::textChanged, this, &TextEdit::onTextChanged); 16 | this->setFixedSize(BASE_WIDTH, BASE_HEIGHT); 17 | this->setLineWrapMode(QTextEdit::NoWrap); 18 | } 19 | 20 | void TextEdit::onTextChanged() 21 | { 22 | QFontMetrics fm = this->fontMetrics(); 23 | QStringList strList = this->toPlainText().split("\n"); 24 | int maxTextWidth = 0; 25 | int maxTextHeight = 0; 26 | foreach(const QString &line, strList) { 27 | int w = fm.width(line); 28 | if (w > maxTextWidth) { 29 | maxTextWidth = w; 30 | } 31 | maxTextHeight += fm.height() + 2; 32 | } 33 | 34 | int w = PADDING * 2 + maxTextWidth; 35 | int h = PADDING * 2 + maxTextHeight; 36 | this->setFixedWidth(qMax(w, BASE_WIDTH)); 37 | this->setFixedHeight(qMax(h, BASE_HEIGHT)); 38 | } 39 | 40 | QPoint TextEdit::startCursorPoint() 41 | { 42 | return this->pos() + QPoint(5, 5); 43 | } 44 | 45 | void TextEdit::setStyle(const QColor &color) 46 | { 47 | this->setStyleSheet(QString("background:transparent;color:%1;border:1px dotted %2;").arg(color.name()).arg(color.name())); 48 | } 49 | 50 | void TextEdit::keyPressEvent(QKeyEvent *e) 51 | { 52 | if (e->key() == Qt::Key_Enter | e->key() == Qt::Key_Return) { 53 | 54 | } 55 | QTextEdit::keyPressEvent(e); 56 | } -------------------------------------------------------------------------------- /src/view/MainWidget.cpp: -------------------------------------------------------------------------------- 1 | #include "MainWidget.h" 2 | #include 3 | #include 4 | #include "component/qxtglobalshortcut/qxtglobalshortcut.h" 5 | #include "common/Util.h" 6 | #include "controller/WindowManager.h" 7 | 8 | MainWidget::MainWidget(QWidget *parent) 9 | : QFrame(parent) 10 | { 11 | tray_ = new SystemTray(this); 12 | connect(tray_, &SystemTray::sigReload, this, &MainWidget::slotReload); 13 | connect(tray_, &QSystemTrayIcon::activated, this, &MainWidget::slotTrayActivated); 14 | tray_->show(); 15 | 16 | mainShortcut_ = new QxtGlobalShortcut(this); 17 | connect(mainShortcut_, &QxtGlobalShortcut::activated, this, &MainWidget::slotMainShortcut); 18 | setScreenshotGlobalKey(WindowManager::instance()->setting()->screenhotGlobalKey()); 19 | 20 | pinShortcut_ = new QxtGlobalShortcut(this); 21 | connect(pinShortcut_, &QxtGlobalShortcut::activated, this, &MainWidget::slotPinShortcut); 22 | setPinGlobalKey(WindowManager::instance()->setting()->pinGlobalKey()); 23 | 24 | QxtGlobalShortcut *exitShortcut = new QxtGlobalShortcut(this); 25 | exitShortcut->setShortcut(QKeySequence(Qt::ALT + Qt::Key_Q)); 26 | connect(exitShortcut, &QxtGlobalShortcut::activated, this, &MainWidget::slotExit); 27 | 28 | QVBoxLayout *mLayout = new QVBoxLayout(this); 29 | mLayout->setContentsMargins(10, 10, 10, 10); 30 | mLayout->setSpacing(10); 31 | } 32 | 33 | MainWidget::~MainWidget() 34 | { 35 | tray_->hide(); 36 | tray_->deleteLater(); 37 | } 38 | 39 | bool MainWidget::setScreenshotGlobalKey(const QString &key) 40 | { 41 | return mainShortcut_->setShortcut(QKeySequence::fromString(key, QKeySequence::NativeText)); 42 | } 43 | 44 | bool MainWidget::setPinGlobalKey(const QString &key) 45 | { 46 | return pinShortcut_->setShortcut(QKeySequence::fromString(key, QKeySequence::NativeText)); 47 | } 48 | 49 | void MainWidget::slotReload() 50 | { 51 | } 52 | 53 | void MainWidget::slotTrayActivated(QSystemTrayIcon::ActivationReason reason) 54 | { 55 | if (reason == QSystemTrayIcon::Trigger) { 56 | slotMainShortcut(); 57 | } 58 | } 59 | 60 | void MainWidget::slotMainShortcut() 61 | { 62 | WindowManager::instance()->openWidget(WidgetID::SCREENSHOT); 63 | } 64 | 65 | void MainWidget::slotPinShortcut() 66 | { 67 | emit WindowManager::instance()->sigPin(); 68 | } 69 | 70 | void MainWidget::slotExit() 71 | { 72 | qApp->exit(); 73 | } 74 | -------------------------------------------------------------------------------- /src/common/DarkStyle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | class CDarkStyle 8 | { 9 | public: 10 | static void assign() 11 | { 12 | // set style 13 | qApp->setStyle(QStyleFactory::create("Fusion")); 14 | 15 | // modify palette to dark 16 | QPalette darkPalette; 17 | darkPalette.setColor(QPalette::Window, QColor(53, 53, 53)); 18 | darkPalette.setColor(QPalette::WindowText, Qt::white); 19 | darkPalette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(127, 127, 127)); 20 | darkPalette.setColor(QPalette::Base, QColor(42, 42, 42)); 21 | darkPalette.setColor(QPalette::AlternateBase, QColor(66, 66, 66)); 22 | darkPalette.setColor(QPalette::ToolTipBase, Qt::white); 23 | darkPalette.setColor(QPalette::ToolTipText, Qt::white); 24 | darkPalette.setColor(QPalette::Text, Qt::white); 25 | darkPalette.setColor(QPalette::Disabled, QPalette::Text, QColor(127, 127, 127)); 26 | darkPalette.setColor(QPalette::Dark, QColor(35, 35, 35)); 27 | darkPalette.setColor(QPalette::Shadow, QColor(20, 20, 20)); 28 | darkPalette.setColor(QPalette::Button, QColor(53, 53, 53)); 29 | darkPalette.setColor(QPalette::ButtonText, Qt::white); 30 | darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(127, 127, 127)); 31 | darkPalette.setColor(QPalette::BrightText, Qt::red); 32 | darkPalette.setColor(QPalette::Link, QColor(42, 130, 218)); 33 | darkPalette.setColor(QPalette::Highlight, QColor(42, 130, 218)); 34 | darkPalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(80, 80, 80)); 35 | darkPalette.setColor(QPalette::HighlightedText, Qt::white); 36 | darkPalette.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(127, 127, 127)); 37 | 38 | qApp->setPalette(darkPalette); 39 | // loadstylesheet 40 | QFile qfDarkstyle(QString(":/darkstyle/darkstyle.qss")); 41 | if (qfDarkstyle.open(QIODevice::ReadOnly | QIODevice::Text)) 42 | { 43 | // set stylesheet 44 | QString qsStylesheet = QString(qfDarkstyle.readAll()); 45 | qApp->setStyleSheet(qsStylesheet); 46 | qfDarkstyle.close(); 47 | } 48 | } 49 | 50 | static void setFontFamily(const QString &fontFamily, bool isBold) 51 | { 52 | QFont defaultFont = QApplication::font(); 53 | static int fontSize = defaultFont.pointSize(); 54 | if (!fontFamily.isEmpty()) { 55 | defaultFont.setFamily(fontFamily); 56 | } 57 | defaultFont.setBold(isBold); 58 | defaultFont.setPointSize(fontSize); 59 | qApp->setFont(defaultFont); 60 | } 61 | }; 62 | 63 | 64 | -------------------------------------------------------------------------------- /src/common/HttpRequest.cpp: -------------------------------------------------------------------------------- 1 | #include "HttpRequest.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | HttpRequest::HttpRequest(QObject *parent) 9 | : QObject(parent) 10 | , manager_(new QNetworkAccessManager(this)) 11 | { 12 | connect(manager_, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)), Qt::QueuedConnection); 13 | } 14 | 15 | HttpRequest::~HttpRequest() 16 | { 17 | } 18 | 19 | void HttpRequest::get(const QString &url) 20 | { 21 | const QNetworkReply *reply = manager_->get(QNetworkRequest(QUrl(url))); 22 | connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(slotError(QNetworkReply::NetworkError))); 23 | } 24 | 25 | void HttpRequest::postForm(const QString &url, const QByteArray &data) 26 | { 27 | qDebug() << "url:" << url << "," << data; 28 | QUrl aurl(url); 29 | QNetworkRequest req(aurl); 30 | req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); 31 | const QNetworkReply *reply = manager_->post(req, data); 32 | connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(slotError(QNetworkReply::NetworkError))); 33 | } 34 | 35 | void HttpRequest::postImage(const QString &url, const QString& name, const QByteArray &data) 36 | { 37 | QString suffix = "png"; 38 | if (name.lastIndexOf(".") > 0) { 39 | suffix = name.mid(name.lastIndexOf(".") + 1); 40 | } 41 | QHttpPart part1; 42 | part1.setHeader(QNetworkRequest::ContentTypeHeader, QString("image/%1").arg(suffix)); 43 | part1.setHeader(QNetworkRequest::ContentDispositionHeader, QString("form-data; name=\"file\"; filename=%1").arg(name)); 44 | part1.setBody(data); 45 | 46 | QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); 47 | multiPart->append(part1); 48 | 49 | QUrl aurl(url); 50 | QNetworkRequest req(aurl); 51 | 52 | //QSslConfiguration conf = req.sslConfiguration(); 53 | //conf.setPeerVerifyMode(QSslSocket::VerifyNone); 54 | //conf.setProtocol(QSsl::TlsV1_0); 55 | //req.setSslConfiguration(conf); 56 | 57 | QNetworkReply *reply = manager_->post(req, multiPart); 58 | multiPart->setParent(reply); 59 | 60 | connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(slotError(QNetworkReply::NetworkError))); 61 | } 62 | 63 | void HttpRequest::replyFinished(QNetworkReply *reply) 64 | { 65 | if (!reply) { 66 | qDebug() << "replyFinished is null!!!"; 67 | return; 68 | } 69 | 70 | emit sigHttpResponse(reply->error(), reply->readAll()); 71 | reply->deleteLater(); 72 | } 73 | 74 | void HttpRequest::slotError(QNetworkReply::NetworkError err) 75 | { 76 | if (err != QNetworkReply::NoError) { 77 | qDebug() << "http response error: " << err; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/component/qxtglobalshortcut/qxtglobalshortcut.h: -------------------------------------------------------------------------------- 1 | #ifndef QXTGLOBALSHORTCUT_H 2 | /**************************************************************************** 3 | ** Copyright (c) 2006 - 2011, the LibQxt project. 4 | ** See the Qxt AUTHORS file for a list of authors and copyright holders. 5 | ** All rights reserved. 6 | ** 7 | ** Redistribution and use in source and binary forms, with or without 8 | ** modification, are permitted provided that the following conditions are met: 9 | ** * Redistributions of source code must retain the above copyright 10 | ** notice, this list of conditions and the following disclaimer. 11 | ** * Redistributions in binary form must reproduce the above copyright 12 | ** notice, this list of conditions and the following disclaimer in the 13 | ** documentation and/or other materials provided with the distribution. 14 | ** * Neither the name of the LibQxt project nor the 15 | ** names of its contributors may be used to endorse or promote products 16 | ** derived from this software without specific prior written permission. 17 | ** 18 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | ** DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 22 | ** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | ** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | ** 29 | ** 30 | *****************************************************************************/ 31 | 32 | #define QXTGLOBALSHORTCUT_H 33 | 34 | #include "qxtglobal.h" 35 | #include 36 | #include 37 | 38 | class QxtGlobalShortcutPrivate; 39 | 40 | class QxtGlobalShortcut : public QObject 41 | { 42 | Q_OBJECT 43 | QXT_DECLARE_PRIVATE(QxtGlobalShortcut) 44 | Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled) 45 | Q_PROPERTY(QKeySequence shortcut READ shortcut WRITE setShortcut) 46 | 47 | public: 48 | explicit QxtGlobalShortcut(QObject* parent = 0); 49 | explicit QxtGlobalShortcut(const QKeySequence& shortcut, QObject* parent = 0); 50 | virtual ~QxtGlobalShortcut(); 51 | 52 | QKeySequence shortcut() const; 53 | bool setShortcut(const QKeySequence& shortcut); 54 | 55 | bool isEnabled() const; 56 | 57 | public Q_SLOTS: 58 | void setEnabled(bool enabled = true); 59 | void setDisabled(bool disabled = true); 60 | 61 | Q_SIGNALS: 62 | void activated(); 63 | }; 64 | 65 | #endif // QXTGLOBALSHORTCUT_H 66 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_Settings.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Settings.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/Settings.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Settings.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_Settings_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[9]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_Settings_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_Settings_t qt_meta_stringdata_Settings = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 8) // "Settings" 35 | 36 | }, 37 | "Settings" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_Settings[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void Settings::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject Settings::staticMetaObject = { { 66 | &QWidget::staticMetaObject, 67 | qt_meta_stringdata_Settings.data, 68 | qt_meta_data_Settings, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *Settings::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *Settings::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_Settings.stringdata0)) 84 | return static_cast(this); 85 | return QWidget::qt_metacast(_clname); 86 | } 87 | 88 | int Settings::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QWidget::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_Settings.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Settings.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/Settings.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Settings.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_Settings_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[9]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_Settings_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_Settings_t qt_meta_stringdata_Settings = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 8) // "Settings" 35 | 36 | }, 37 | "Settings" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_Settings[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void Settings::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject Settings::staticMetaObject = { { 66 | &QWidget::staticMetaObject, 67 | qt_meta_stringdata_Settings.data, 68 | qt_meta_data_Settings, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *Settings::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *Settings::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_Settings.stringdata0)) 84 | return static_cast(this); 85 | return QWidget::qt_metacast(_clname); 86 | } 87 | 88 | int Settings::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QWidget::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_MaskFrame.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'MaskFrame.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/MaskFrame.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'MaskFrame.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_MaskFrame_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[10]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_MaskFrame_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_MaskFrame_t qt_meta_stringdata_MaskFrame = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 9) // "MaskFrame" 35 | 36 | }, 37 | "MaskFrame" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_MaskFrame[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void MaskFrame::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject MaskFrame::staticMetaObject = { { 66 | &QFrame::staticMetaObject, 67 | qt_meta_stringdata_MaskFrame.data, 68 | qt_meta_data_MaskFrame, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *MaskFrame::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *MaskFrame::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_MaskFrame.stringdata0)) 84 | return static_cast(this); 85 | return QFrame::qt_metacast(_clname); 86 | } 87 | 88 | int MaskFrame::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QFrame::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_ImageButton.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'ImageButton.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/ImageButton.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'ImageButton.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_ImageButton_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[12]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_ImageButton_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_ImageButton_t qt_meta_stringdata_ImageButton = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 11) // "ImageButton" 35 | 36 | }, 37 | "ImageButton" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_ImageButton[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void ImageButton::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject ImageButton::staticMetaObject = { { 66 | &QPushButton::staticMetaObject, 67 | qt_meta_stringdata_ImageButton.data, 68 | qt_meta_data_ImageButton, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *ImageButton::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *ImageButton::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_ImageButton.stringdata0)) 84 | return static_cast(this); 85 | return QPushButton::qt_metacast(_clname); 86 | } 87 | 88 | int ImageButton::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QPushButton::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_SettingModel.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'SettingModel.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../model/SettingModel.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'SettingModel.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_SettingModel_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[13]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_SettingModel_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_SettingModel_t qt_meta_stringdata_SettingModel = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 12) // "SettingModel" 35 | 36 | }, 37 | "SettingModel" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_SettingModel[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void SettingModel::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject SettingModel::staticMetaObject = { { 66 | &QObject::staticMetaObject, 67 | qt_meta_stringdata_SettingModel.data, 68 | qt_meta_data_SettingModel, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *SettingModel::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *SettingModel::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_SettingModel.stringdata0)) 84 | return static_cast(this); 85 | return QObject::qt_metacast(_clname); 86 | } 87 | 88 | int SettingModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QObject::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_ImageButton.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'ImageButton.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/ImageButton.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'ImageButton.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_ImageButton_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[12]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_ImageButton_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_ImageButton_t qt_meta_stringdata_ImageButton = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 11) // "ImageButton" 35 | 36 | }, 37 | "ImageButton" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_ImageButton[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void ImageButton::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject ImageButton::staticMetaObject = { { 66 | &QPushButton::staticMetaObject, 67 | qt_meta_stringdata_ImageButton.data, 68 | qt_meta_data_ImageButton, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *ImageButton::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *ImageButton::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_ImageButton.stringdata0)) 84 | return static_cast(this); 85 | return QPushButton::qt_metacast(_clname); 86 | } 87 | 88 | int ImageButton::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QPushButton::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_SettingModel.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'SettingModel.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../model/SettingModel.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'SettingModel.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_SettingModel_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[13]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_SettingModel_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_SettingModel_t qt_meta_stringdata_SettingModel = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 12) // "SettingModel" 35 | 36 | }, 37 | "SettingModel" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_SettingModel[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void SettingModel::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject SettingModel::staticMetaObject = { { 66 | &QObject::staticMetaObject, 67 | qt_meta_stringdata_SettingModel.data, 68 | qt_meta_data_SettingModel, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *SettingModel::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *SettingModel::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_SettingModel.stringdata0)) 84 | return static_cast(this); 85 | return QObject::qt_metacast(_clname); 86 | } 87 | 88 | int SettingModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QObject::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_FramelessWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'FramelessWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/FramelessWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'FramelessWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_FramelessWidget_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[16]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_FramelessWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_FramelessWidget_t qt_meta_stringdata_FramelessWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 15) // "FramelessWidget" 35 | 36 | }, 37 | "FramelessWidget" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_FramelessWidget[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void FramelessWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject FramelessWidget::staticMetaObject = { { 66 | &QFrame::staticMetaObject, 67 | qt_meta_stringdata_FramelessWidget.data, 68 | qt_meta_data_FramelessWidget, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *FramelessWidget::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *FramelessWidget::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_FramelessWidget.stringdata0)) 84 | return static_cast(this); 85 | return QFrame::qt_metacast(_clname); 86 | } 87 | 88 | int FramelessWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QFrame::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_FramelessWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'FramelessWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/FramelessWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'FramelessWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_FramelessWidget_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[16]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_FramelessWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_FramelessWidget_t qt_meta_stringdata_FramelessWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 15) // "FramelessWidget" 35 | 36 | }, 37 | "FramelessWidget" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_FramelessWidget[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void FramelessWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject FramelessWidget::staticMetaObject = { { 66 | &QFrame::staticMetaObject, 67 | qt_meta_stringdata_FramelessWidget.data, 68 | qt_meta_data_FramelessWidget, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *FramelessWidget::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *FramelessWidget::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_FramelessWidget.stringdata0)) 84 | return static_cast(this); 85 | return QFrame::qt_metacast(_clname); 86 | } 87 | 88 | int FramelessWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | _id = QFrame::qt_metacall(_c, _id, _a); 91 | return _id; 92 | } 93 | QT_WARNING_POP 94 | QT_END_MOC_NAMESPACE 95 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_Application.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Application.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/Application.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Application.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_Application_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[12]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_Application_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_Application_t qt_meta_stringdata_Application = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 11) // "Application" 35 | 36 | }, 37 | "Application" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_Application[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void Application::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject Application::staticMetaObject = { { 66 | &QApplication::staticMetaObject, 67 | qt_meta_stringdata_Application.data, 68 | qt_meta_data_Application, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *Application::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *Application::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_Application.stringdata0)) 84 | return static_cast(this); 85 | if (!strcmp(_clname, "QAbstractNativeEventFilter")) 86 | return static_cast< QAbstractNativeEventFilter*>(this); 87 | return QApplication::qt_metacast(_clname); 88 | } 89 | 90 | int Application::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 91 | { 92 | _id = QApplication::qt_metacall(_c, _id, _a); 93 | return _id; 94 | } 95 | QT_WARNING_POP 96 | QT_END_MOC_NAMESPACE 97 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_Application.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Application.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/Application.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Application.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_Application_t { 24 | QByteArrayData data[1]; 25 | char stringdata0[12]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_Application_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_Application_t qt_meta_stringdata_Application = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 11) // "Application" 35 | 36 | }, 37 | "Application" 38 | }; 39 | #undef QT_MOC_LITERAL 40 | 41 | static const uint qt_meta_data_Application[] = { 42 | 43 | // content: 44 | 8, // revision 45 | 0, // classname 46 | 0, 0, // classinfo 47 | 0, 0, // methods 48 | 0, 0, // properties 49 | 0, 0, // enums/sets 50 | 0, 0, // constructors 51 | 0, // flags 52 | 0, // signalCount 53 | 54 | 0 // eod 55 | }; 56 | 57 | void Application::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 58 | { 59 | Q_UNUSED(_o); 60 | Q_UNUSED(_id); 61 | Q_UNUSED(_c); 62 | Q_UNUSED(_a); 63 | } 64 | 65 | QT_INIT_METAOBJECT const QMetaObject Application::staticMetaObject = { { 66 | &QApplication::staticMetaObject, 67 | qt_meta_stringdata_Application.data, 68 | qt_meta_data_Application, 69 | qt_static_metacall, 70 | nullptr, 71 | nullptr 72 | } }; 73 | 74 | 75 | const QMetaObject *Application::metaObject() const 76 | { 77 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 78 | } 79 | 80 | void *Application::qt_metacast(const char *_clname) 81 | { 82 | if (!_clname) return nullptr; 83 | if (!strcmp(_clname, qt_meta_stringdata_Application.stringdata0)) 84 | return static_cast(this); 85 | if (!strcmp(_clname, "QAbstractNativeEventFilter")) 86 | return static_cast< QAbstractNativeEventFilter*>(this); 87 | return QApplication::qt_metacast(_clname); 88 | } 89 | 90 | int Application::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 91 | { 92 | _id = QApplication::qt_metacall(_c, _id, _a); 93 | return _id; 94 | } 95 | QT_WARNING_POP 96 | QT_END_MOC_NAMESPACE 97 | -------------------------------------------------------------------------------- /src/component/ImageButton.cpp: -------------------------------------------------------------------------------- 1 | #include "ImageButton.h" 2 | #include 3 | #include 4 | #include 5 | 6 | ImageButton::ImageButton(QWidget *parent) 7 | : QPushButton(parent), status_(NORMAL), controlStatus_(STATUS_NONE), number_(0) 8 | { 9 | } 10 | 11 | ImageButton::~ImageButton() 12 | { 13 | } 14 | 15 | 16 | void ImageButton::setPicName(const QString &normal, const QString &hover, const QString &pressed, const QString &disable) 17 | { 18 | pixmaps_[NORMAL].load(normal); 19 | pixmaps_[ENTER].load(hover); 20 | pixmaps_[PRESS].load(pressed); 21 | pixmaps_[RELEASE].load(disable); 22 | if (numberPixmap_.isNull()) { 23 | this->setFixedSize(pixmaps_[NORMAL].size()); 24 | } 25 | } 26 | 27 | void ImageButton::setImages(const QPixmap &normal, const QPixmap &hover, const QPixmap &pressed, const QPixmap &disable) 28 | { 29 | pixmaps_[NORMAL] = normal; 30 | pixmaps_[ENTER] = hover; 31 | pixmaps_[PRESS] = pressed; 32 | pixmaps_[RELEASE] = disable; 33 | if (numberPixmap_.isNull()) { 34 | this->setFixedSize(pixmaps_[NORMAL].size()); 35 | } 36 | } 37 | 38 | void ImageButton::setControlStatus(Status status) 39 | { 40 | controlStatus_ = status; 41 | update(); 42 | } 43 | 44 | void ImageButton::setNumber(int number) 45 | { 46 | number_ = number; 47 | update(); 48 | } 49 | 50 | int ImageButton::getNumber() const 51 | { 52 | return number_; 53 | } 54 | 55 | void ImageButton::setNumberPicName(const QString &imagePath) 56 | { 57 | numberPixmap_.load(imagePath); 58 | this->setFixedWidth(this->width() + numberPixmap_.width() / 2); 59 | update(); 60 | } 61 | 62 | void ImageButton::enterEvent(QEvent *) 63 | { 64 | status_ = ENTER; 65 | update(); 66 | } 67 | 68 | void ImageButton::leaveEvent(QEvent *) 69 | { 70 | status_ = NORMAL; 71 | update(); 72 | } 73 | 74 | void ImageButton::mousePressEvent(QMouseEvent *event) 75 | { 76 | QPushButton::mousePressEvent(event); 77 | if (event->button() == Qt::LeftButton) { 78 | status_ = PRESS; 79 | update(); 80 | } 81 | } 82 | 83 | void ImageButton::mouseReleaseEvent(QMouseEvent *event) 84 | { 85 | QPushButton::mouseReleaseEvent(event); 86 | if (status_ == PRESS && event->button() == Qt::LeftButton) { 87 | status_ = RELEASE; 88 | update(); 89 | } 90 | } 91 | 92 | void ImageButton::paintEvent(QPaintEvent *) 93 | { 94 | QPainter painter(this); 95 | int index = NORMAL; 96 | if (STATUS_NONE == controlStatus_) { 97 | 98 | if (this->isEnabled()) { 99 | index = (status_== RELEASE ? NORMAL : status_); 100 | } else { 101 | index = RELEASE; 102 | } 103 | } else { 104 | index = controlStatus_; 105 | } 106 | 107 | painter.drawPixmap(pixmaps_[index].rect(), pixmaps_[index]); 108 | if (!numberPixmap_.isNull() && number_ > 0) { 109 | int x = this->width() - numberPixmap_.width(); 110 | int y = this->height() - numberPixmap_.height(); 111 | painter.drawPixmap(x, y, numberPixmap_.width(), numberPixmap_.height(), numberPixmap_); 112 | //QString showNumber = QString::number(number_); 113 | //if (number_ > 99) { 114 | // showNumber = "99+"; 115 | //} 116 | //QStaticText staticText(showNumber); 117 | //int textWidth = painter.fontMetrics().width(showNumber); 118 | //int textHeight = painter.fontMetrics().height(); 119 | //painter.drawStaticText(x+numberPixmap_.width()/2-textWidth/2, y+(numberPixmap_.height()-textHeight)/2, staticText); 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /src/component/qxtglobalshortcut/qxtglobalshortcut_p.h: -------------------------------------------------------------------------------- 1 | #ifndef QXTGLOBALSHORTCUT_P_H 2 | /**************************************************************************** 3 | ** Copyright (c) 2006 - 2011, the LibQxt project. 4 | ** See the Qxt AUTHORS file for a list of authors and copyright holders. 5 | ** All rights reserved. 6 | ** 7 | ** Redistribution and use in source and binary forms, with or without 8 | ** modification, are permitted provided that the following conditions are met: 9 | ** * Redistributions of source code must retain the above copyright 10 | ** notice, this list of conditions and the following disclaimer. 11 | ** * Redistributions in binary form must reproduce the above copyright 12 | ** notice, this list of conditions and the following disclaimer in the 13 | ** documentation and/or other materials provided with the distribution. 14 | ** * Neither the name of the LibQxt project nor the 15 | ** names of its contributors may be used to endorse or promote products 16 | ** derived from this software without specific prior written permission. 17 | ** 18 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | ** DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 22 | ** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | ** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | ** 29 | ** 30 | *****************************************************************************/ 31 | 32 | #define QXTGLOBALSHORTCUT_P_H 33 | 34 | #include "qxtglobalshortcut.h" 35 | #include 36 | #include 37 | #include 38 | 39 | #if QT_VERSION >= QT_VERSION_CHECK(5,0,0) 40 | #include 41 | #endif 42 | 43 | 44 | class QxtGlobalShortcutPrivate : public QxtPrivate 45 | #if QT_VERSION >= QT_VERSION_CHECK(5,0,0) 46 | ,public QAbstractNativeEventFilter 47 | #endif 48 | { 49 | public: 50 | QXT_DECLARE_PUBLIC(QxtGlobalShortcut) 51 | QxtGlobalShortcutPrivate(); 52 | ~QxtGlobalShortcutPrivate(); 53 | 54 | bool enabled; 55 | Qt::Key key; 56 | Qt::KeyboardModifiers mods; 57 | 58 | bool setShortcut(const QKeySequence& shortcut); 59 | bool unsetShortcut(); 60 | 61 | static bool error; 62 | #ifndef Q_WS_MAC 63 | static int ref; 64 | #if QT_VERSION < QT_VERSION_CHECK(5,0,0) 65 | static QAbstractEventDispatcher::EventFilter prevEventFilter; 66 | static bool eventFilter(void* message); 67 | #else 68 | virtual bool nativeEventFilter(const QByteArray & eventType, void * message, long * result); 69 | #endif // QT_VERSION < QT_VERSION_CHECK(5,0,0) 70 | #endif // Q_WS_MAC 71 | 72 | static void activateShortcut(quint32 nativeKey, quint32 nativeMods); 73 | 74 | private: 75 | static quint32 nativeKeycode(Qt::Key keycode); 76 | static quint32 nativeModifiers(Qt::KeyboardModifiers modifiers); 77 | 78 | static bool registerShortcut(quint32 nativeKey, quint32 nativeMods); 79 | static bool unregisterShortcut(quint32 nativeKey, quint32 nativeMods); 80 | 81 | static QHash, QxtGlobalShortcut*> shortcuts; 82 | }; 83 | 84 | #endif // QXTGLOBALSHORTCUT_P_H 85 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_TextEdit.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'TextEdit.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/TextEdit.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'TextEdit.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_TextEdit_t { 24 | QByteArrayData data[3]; 25 | char stringdata0[24]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_TextEdit_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_TextEdit_t qt_meta_stringdata_TextEdit = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 8), // "TextEdit" 35 | QT_MOC_LITERAL(1, 9, 13), // "onTextChanged" 36 | QT_MOC_LITERAL(2, 23, 0) // "" 37 | 38 | }, 39 | "TextEdit\0onTextChanged\0" 40 | }; 41 | #undef QT_MOC_LITERAL 42 | 43 | static const uint qt_meta_data_TextEdit[] = { 44 | 45 | // content: 46 | 8, // revision 47 | 0, // classname 48 | 0, 0, // classinfo 49 | 1, 14, // methods 50 | 0, 0, // properties 51 | 0, 0, // enums/sets 52 | 0, 0, // constructors 53 | 0, // flags 54 | 0, // signalCount 55 | 56 | // slots: name, argc, parameters, tag, flags 57 | 1, 0, 19, 2, 0x0a /* Public */, 58 | 59 | // slots: parameters 60 | QMetaType::Void, 61 | 62 | 0 // eod 63 | }; 64 | 65 | void TextEdit::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 66 | { 67 | if (_c == QMetaObject::InvokeMetaMethod) { 68 | auto *_t = static_cast(_o); 69 | Q_UNUSED(_t) 70 | switch (_id) { 71 | case 0: _t->onTextChanged(); break; 72 | default: ; 73 | } 74 | } 75 | Q_UNUSED(_a); 76 | } 77 | 78 | QT_INIT_METAOBJECT const QMetaObject TextEdit::staticMetaObject = { { 79 | &QTextEdit::staticMetaObject, 80 | qt_meta_stringdata_TextEdit.data, 81 | qt_meta_data_TextEdit, 82 | qt_static_metacall, 83 | nullptr, 84 | nullptr 85 | } }; 86 | 87 | 88 | const QMetaObject *TextEdit::metaObject() const 89 | { 90 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 91 | } 92 | 93 | void *TextEdit::qt_metacast(const char *_clname) 94 | { 95 | if (!_clname) return nullptr; 96 | if (!strcmp(_clname, qt_meta_stringdata_TextEdit.stringdata0)) 97 | return static_cast(this); 98 | return QTextEdit::qt_metacast(_clname); 99 | } 100 | 101 | int TextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 102 | { 103 | _id = QTextEdit::qt_metacall(_c, _id, _a); 104 | if (_id < 0) 105 | return _id; 106 | if (_c == QMetaObject::InvokeMetaMethod) { 107 | if (_id < 1) 108 | qt_static_metacall(this, _c, _id, _a); 109 | _id -= 1; 110 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 111 | if (_id < 1) 112 | *reinterpret_cast(_a[0]) = -1; 113 | _id -= 1; 114 | } 115 | return _id; 116 | } 117 | QT_WARNING_POP 118 | QT_END_MOC_NAMESPACE 119 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_TextEdit.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'TextEdit.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/TextEdit.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'TextEdit.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_TextEdit_t { 24 | QByteArrayData data[3]; 25 | char stringdata0[24]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_TextEdit_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_TextEdit_t qt_meta_stringdata_TextEdit = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 8), // "TextEdit" 35 | QT_MOC_LITERAL(1, 9, 13), // "onTextChanged" 36 | QT_MOC_LITERAL(2, 23, 0) // "" 37 | 38 | }, 39 | "TextEdit\0onTextChanged\0" 40 | }; 41 | #undef QT_MOC_LITERAL 42 | 43 | static const uint qt_meta_data_TextEdit[] = { 44 | 45 | // content: 46 | 8, // revision 47 | 0, // classname 48 | 0, 0, // classinfo 49 | 1, 14, // methods 50 | 0, 0, // properties 51 | 0, 0, // enums/sets 52 | 0, 0, // constructors 53 | 0, // flags 54 | 0, // signalCount 55 | 56 | // slots: name, argc, parameters, tag, flags 57 | 1, 0, 19, 2, 0x0a /* Public */, 58 | 59 | // slots: parameters 60 | QMetaType::Void, 61 | 62 | 0 // eod 63 | }; 64 | 65 | void TextEdit::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 66 | { 67 | if (_c == QMetaObject::InvokeMetaMethod) { 68 | auto *_t = static_cast(_o); 69 | Q_UNUSED(_t) 70 | switch (_id) { 71 | case 0: _t->onTextChanged(); break; 72 | default: ; 73 | } 74 | } 75 | Q_UNUSED(_a); 76 | } 77 | 78 | QT_INIT_METAOBJECT const QMetaObject TextEdit::staticMetaObject = { { 79 | &QTextEdit::staticMetaObject, 80 | qt_meta_stringdata_TextEdit.data, 81 | qt_meta_data_TextEdit, 82 | qt_static_metacall, 83 | nullptr, 84 | nullptr 85 | } }; 86 | 87 | 88 | const QMetaObject *TextEdit::metaObject() const 89 | { 90 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 91 | } 92 | 93 | void *TextEdit::qt_metacast(const char *_clname) 94 | { 95 | if (!_clname) return nullptr; 96 | if (!strcmp(_clname, qt_meta_stringdata_TextEdit.stringdata0)) 97 | return static_cast(this); 98 | return QTextEdit::qt_metacast(_clname); 99 | } 100 | 101 | int TextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 102 | { 103 | _id = QTextEdit::qt_metacall(_c, _id, _a); 104 | if (_id < 0) 105 | return _id; 106 | if (_c == QMetaObject::InvokeMetaMethod) { 107 | if (_id < 1) 108 | qt_static_metacall(this, _c, _id, _a); 109 | _id -= 1; 110 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 111 | if (_id < 1) 112 | *reinterpret_cast(_a[0]) = -1; 113 | _id -= 1; 114 | } 115 | return _id; 116 | } 117 | QT_WARNING_POP 118 | QT_END_MOC_NAMESPACE 119 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_TipsWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'TipsWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/TipsWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'TipsWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_TipsWidget_t { 24 | QByteArrayData data[3]; 25 | char stringdata0[22]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_TipsWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_TipsWidget_t qt_meta_stringdata_TipsWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 10), // "TipsWidget" 35 | QT_MOC_LITERAL(1, 11, 9), // "onTimeout" 36 | QT_MOC_LITERAL(2, 21, 0) // "" 37 | 38 | }, 39 | "TipsWidget\0onTimeout\0" 40 | }; 41 | #undef QT_MOC_LITERAL 42 | 43 | static const uint qt_meta_data_TipsWidget[] = { 44 | 45 | // content: 46 | 8, // revision 47 | 0, // classname 48 | 0, 0, // classinfo 49 | 1, 14, // methods 50 | 0, 0, // properties 51 | 0, 0, // enums/sets 52 | 0, 0, // constructors 53 | 0, // flags 54 | 0, // signalCount 55 | 56 | // slots: name, argc, parameters, tag, flags 57 | 1, 0, 19, 2, 0x08 /* Private */, 58 | 59 | // slots: parameters 60 | QMetaType::Void, 61 | 62 | 0 // eod 63 | }; 64 | 65 | void TipsWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 66 | { 67 | if (_c == QMetaObject::InvokeMetaMethod) { 68 | auto *_t = static_cast(_o); 69 | Q_UNUSED(_t) 70 | switch (_id) { 71 | case 0: _t->onTimeout(); break; 72 | default: ; 73 | } 74 | } 75 | Q_UNUSED(_a); 76 | } 77 | 78 | QT_INIT_METAOBJECT const QMetaObject TipsWidget::staticMetaObject = { { 79 | &QLabel::staticMetaObject, 80 | qt_meta_stringdata_TipsWidget.data, 81 | qt_meta_data_TipsWidget, 82 | qt_static_metacall, 83 | nullptr, 84 | nullptr 85 | } }; 86 | 87 | 88 | const QMetaObject *TipsWidget::metaObject() const 89 | { 90 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 91 | } 92 | 93 | void *TipsWidget::qt_metacast(const char *_clname) 94 | { 95 | if (!_clname) return nullptr; 96 | if (!strcmp(_clname, qt_meta_stringdata_TipsWidget.stringdata0)) 97 | return static_cast(this); 98 | return QLabel::qt_metacast(_clname); 99 | } 100 | 101 | int TipsWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 102 | { 103 | _id = QLabel::qt_metacall(_c, _id, _a); 104 | if (_id < 0) 105 | return _id; 106 | if (_c == QMetaObject::InvokeMetaMethod) { 107 | if (_id < 1) 108 | qt_static_metacall(this, _c, _id, _a); 109 | _id -= 1; 110 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 111 | if (_id < 1) 112 | *reinterpret_cast(_a[0]) = -1; 113 | _id -= 1; 114 | } 115 | return _id; 116 | } 117 | QT_WARNING_POP 118 | QT_END_MOC_NAMESPACE 119 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_TipsWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'TipsWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/TipsWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'TipsWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_TipsWidget_t { 24 | QByteArrayData data[3]; 25 | char stringdata0[22]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_TipsWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_TipsWidget_t qt_meta_stringdata_TipsWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 10), // "TipsWidget" 35 | QT_MOC_LITERAL(1, 11, 9), // "onTimeout" 36 | QT_MOC_LITERAL(2, 21, 0) // "" 37 | 38 | }, 39 | "TipsWidget\0onTimeout\0" 40 | }; 41 | #undef QT_MOC_LITERAL 42 | 43 | static const uint qt_meta_data_TipsWidget[] = { 44 | 45 | // content: 46 | 8, // revision 47 | 0, // classname 48 | 0, 0, // classinfo 49 | 1, 14, // methods 50 | 0, 0, // properties 51 | 0, 0, // enums/sets 52 | 0, 0, // constructors 53 | 0, // flags 54 | 0, // signalCount 55 | 56 | // slots: name, argc, parameters, tag, flags 57 | 1, 0, 19, 2, 0x08 /* Private */, 58 | 59 | // slots: parameters 60 | QMetaType::Void, 61 | 62 | 0 // eod 63 | }; 64 | 65 | void TipsWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 66 | { 67 | if (_c == QMetaObject::InvokeMetaMethod) { 68 | auto *_t = static_cast(_o); 69 | Q_UNUSED(_t) 70 | switch (_id) { 71 | case 0: _t->onTimeout(); break; 72 | default: ; 73 | } 74 | } 75 | Q_UNUSED(_a); 76 | } 77 | 78 | QT_INIT_METAOBJECT const QMetaObject TipsWidget::staticMetaObject = { { 79 | &QLabel::staticMetaObject, 80 | qt_meta_stringdata_TipsWidget.data, 81 | qt_meta_data_TipsWidget, 82 | qt_static_metacall, 83 | nullptr, 84 | nullptr 85 | } }; 86 | 87 | 88 | const QMetaObject *TipsWidget::metaObject() const 89 | { 90 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 91 | } 92 | 93 | void *TipsWidget::qt_metacast(const char *_clname) 94 | { 95 | if (!_clname) return nullptr; 96 | if (!strcmp(_clname, qt_meta_stringdata_TipsWidget.stringdata0)) 97 | return static_cast(this); 98 | return QLabel::qt_metacast(_clname); 99 | } 100 | 101 | int TipsWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 102 | { 103 | _id = QLabel::qt_metacall(_c, _id, _a); 104 | if (_id < 0) 105 | return _id; 106 | if (_c == QMetaObject::InvokeMetaMethod) { 107 | if (_id < 1) 108 | qt_static_metacall(this, _c, _id, _a); 109 | _id -= 1; 110 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 111 | if (_id < 1) 112 | *reinterpret_cast(_a[0]) = -1; 113 | _id -= 1; 114 | } 115 | return _id; 116 | } 117 | QT_WARNING_POP 118 | QT_END_MOC_NAMESPACE 119 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_TitleWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'TitleWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/TitleWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'TitleWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_TitleWidget_t { 24 | QByteArrayData data[3]; 25 | char stringdata0[22]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_TitleWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_TitleWidget_t qt_meta_stringdata_TitleWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 11), // "TitleWidget" 35 | QT_MOC_LITERAL(1, 12, 8), // "sigClose" 36 | QT_MOC_LITERAL(2, 21, 0) // "" 37 | 38 | }, 39 | "TitleWidget\0sigClose\0" 40 | }; 41 | #undef QT_MOC_LITERAL 42 | 43 | static const uint qt_meta_data_TitleWidget[] = { 44 | 45 | // content: 46 | 8, // revision 47 | 0, // classname 48 | 0, 0, // classinfo 49 | 1, 14, // methods 50 | 0, 0, // properties 51 | 0, 0, // enums/sets 52 | 0, 0, // constructors 53 | 0, // flags 54 | 1, // signalCount 55 | 56 | // signals: name, argc, parameters, tag, flags 57 | 1, 0, 19, 2, 0x06 /* Public */, 58 | 59 | // signals: parameters 60 | QMetaType::Void, 61 | 62 | 0 // eod 63 | }; 64 | 65 | void TitleWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 66 | { 67 | if (_c == QMetaObject::InvokeMetaMethod) { 68 | auto *_t = static_cast(_o); 69 | Q_UNUSED(_t) 70 | switch (_id) { 71 | case 0: _t->sigClose(); break; 72 | default: ; 73 | } 74 | } else if (_c == QMetaObject::IndexOfMethod) { 75 | int *result = reinterpret_cast(_a[0]); 76 | { 77 | using _t = void (TitleWidget::*)(); 78 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TitleWidget::sigClose)) { 79 | *result = 0; 80 | return; 81 | } 82 | } 83 | } 84 | Q_UNUSED(_a); 85 | } 86 | 87 | QT_INIT_METAOBJECT const QMetaObject TitleWidget::staticMetaObject = { { 88 | &QFrame::staticMetaObject, 89 | qt_meta_stringdata_TitleWidget.data, 90 | qt_meta_data_TitleWidget, 91 | qt_static_metacall, 92 | nullptr, 93 | nullptr 94 | } }; 95 | 96 | 97 | const QMetaObject *TitleWidget::metaObject() const 98 | { 99 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 100 | } 101 | 102 | void *TitleWidget::qt_metacast(const char *_clname) 103 | { 104 | if (!_clname) return nullptr; 105 | if (!strcmp(_clname, qt_meta_stringdata_TitleWidget.stringdata0)) 106 | return static_cast(this); 107 | return QFrame::qt_metacast(_clname); 108 | } 109 | 110 | int TitleWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 111 | { 112 | _id = QFrame::qt_metacall(_c, _id, _a); 113 | if (_id < 0) 114 | return _id; 115 | if (_c == QMetaObject::InvokeMetaMethod) { 116 | if (_id < 1) 117 | qt_static_metacall(this, _c, _id, _a); 118 | _id -= 1; 119 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 120 | if (_id < 1) 121 | *reinterpret_cast(_a[0]) = -1; 122 | _id -= 1; 123 | } 124 | return _id; 125 | } 126 | 127 | // SIGNAL 0 128 | void TitleWidget::sigClose() 129 | { 130 | QMetaObject::activate(this, &staticMetaObject, 0, nullptr); 131 | } 132 | QT_WARNING_POP 133 | QT_END_MOC_NAMESPACE 134 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_TitleWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'TitleWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/TitleWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'TitleWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_TitleWidget_t { 24 | QByteArrayData data[3]; 25 | char stringdata0[22]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_TitleWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_TitleWidget_t qt_meta_stringdata_TitleWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 11), // "TitleWidget" 35 | QT_MOC_LITERAL(1, 12, 8), // "sigClose" 36 | QT_MOC_LITERAL(2, 21, 0) // "" 37 | 38 | }, 39 | "TitleWidget\0sigClose\0" 40 | }; 41 | #undef QT_MOC_LITERAL 42 | 43 | static const uint qt_meta_data_TitleWidget[] = { 44 | 45 | // content: 46 | 8, // revision 47 | 0, // classname 48 | 0, 0, // classinfo 49 | 1, 14, // methods 50 | 0, 0, // properties 51 | 0, 0, // enums/sets 52 | 0, 0, // constructors 53 | 0, // flags 54 | 1, // signalCount 55 | 56 | // signals: name, argc, parameters, tag, flags 57 | 1, 0, 19, 2, 0x06 /* Public */, 58 | 59 | // signals: parameters 60 | QMetaType::Void, 61 | 62 | 0 // eod 63 | }; 64 | 65 | void TitleWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 66 | { 67 | if (_c == QMetaObject::InvokeMetaMethod) { 68 | auto *_t = static_cast(_o); 69 | Q_UNUSED(_t) 70 | switch (_id) { 71 | case 0: _t->sigClose(); break; 72 | default: ; 73 | } 74 | } else if (_c == QMetaObject::IndexOfMethod) { 75 | int *result = reinterpret_cast(_a[0]); 76 | { 77 | using _t = void (TitleWidget::*)(); 78 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TitleWidget::sigClose)) { 79 | *result = 0; 80 | return; 81 | } 82 | } 83 | } 84 | Q_UNUSED(_a); 85 | } 86 | 87 | QT_INIT_METAOBJECT const QMetaObject TitleWidget::staticMetaObject = { { 88 | &QFrame::staticMetaObject, 89 | qt_meta_stringdata_TitleWidget.data, 90 | qt_meta_data_TitleWidget, 91 | qt_static_metacall, 92 | nullptr, 93 | nullptr 94 | } }; 95 | 96 | 97 | const QMetaObject *TitleWidget::metaObject() const 98 | { 99 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 100 | } 101 | 102 | void *TitleWidget::qt_metacast(const char *_clname) 103 | { 104 | if (!_clname) return nullptr; 105 | if (!strcmp(_clname, qt_meta_stringdata_TitleWidget.stringdata0)) 106 | return static_cast(this); 107 | return QFrame::qt_metacast(_clname); 108 | } 109 | 110 | int TitleWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 111 | { 112 | _id = QFrame::qt_metacall(_c, _id, _a); 113 | if (_id < 0) 114 | return _id; 115 | if (_c == QMetaObject::InvokeMetaMethod) { 116 | if (_id < 1) 117 | qt_static_metacall(this, _c, _id, _a); 118 | _id -= 1; 119 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 120 | if (_id < 1) 121 | *reinterpret_cast(_a[0]) = -1; 122 | _id -= 1; 123 | } 124 | return _id; 125 | } 126 | 127 | // SIGNAL 0 128 | void TitleWidget::sigClose() 129 | { 130 | QMetaObject::activate(this, &staticMetaObject, 0, nullptr); 131 | } 132 | QT_WARNING_POP 133 | QT_END_MOC_NAMESPACE 134 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_Amplifier.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Amplifier.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/Amplifier.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Amplifier.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_AmplifierWidget_t { 24 | QByteArrayData data[8]; 25 | char stringdata0[57]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_AmplifierWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_AmplifierWidget_t qt_meta_stringdata_AmplifierWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 15), // "AmplifierWidget" 35 | QT_MOC_LITERAL(1, 16, 13), // "onSizeChanged" 36 | QT_MOC_LITERAL(2, 30, 0), // "" 37 | QT_MOC_LITERAL(3, 31, 1), // "w" 38 | QT_MOC_LITERAL(4, 33, 1), // "h" 39 | QT_MOC_LITERAL(5, 35, 17), // "onPositionChanged" 40 | QT_MOC_LITERAL(6, 53, 1), // "x" 41 | QT_MOC_LITERAL(7, 55, 1) // "y" 42 | 43 | }, 44 | "AmplifierWidget\0onSizeChanged\0\0w\0h\0" 45 | "onPositionChanged\0x\0y" 46 | }; 47 | #undef QT_MOC_LITERAL 48 | 49 | static const uint qt_meta_data_AmplifierWidget[] = { 50 | 51 | // content: 52 | 8, // revision 53 | 0, // classname 54 | 0, 0, // classinfo 55 | 2, 14, // methods 56 | 0, 0, // properties 57 | 0, 0, // enums/sets 58 | 0, 0, // constructors 59 | 0, // flags 60 | 0, // signalCount 61 | 62 | // slots: name, argc, parameters, tag, flags 63 | 1, 2, 24, 2, 0x0a /* Public */, 64 | 5, 2, 29, 2, 0x0a /* Public */, 65 | 66 | // slots: parameters 67 | QMetaType::Void, QMetaType::Int, QMetaType::Int, 3, 4, 68 | QMetaType::Void, QMetaType::Int, QMetaType::Int, 6, 7, 69 | 70 | 0 // eod 71 | }; 72 | 73 | void AmplifierWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 74 | { 75 | if (_c == QMetaObject::InvokeMetaMethod) { 76 | auto *_t = static_cast(_o); 77 | Q_UNUSED(_t) 78 | switch (_id) { 79 | case 0: _t->onSizeChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; 80 | case 1: _t->onPositionChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; 81 | default: ; 82 | } 83 | } 84 | } 85 | 86 | QT_INIT_METAOBJECT const QMetaObject AmplifierWidget::staticMetaObject = { { 87 | &QWidget::staticMetaObject, 88 | qt_meta_stringdata_AmplifierWidget.data, 89 | qt_meta_data_AmplifierWidget, 90 | qt_static_metacall, 91 | nullptr, 92 | nullptr 93 | } }; 94 | 95 | 96 | const QMetaObject *AmplifierWidget::metaObject() const 97 | { 98 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 99 | } 100 | 101 | void *AmplifierWidget::qt_metacast(const char *_clname) 102 | { 103 | if (!_clname) return nullptr; 104 | if (!strcmp(_clname, qt_meta_stringdata_AmplifierWidget.stringdata0)) 105 | return static_cast(this); 106 | return QWidget::qt_metacast(_clname); 107 | } 108 | 109 | int AmplifierWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 110 | { 111 | _id = QWidget::qt_metacall(_c, _id, _a); 112 | if (_id < 0) 113 | return _id; 114 | if (_c == QMetaObject::InvokeMetaMethod) { 115 | if (_id < 2) 116 | qt_static_metacall(this, _c, _id, _a); 117 | _id -= 2; 118 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 119 | if (_id < 2) 120 | *reinterpret_cast(_a[0]) = -1; 121 | _id -= 2; 122 | } 123 | return _id; 124 | } 125 | QT_WARNING_POP 126 | QT_END_MOC_NAMESPACE 127 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_Amplifier.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Amplifier.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/Amplifier.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Amplifier.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_AmplifierWidget_t { 24 | QByteArrayData data[8]; 25 | char stringdata0[57]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_AmplifierWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_AmplifierWidget_t qt_meta_stringdata_AmplifierWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 15), // "AmplifierWidget" 35 | QT_MOC_LITERAL(1, 16, 13), // "onSizeChanged" 36 | QT_MOC_LITERAL(2, 30, 0), // "" 37 | QT_MOC_LITERAL(3, 31, 1), // "w" 38 | QT_MOC_LITERAL(4, 33, 1), // "h" 39 | QT_MOC_LITERAL(5, 35, 17), // "onPositionChanged" 40 | QT_MOC_LITERAL(6, 53, 1), // "x" 41 | QT_MOC_LITERAL(7, 55, 1) // "y" 42 | 43 | }, 44 | "AmplifierWidget\0onSizeChanged\0\0w\0h\0" 45 | "onPositionChanged\0x\0y" 46 | }; 47 | #undef QT_MOC_LITERAL 48 | 49 | static const uint qt_meta_data_AmplifierWidget[] = { 50 | 51 | // content: 52 | 8, // revision 53 | 0, // classname 54 | 0, 0, // classinfo 55 | 2, 14, // methods 56 | 0, 0, // properties 57 | 0, 0, // enums/sets 58 | 0, 0, // constructors 59 | 0, // flags 60 | 0, // signalCount 61 | 62 | // slots: name, argc, parameters, tag, flags 63 | 1, 2, 24, 2, 0x0a /* Public */, 64 | 5, 2, 29, 2, 0x0a /* Public */, 65 | 66 | // slots: parameters 67 | QMetaType::Void, QMetaType::Int, QMetaType::Int, 3, 4, 68 | QMetaType::Void, QMetaType::Int, QMetaType::Int, 6, 7, 69 | 70 | 0 // eod 71 | }; 72 | 73 | void AmplifierWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 74 | { 75 | if (_c == QMetaObject::InvokeMetaMethod) { 76 | auto *_t = static_cast(_o); 77 | Q_UNUSED(_t) 78 | switch (_id) { 79 | case 0: _t->onSizeChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; 80 | case 1: _t->onPositionChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; 81 | default: ; 82 | } 83 | } 84 | } 85 | 86 | QT_INIT_METAOBJECT const QMetaObject AmplifierWidget::staticMetaObject = { { 87 | &QWidget::staticMetaObject, 88 | qt_meta_stringdata_AmplifierWidget.data, 89 | qt_meta_data_AmplifierWidget, 90 | qt_static_metacall, 91 | nullptr, 92 | nullptr 93 | } }; 94 | 95 | 96 | const QMetaObject *AmplifierWidget::metaObject() const 97 | { 98 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 99 | } 100 | 101 | void *AmplifierWidget::qt_metacast(const char *_clname) 102 | { 103 | if (!_clname) return nullptr; 104 | if (!strcmp(_clname, qt_meta_stringdata_AmplifierWidget.stringdata0)) 105 | return static_cast(this); 106 | return QWidget::qt_metacast(_clname); 107 | } 108 | 109 | int AmplifierWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 110 | { 111 | _id = QWidget::qt_metacall(_c, _id, _a); 112 | if (_id < 0) 113 | return _id; 114 | if (_c == QMetaObject::InvokeMetaMethod) { 115 | if (_id < 2) 116 | qt_static_metacall(this, _c, _id, _a); 117 | _id -= 2; 118 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 119 | if (_id < 2) 120 | *reinterpret_cast(_a[0]) = -1; 121 | _id -= 2; 122 | } 123 | return _id; 124 | } 125 | QT_WARNING_POP 126 | QT_END_MOC_NAMESPACE 127 | -------------------------------------------------------------------------------- /src/model/SettingModel.cpp: -------------------------------------------------------------------------------- 1 | #include "SettingModel.h" 2 | #include 3 | #include "common/Util.h" 4 | 5 | static const QString REG_RUN = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"; 6 | static const QString SCREENSHOT_GLOBAL_KEY = "SCREENSHOT_GLOBAL_KEY"; 7 | static const QString PIN_GLOBAL_KEY = "PIN_GLOBAL_KEY"; 8 | static const QString UPLOAD_IMAGE_URL_KEY = "UPLOAD_IMAGE_URL_KEY"; 9 | static const QString PIN_NO_BORDER = "PIN_NO_BORDER"; 10 | static const QString RGB_COLOR = "RGB_COLOR"; 11 | static const QString AUTO_SAVE = "AUTO_SAVE"; 12 | static const QString AUTO_SAVE_PATH = "AUTO_SAVE_PATH"; 13 | static const QString BACKGROUND_COLOR_ALPHA = "BACKGROUND_COLOR_ALPHA"; 14 | static const QString BACKGROUND_COLOR_CHECKED = "BACKGROUND_COLOR_CHECKED"; 15 | 16 | static bool defaultAutoStart = false; 17 | static QString defaultScreenshotGlobalKey = "F5"; 18 | static QString defaultPinKey = "F6"; 19 | static QString defaultUploadImageUrl = ""; 20 | static int defaultBackgroundColorAlpha = 160; 21 | 22 | SettingModel::SettingModel(QObject *parent) 23 | : QObject(parent), 24 | settings_(Util::getConfigPath(), QSettings::IniFormat) 25 | { 26 | if (settings_.allKeys().isEmpty()) { 27 | revertDefault(); 28 | } 29 | } 30 | 31 | SettingModel::~SettingModel() 32 | { 33 | } 34 | 35 | void SettingModel::revertDefault() 36 | { 37 | setAutoStart(false); 38 | setScreenshotGlobalKey(defaultScreenshotGlobalKey); 39 | setPinGlobalKey(defaultPinKey); 40 | settings_.sync(); 41 | } 42 | 43 | void SettingModel::setAutoStart(bool isAutoStart) 44 | { 45 | QString appName = QApplication::applicationName(); 46 | QSettings nativeSettings(REG_RUN, QSettings::NativeFormat); 47 | if (isAutoStart) { 48 | QString appPath = QApplication::applicationFilePath(); 49 | nativeSettings.setValue(appName, appPath.replace("/", "\\")); 50 | } else { 51 | nativeSettings.remove(appName); 52 | } 53 | } 54 | 55 | bool SettingModel::autoStart() const 56 | { 57 | QString appName = QApplication::applicationName(); 58 | QSettings nativeSettings(REG_RUN, QSettings::NativeFormat); 59 | QString path = nativeSettings.value(appName).toString(); 60 | return (QApplication::applicationFilePath().replace("/", "\\") == path); 61 | } 62 | 63 | void SettingModel::setScreenshotGlobalKey(const QString &key) 64 | { 65 | settings_.setValue(SCREENSHOT_GLOBAL_KEY, key); 66 | } 67 | 68 | QString SettingModel::screenhotGlobalKey() const 69 | { 70 | return settings_.value(SCREENSHOT_GLOBAL_KEY, "F5").toString(); 71 | } 72 | 73 | void SettingModel::setPinGlobalKey(const QString &key) 74 | { 75 | settings_.setValue(PIN_GLOBAL_KEY, key); 76 | } 77 | 78 | QString SettingModel::pinGlobalKey() const 79 | { 80 | return settings_.value(PIN_GLOBAL_KEY, "F6").toString(); 81 | } 82 | 83 | void SettingModel::setUploadImageUrl(const QString &url) 84 | { 85 | settings_.setValue(UPLOAD_IMAGE_URL_KEY, url); 86 | } 87 | 88 | QString SettingModel::uploadImageUrl() const 89 | { 90 | return settings_.value(UPLOAD_IMAGE_URL_KEY, defaultUploadImageUrl).toString(); 91 | } 92 | 93 | void SettingModel::setPinNoBorder(bool enable) 94 | { 95 | settings_.setValue(PIN_NO_BORDER, enable); 96 | } 97 | 98 | bool SettingModel::pinNoBorder() const 99 | { 100 | return settings_.value(PIN_NO_BORDER, false).toBool(); 101 | } 102 | 103 | void SettingModel::setRgbColor(bool enable) 104 | { 105 | settings_.setValue(RGB_COLOR, enable); 106 | } 107 | 108 | bool SettingModel::rgbColor() const 109 | { 110 | return settings_.value(RGB_COLOR, true).toBool(); 111 | } 112 | 113 | void SettingModel::getAutoSaveImage(bool &autoSave, QString &path) const 114 | { 115 | QDir dir = QDir::homePath(); 116 | if (!dir.cd("Pictures")) { 117 | dir.mkdir("ntscreenshot"); 118 | dir.cd("ntscreenshot"); 119 | } 120 | autoSave = settings_.value(AUTO_SAVE, false).toBool(); 121 | path = settings_.value(AUTO_SAVE_PATH, dir.absolutePath()).toString(); 122 | } 123 | 124 | void SettingModel::setAutoSaveImage(bool autoSave, const QString &path) 125 | { 126 | settings_.setValue(AUTO_SAVE, autoSave); 127 | settings_.setValue(AUTO_SAVE_PATH, path); 128 | } 129 | 130 | void SettingModel::setBackgroundColor(bool checked, int alpha) 131 | { 132 | settings_.setValue(BACKGROUND_COLOR_CHECKED, checked); 133 | settings_.setValue(BACKGROUND_COLOR_ALPHA, alpha); 134 | } 135 | 136 | int SettingModel::backgroundColorAlpha() const 137 | { 138 | return settings_.value(BACKGROUND_COLOR_ALPHA, defaultBackgroundColorAlpha).toInt(); 139 | } 140 | 141 | bool SettingModel::backgroundColorChecked() const 142 | { 143 | return settings_.value(BACKGROUND_COLOR_CHECKED, false).toBool(); 144 | } 145 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_MainWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'MainWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/MainWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'MainWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_MainWidget_t { 24 | QByteArrayData data[9]; 25 | char stringdata0[124]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_MainWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_MainWidget_t qt_meta_stringdata_MainWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 10), // "MainWidget" 35 | QT_MOC_LITERAL(1, 11, 10), // "slotReload" 36 | QT_MOC_LITERAL(2, 22, 0), // "" 37 | QT_MOC_LITERAL(3, 23, 17), // "slotTrayActivated" 38 | QT_MOC_LITERAL(4, 41, 33), // "QSystemTrayIcon::ActivationRe..." 39 | QT_MOC_LITERAL(5, 75, 6), // "reason" 40 | QT_MOC_LITERAL(6, 82, 16), // "slotMainShortcut" 41 | QT_MOC_LITERAL(7, 99, 15), // "slotPinShortcut" 42 | QT_MOC_LITERAL(8, 115, 8) // "slotExit" 43 | 44 | }, 45 | "MainWidget\0slotReload\0\0slotTrayActivated\0" 46 | "QSystemTrayIcon::ActivationReason\0" 47 | "reason\0slotMainShortcut\0slotPinShortcut\0" 48 | "slotExit" 49 | }; 50 | #undef QT_MOC_LITERAL 51 | 52 | static const uint qt_meta_data_MainWidget[] = { 53 | 54 | // content: 55 | 8, // revision 56 | 0, // classname 57 | 0, 0, // classinfo 58 | 5, 14, // methods 59 | 0, 0, // properties 60 | 0, 0, // enums/sets 61 | 0, 0, // constructors 62 | 0, // flags 63 | 0, // signalCount 64 | 65 | // slots: name, argc, parameters, tag, flags 66 | 1, 0, 39, 2, 0x08 /* Private */, 67 | 3, 1, 40, 2, 0x08 /* Private */, 68 | 6, 0, 43, 2, 0x08 /* Private */, 69 | 7, 0, 44, 2, 0x08 /* Private */, 70 | 8, 0, 45, 2, 0x08 /* Private */, 71 | 72 | // slots: parameters 73 | QMetaType::Void, 74 | QMetaType::Void, 0x80000000 | 4, 5, 75 | QMetaType::Void, 76 | QMetaType::Void, 77 | QMetaType::Void, 78 | 79 | 0 // eod 80 | }; 81 | 82 | void MainWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 83 | { 84 | if (_c == QMetaObject::InvokeMetaMethod) { 85 | auto *_t = static_cast(_o); 86 | Q_UNUSED(_t) 87 | switch (_id) { 88 | case 0: _t->slotReload(); break; 89 | case 1: _t->slotTrayActivated((*reinterpret_cast< QSystemTrayIcon::ActivationReason(*)>(_a[1]))); break; 90 | case 2: _t->slotMainShortcut(); break; 91 | case 3: _t->slotPinShortcut(); break; 92 | case 4: _t->slotExit(); break; 93 | default: ; 94 | } 95 | } 96 | } 97 | 98 | QT_INIT_METAOBJECT const QMetaObject MainWidget::staticMetaObject = { { 99 | &QFrame::staticMetaObject, 100 | qt_meta_stringdata_MainWidget.data, 101 | qt_meta_data_MainWidget, 102 | qt_static_metacall, 103 | nullptr, 104 | nullptr 105 | } }; 106 | 107 | 108 | const QMetaObject *MainWidget::metaObject() const 109 | { 110 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 111 | } 112 | 113 | void *MainWidget::qt_metacast(const char *_clname) 114 | { 115 | if (!_clname) return nullptr; 116 | if (!strcmp(_clname, qt_meta_stringdata_MainWidget.stringdata0)) 117 | return static_cast(this); 118 | return QFrame::qt_metacast(_clname); 119 | } 120 | 121 | int MainWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 122 | { 123 | _id = QFrame::qt_metacall(_c, _id, _a); 124 | if (_id < 0) 125 | return _id; 126 | if (_c == QMetaObject::InvokeMetaMethod) { 127 | if (_id < 5) 128 | qt_static_metacall(this, _c, _id, _a); 129 | _id -= 5; 130 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 131 | if (_id < 5) 132 | *reinterpret_cast(_a[0]) = -1; 133 | _id -= 5; 134 | } 135 | return _id; 136 | } 137 | QT_WARNING_POP 138 | QT_END_MOC_NAMESPACE 139 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_MainWidget.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'MainWidget.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/MainWidget.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'MainWidget.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_MainWidget_t { 24 | QByteArrayData data[9]; 25 | char stringdata0[124]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_MainWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_MainWidget_t qt_meta_stringdata_MainWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 10), // "MainWidget" 35 | QT_MOC_LITERAL(1, 11, 10), // "slotReload" 36 | QT_MOC_LITERAL(2, 22, 0), // "" 37 | QT_MOC_LITERAL(3, 23, 17), // "slotTrayActivated" 38 | QT_MOC_LITERAL(4, 41, 33), // "QSystemTrayIcon::ActivationRe..." 39 | QT_MOC_LITERAL(5, 75, 6), // "reason" 40 | QT_MOC_LITERAL(6, 82, 16), // "slotMainShortcut" 41 | QT_MOC_LITERAL(7, 99, 15), // "slotPinShortcut" 42 | QT_MOC_LITERAL(8, 115, 8) // "slotExit" 43 | 44 | }, 45 | "MainWidget\0slotReload\0\0slotTrayActivated\0" 46 | "QSystemTrayIcon::ActivationReason\0" 47 | "reason\0slotMainShortcut\0slotPinShortcut\0" 48 | "slotExit" 49 | }; 50 | #undef QT_MOC_LITERAL 51 | 52 | static const uint qt_meta_data_MainWidget[] = { 53 | 54 | // content: 55 | 8, // revision 56 | 0, // classname 57 | 0, 0, // classinfo 58 | 5, 14, // methods 59 | 0, 0, // properties 60 | 0, 0, // enums/sets 61 | 0, 0, // constructors 62 | 0, // flags 63 | 0, // signalCount 64 | 65 | // slots: name, argc, parameters, tag, flags 66 | 1, 0, 39, 2, 0x08 /* Private */, 67 | 3, 1, 40, 2, 0x08 /* Private */, 68 | 6, 0, 43, 2, 0x08 /* Private */, 69 | 7, 0, 44, 2, 0x08 /* Private */, 70 | 8, 0, 45, 2, 0x08 /* Private */, 71 | 72 | // slots: parameters 73 | QMetaType::Void, 74 | QMetaType::Void, 0x80000000 | 4, 5, 75 | QMetaType::Void, 76 | QMetaType::Void, 77 | QMetaType::Void, 78 | 79 | 0 // eod 80 | }; 81 | 82 | void MainWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 83 | { 84 | if (_c == QMetaObject::InvokeMetaMethod) { 85 | auto *_t = static_cast(_o); 86 | Q_UNUSED(_t) 87 | switch (_id) { 88 | case 0: _t->slotReload(); break; 89 | case 1: _t->slotTrayActivated((*reinterpret_cast< QSystemTrayIcon::ActivationReason(*)>(_a[1]))); break; 90 | case 2: _t->slotMainShortcut(); break; 91 | case 3: _t->slotPinShortcut(); break; 92 | case 4: _t->slotExit(); break; 93 | default: ; 94 | } 95 | } 96 | } 97 | 98 | QT_INIT_METAOBJECT const QMetaObject MainWidget::staticMetaObject = { { 99 | &QFrame::staticMetaObject, 100 | qt_meta_stringdata_MainWidget.data, 101 | qt_meta_data_MainWidget, 102 | qt_static_metacall, 103 | nullptr, 104 | nullptr 105 | } }; 106 | 107 | 108 | const QMetaObject *MainWidget::metaObject() const 109 | { 110 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 111 | } 112 | 113 | void *MainWidget::qt_metacast(const char *_clname) 114 | { 115 | if (!_clname) return nullptr; 116 | if (!strcmp(_clname, qt_meta_stringdata_MainWidget.stringdata0)) 117 | return static_cast(this); 118 | return QFrame::qt_metacast(_clname); 119 | } 120 | 121 | int MainWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 122 | { 123 | _id = QFrame::qt_metacall(_c, _id, _a); 124 | if (_id < 0) 125 | return _id; 126 | if (_c == QMetaObject::InvokeMetaMethod) { 127 | if (_id < 5) 128 | qt_static_metacall(this, _c, _id, _a); 129 | _id -= 5; 130 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 131 | if (_id < 5) 132 | *reinterpret_cast(_a[0]) = -1; 133 | _id -= 5; 134 | } 135 | return _id; 136 | } 137 | QT_WARNING_POP 138 | QT_END_MOC_NAMESPACE 139 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_Stickers.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Stickers.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/Stickers.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Stickers.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_StickerWidget_t { 24 | QByteArrayData data[11]; 25 | char stringdata0[91]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_StickerWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_StickerWidget_t qt_meta_stringdata_StickerWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 13), // "StickerWidget" 35 | QT_MOC_LITERAL(1, 14, 6), // "onDraw" 36 | QT_MOC_LITERAL(2, 21, 0), // "" 37 | QT_MOC_LITERAL(3, 22, 6), // "onUndo" 38 | QT_MOC_LITERAL(4, 29, 6), // "onCopy" 39 | QT_MOC_LITERAL(5, 36, 6), // "onSave" 40 | QT_MOC_LITERAL(6, 43, 11), // "onUploadImg" 41 | QT_MOC_LITERAL(7, 55, 7), // "onClose" 42 | QT_MOC_LITERAL(8, 63, 10), // "onCloseAll" 43 | QT_MOC_LITERAL(9, 74, 6), // "onHide" 44 | QT_MOC_LITERAL(10, 81, 9) // "onHideAll" 45 | 46 | }, 47 | "StickerWidget\0onDraw\0\0onUndo\0onCopy\0" 48 | "onSave\0onUploadImg\0onClose\0onCloseAll\0" 49 | "onHide\0onHideAll" 50 | }; 51 | #undef QT_MOC_LITERAL 52 | 53 | static const uint qt_meta_data_StickerWidget[] = { 54 | 55 | // content: 56 | 8, // revision 57 | 0, // classname 58 | 0, 0, // classinfo 59 | 9, 14, // methods 60 | 0, 0, // properties 61 | 0, 0, // enums/sets 62 | 0, 0, // constructors 63 | 0, // flags 64 | 0, // signalCount 65 | 66 | // slots: name, argc, parameters, tag, flags 67 | 1, 0, 59, 2, 0x08 /* Private */, 68 | 3, 0, 60, 2, 0x08 /* Private */, 69 | 4, 0, 61, 2, 0x08 /* Private */, 70 | 5, 0, 62, 2, 0x08 /* Private */, 71 | 6, 0, 63, 2, 0x08 /* Private */, 72 | 7, 0, 64, 2, 0x08 /* Private */, 73 | 8, 0, 65, 2, 0x08 /* Private */, 74 | 9, 0, 66, 2, 0x08 /* Private */, 75 | 10, 0, 67, 2, 0x08 /* Private */, 76 | 77 | // slots: parameters 78 | QMetaType::Void, 79 | QMetaType::Void, 80 | QMetaType::Void, 81 | QMetaType::Void, 82 | QMetaType::Void, 83 | QMetaType::Void, 84 | QMetaType::Void, 85 | QMetaType::Void, 86 | QMetaType::Void, 87 | 88 | 0 // eod 89 | }; 90 | 91 | void StickerWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 92 | { 93 | if (_c == QMetaObject::InvokeMetaMethod) { 94 | auto *_t = static_cast(_o); 95 | Q_UNUSED(_t) 96 | switch (_id) { 97 | case 0: _t->onDraw(); break; 98 | case 1: _t->onUndo(); break; 99 | case 2: _t->onCopy(); break; 100 | case 3: _t->onSave(); break; 101 | case 4: _t->onUploadImg(); break; 102 | case 5: _t->onClose(); break; 103 | case 6: _t->onCloseAll(); break; 104 | case 7: _t->onHide(); break; 105 | case 8: _t->onHideAll(); break; 106 | default: ; 107 | } 108 | } 109 | Q_UNUSED(_a); 110 | } 111 | 112 | QT_INIT_METAOBJECT const QMetaObject StickerWidget::staticMetaObject = { { 113 | &QWidget::staticMetaObject, 114 | qt_meta_stringdata_StickerWidget.data, 115 | qt_meta_data_StickerWidget, 116 | qt_static_metacall, 117 | nullptr, 118 | nullptr 119 | } }; 120 | 121 | 122 | const QMetaObject *StickerWidget::metaObject() const 123 | { 124 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 125 | } 126 | 127 | void *StickerWidget::qt_metacast(const char *_clname) 128 | { 129 | if (!_clname) return nullptr; 130 | if (!strcmp(_clname, qt_meta_stringdata_StickerWidget.stringdata0)) 131 | return static_cast(this); 132 | return QWidget::qt_metacast(_clname); 133 | } 134 | 135 | int StickerWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 136 | { 137 | _id = QWidget::qt_metacall(_c, _id, _a); 138 | if (_id < 0) 139 | return _id; 140 | if (_c == QMetaObject::InvokeMetaMethod) { 141 | if (_id < 9) 142 | qt_static_metacall(this, _c, _id, _a); 143 | _id -= 9; 144 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 145 | if (_id < 9) 146 | *reinterpret_cast(_a[0]) = -1; 147 | _id -= 9; 148 | } 149 | return _id; 150 | } 151 | QT_WARNING_POP 152 | QT_END_MOC_NAMESPACE 153 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_Stickers.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'Stickers.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/Stickers.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'Stickers.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_StickerWidget_t { 24 | QByteArrayData data[11]; 25 | char stringdata0[91]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_StickerWidget_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_StickerWidget_t qt_meta_stringdata_StickerWidget = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 13), // "StickerWidget" 35 | QT_MOC_LITERAL(1, 14, 6), // "onDraw" 36 | QT_MOC_LITERAL(2, 21, 0), // "" 37 | QT_MOC_LITERAL(3, 22, 6), // "onUndo" 38 | QT_MOC_LITERAL(4, 29, 6), // "onCopy" 39 | QT_MOC_LITERAL(5, 36, 6), // "onSave" 40 | QT_MOC_LITERAL(6, 43, 11), // "onUploadImg" 41 | QT_MOC_LITERAL(7, 55, 7), // "onClose" 42 | QT_MOC_LITERAL(8, 63, 10), // "onCloseAll" 43 | QT_MOC_LITERAL(9, 74, 6), // "onHide" 44 | QT_MOC_LITERAL(10, 81, 9) // "onHideAll" 45 | 46 | }, 47 | "StickerWidget\0onDraw\0\0onUndo\0onCopy\0" 48 | "onSave\0onUploadImg\0onClose\0onCloseAll\0" 49 | "onHide\0onHideAll" 50 | }; 51 | #undef QT_MOC_LITERAL 52 | 53 | static const uint qt_meta_data_StickerWidget[] = { 54 | 55 | // content: 56 | 8, // revision 57 | 0, // classname 58 | 0, 0, // classinfo 59 | 9, 14, // methods 60 | 0, 0, // properties 61 | 0, 0, // enums/sets 62 | 0, 0, // constructors 63 | 0, // flags 64 | 0, // signalCount 65 | 66 | // slots: name, argc, parameters, tag, flags 67 | 1, 0, 59, 2, 0x08 /* Private */, 68 | 3, 0, 60, 2, 0x08 /* Private */, 69 | 4, 0, 61, 2, 0x08 /* Private */, 70 | 5, 0, 62, 2, 0x08 /* Private */, 71 | 6, 0, 63, 2, 0x08 /* Private */, 72 | 7, 0, 64, 2, 0x08 /* Private */, 73 | 8, 0, 65, 2, 0x08 /* Private */, 74 | 9, 0, 66, 2, 0x08 /* Private */, 75 | 10, 0, 67, 2, 0x08 /* Private */, 76 | 77 | // slots: parameters 78 | QMetaType::Void, 79 | QMetaType::Void, 80 | QMetaType::Void, 81 | QMetaType::Void, 82 | QMetaType::Void, 83 | QMetaType::Void, 84 | QMetaType::Void, 85 | QMetaType::Void, 86 | QMetaType::Void, 87 | 88 | 0 // eod 89 | }; 90 | 91 | void StickerWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 92 | { 93 | if (_c == QMetaObject::InvokeMetaMethod) { 94 | auto *_t = static_cast(_o); 95 | Q_UNUSED(_t) 96 | switch (_id) { 97 | case 0: _t->onDraw(); break; 98 | case 1: _t->onUndo(); break; 99 | case 2: _t->onCopy(); break; 100 | case 3: _t->onSave(); break; 101 | case 4: _t->onUploadImg(); break; 102 | case 5: _t->onClose(); break; 103 | case 6: _t->onCloseAll(); break; 104 | case 7: _t->onHide(); break; 105 | case 8: _t->onHideAll(); break; 106 | default: ; 107 | } 108 | } 109 | Q_UNUSED(_a); 110 | } 111 | 112 | QT_INIT_METAOBJECT const QMetaObject StickerWidget::staticMetaObject = { { 113 | &QWidget::staticMetaObject, 114 | qt_meta_stringdata_StickerWidget.data, 115 | qt_meta_data_StickerWidget, 116 | qt_static_metacall, 117 | nullptr, 118 | nullptr 119 | } }; 120 | 121 | 122 | const QMetaObject *StickerWidget::metaObject() const 123 | { 124 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 125 | } 126 | 127 | void *StickerWidget::qt_metacast(const char *_clname) 128 | { 129 | if (!_clname) return nullptr; 130 | if (!strcmp(_clname, qt_meta_stringdata_StickerWidget.stringdata0)) 131 | return static_cast(this); 132 | return QWidget::qt_metacast(_clname); 133 | } 134 | 135 | int StickerWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 136 | { 137 | _id = QWidget::qt_metacall(_c, _id, _a); 138 | if (_id < 0) 139 | return _id; 140 | if (_c == QMetaObject::InvokeMetaMethod) { 141 | if (_id < 9) 142 | qt_static_metacall(this, _c, _id, _a); 143 | _id -= 9; 144 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 145 | if (_id < 9) 146 | *reinterpret_cast(_a[0]) = -1; 147 | _id -= 9; 148 | } 149 | return _id; 150 | } 151 | QT_WARNING_POP 152 | QT_END_MOC_NAMESPACE 153 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_SystemTray.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'SystemTray.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/SystemTray.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'SystemTray.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_SystemTray_t { 24 | QByteArrayData data[9]; 25 | char stringdata0[74]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_SystemTray_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_SystemTray_t qt_meta_stringdata_SystemTray = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 10), // "SystemTray" 35 | QT_MOC_LITERAL(1, 11, 9), // "sigReload" 36 | QT_MOC_LITERAL(2, 21, 0), // "" 37 | QT_MOC_LITERAL(3, 22, 12), // "onScreenshot" 38 | QT_MOC_LITERAL(4, 35, 5), // "onPin" 39 | QT_MOC_LITERAL(5, 41, 9), // "onSetting" 40 | QT_MOC_LITERAL(6, 51, 6), // "onExit" 41 | QT_MOC_LITERAL(7, 58, 8), // "onUpdate" 42 | QT_MOC_LITERAL(8, 67, 6) // "onTest" 43 | 44 | }, 45 | "SystemTray\0sigReload\0\0onScreenshot\0" 46 | "onPin\0onSetting\0onExit\0onUpdate\0onTest" 47 | }; 48 | #undef QT_MOC_LITERAL 49 | 50 | static const uint qt_meta_data_SystemTray[] = { 51 | 52 | // content: 53 | 8, // revision 54 | 0, // classname 55 | 0, 0, // classinfo 56 | 7, 14, // methods 57 | 0, 0, // properties 58 | 0, 0, // enums/sets 59 | 0, 0, // constructors 60 | 0, // flags 61 | 1, // signalCount 62 | 63 | // signals: name, argc, parameters, tag, flags 64 | 1, 0, 49, 2, 0x06 /* Public */, 65 | 66 | // slots: name, argc, parameters, tag, flags 67 | 3, 0, 50, 2, 0x08 /* Private */, 68 | 4, 0, 51, 2, 0x08 /* Private */, 69 | 5, 0, 52, 2, 0x08 /* Private */, 70 | 6, 0, 53, 2, 0x08 /* Private */, 71 | 7, 0, 54, 2, 0x08 /* Private */, 72 | 8, 0, 55, 2, 0x08 /* Private */, 73 | 74 | // signals: parameters 75 | QMetaType::Void, 76 | 77 | // slots: parameters 78 | QMetaType::Void, 79 | QMetaType::Void, 80 | QMetaType::Void, 81 | QMetaType::Void, 82 | QMetaType::Void, 83 | QMetaType::Void, 84 | 85 | 0 // eod 86 | }; 87 | 88 | void SystemTray::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | if (_c == QMetaObject::InvokeMetaMethod) { 91 | auto *_t = static_cast(_o); 92 | Q_UNUSED(_t) 93 | switch (_id) { 94 | case 0: _t->sigReload(); break; 95 | case 1: _t->onScreenshot(); break; 96 | case 2: _t->onPin(); break; 97 | case 3: _t->onSetting(); break; 98 | case 4: _t->onExit(); break; 99 | case 5: _t->onUpdate(); break; 100 | case 6: _t->onTest(); break; 101 | default: ; 102 | } 103 | } else if (_c == QMetaObject::IndexOfMethod) { 104 | int *result = reinterpret_cast(_a[0]); 105 | { 106 | using _t = void (SystemTray::*)(); 107 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SystemTray::sigReload)) { 108 | *result = 0; 109 | return; 110 | } 111 | } 112 | } 113 | Q_UNUSED(_a); 114 | } 115 | 116 | QT_INIT_METAOBJECT const QMetaObject SystemTray::staticMetaObject = { { 117 | &QSystemTrayIcon::staticMetaObject, 118 | qt_meta_stringdata_SystemTray.data, 119 | qt_meta_data_SystemTray, 120 | qt_static_metacall, 121 | nullptr, 122 | nullptr 123 | } }; 124 | 125 | 126 | const QMetaObject *SystemTray::metaObject() const 127 | { 128 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 129 | } 130 | 131 | void *SystemTray::qt_metacast(const char *_clname) 132 | { 133 | if (!_clname) return nullptr; 134 | if (!strcmp(_clname, qt_meta_stringdata_SystemTray.stringdata0)) 135 | return static_cast(this); 136 | return QSystemTrayIcon::qt_metacast(_clname); 137 | } 138 | 139 | int SystemTray::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 140 | { 141 | _id = QSystemTrayIcon::qt_metacall(_c, _id, _a); 142 | if (_id < 0) 143 | return _id; 144 | if (_c == QMetaObject::InvokeMetaMethod) { 145 | if (_id < 7) 146 | qt_static_metacall(this, _c, _id, _a); 147 | _id -= 7; 148 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 149 | if (_id < 7) 150 | *reinterpret_cast(_a[0]) = -1; 151 | _id -= 7; 152 | } 153 | return _id; 154 | } 155 | 156 | // SIGNAL 0 157 | void SystemTray::sigReload() 158 | { 159 | QMetaObject::activate(this, &staticMetaObject, 0, nullptr); 160 | } 161 | QT_WARNING_POP 162 | QT_END_MOC_NAMESPACE 163 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_SystemTray.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'SystemTray.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/SystemTray.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'SystemTray.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_SystemTray_t { 24 | QByteArrayData data[9]; 25 | char stringdata0[74]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_SystemTray_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_SystemTray_t qt_meta_stringdata_SystemTray = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 10), // "SystemTray" 35 | QT_MOC_LITERAL(1, 11, 9), // "sigReload" 36 | QT_MOC_LITERAL(2, 21, 0), // "" 37 | QT_MOC_LITERAL(3, 22, 12), // "onScreenshot" 38 | QT_MOC_LITERAL(4, 35, 5), // "onPin" 39 | QT_MOC_LITERAL(5, 41, 9), // "onSetting" 40 | QT_MOC_LITERAL(6, 51, 6), // "onExit" 41 | QT_MOC_LITERAL(7, 58, 8), // "onUpdate" 42 | QT_MOC_LITERAL(8, 67, 6) // "onTest" 43 | 44 | }, 45 | "SystemTray\0sigReload\0\0onScreenshot\0" 46 | "onPin\0onSetting\0onExit\0onUpdate\0onTest" 47 | }; 48 | #undef QT_MOC_LITERAL 49 | 50 | static const uint qt_meta_data_SystemTray[] = { 51 | 52 | // content: 53 | 8, // revision 54 | 0, // classname 55 | 0, 0, // classinfo 56 | 7, 14, // methods 57 | 0, 0, // properties 58 | 0, 0, // enums/sets 59 | 0, 0, // constructors 60 | 0, // flags 61 | 1, // signalCount 62 | 63 | // signals: name, argc, parameters, tag, flags 64 | 1, 0, 49, 2, 0x06 /* Public */, 65 | 66 | // slots: name, argc, parameters, tag, flags 67 | 3, 0, 50, 2, 0x08 /* Private */, 68 | 4, 0, 51, 2, 0x08 /* Private */, 69 | 5, 0, 52, 2, 0x08 /* Private */, 70 | 6, 0, 53, 2, 0x08 /* Private */, 71 | 7, 0, 54, 2, 0x08 /* Private */, 72 | 8, 0, 55, 2, 0x08 /* Private */, 73 | 74 | // signals: parameters 75 | QMetaType::Void, 76 | 77 | // slots: parameters 78 | QMetaType::Void, 79 | QMetaType::Void, 80 | QMetaType::Void, 81 | QMetaType::Void, 82 | QMetaType::Void, 83 | QMetaType::Void, 84 | 85 | 0 // eod 86 | }; 87 | 88 | void SystemTray::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 89 | { 90 | if (_c == QMetaObject::InvokeMetaMethod) { 91 | auto *_t = static_cast(_o); 92 | Q_UNUSED(_t) 93 | switch (_id) { 94 | case 0: _t->sigReload(); break; 95 | case 1: _t->onScreenshot(); break; 96 | case 2: _t->onPin(); break; 97 | case 3: _t->onSetting(); break; 98 | case 4: _t->onExit(); break; 99 | case 5: _t->onUpdate(); break; 100 | case 6: _t->onTest(); break; 101 | default: ; 102 | } 103 | } else if (_c == QMetaObject::IndexOfMethod) { 104 | int *result = reinterpret_cast(_a[0]); 105 | { 106 | using _t = void (SystemTray::*)(); 107 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SystemTray::sigReload)) { 108 | *result = 0; 109 | return; 110 | } 111 | } 112 | } 113 | Q_UNUSED(_a); 114 | } 115 | 116 | QT_INIT_METAOBJECT const QMetaObject SystemTray::staticMetaObject = { { 117 | &QSystemTrayIcon::staticMetaObject, 118 | qt_meta_stringdata_SystemTray.data, 119 | qt_meta_data_SystemTray, 120 | qt_static_metacall, 121 | nullptr, 122 | nullptr 123 | } }; 124 | 125 | 126 | const QMetaObject *SystemTray::metaObject() const 127 | { 128 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 129 | } 130 | 131 | void *SystemTray::qt_metacast(const char *_clname) 132 | { 133 | if (!_clname) return nullptr; 134 | if (!strcmp(_clname, qt_meta_stringdata_SystemTray.stringdata0)) 135 | return static_cast(this); 136 | return QSystemTrayIcon::qt_metacast(_clname); 137 | } 138 | 139 | int SystemTray::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 140 | { 141 | _id = QSystemTrayIcon::qt_metacall(_c, _id, _a); 142 | if (_id < 0) 143 | return _id; 144 | if (_c == QMetaObject::InvokeMetaMethod) { 145 | if (_id < 7) 146 | qt_static_metacall(this, _c, _id, _a); 147 | _id -= 7; 148 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 149 | if (_id < 7) 150 | *reinterpret_cast(_a[0]) = -1; 151 | _id -= 7; 152 | } 153 | return _id; 154 | } 155 | 156 | // SIGNAL 0 157 | void SystemTray::sigReload() 158 | { 159 | QMetaObject::activate(this, &staticMetaObject, 0, nullptr); 160 | } 161 | QT_WARNING_POP 162 | QT_END_MOC_NAMESPACE 163 | -------------------------------------------------------------------------------- /src/component/qxtglobalshortcut/qxtglobal.h: -------------------------------------------------------------------------------- 1 | 2 | /**************************************************************************** 3 | ** Copyright (c) 2006 - 2011, the LibQxt project. 4 | ** See the Qxt AUTHORS file for a list of authors and copyright holders. 5 | ** All rights reserved. 6 | ** 7 | ** Redistribution and use in source and binary forms, with or without 8 | ** modification, are permitted provided that the following conditions are met: 9 | ** * Redistributions of source code must retain the above copyright 10 | ** notice, this list of conditions and the following disclaimer. 11 | ** * Redistributions in binary form must reproduce the above copyright 12 | ** notice, this list of conditions and the following disclaimer in the 13 | ** documentation and/or other materials provided with the distribution. 14 | ** * Neither the name of the LibQxt project nor the 15 | ** names of its contributors may be used to endorse or promote products 16 | ** derived from this software without specific prior written permission. 17 | ** 18 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | ** DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 22 | ** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | ** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | ** 29 | ** 30 | *****************************************************************************/ 31 | 32 | #ifndef QXTGLOBAL_H 33 | #define QXTGLOBAL_H 34 | 35 | #include 36 | 37 | #define QXT_VERSION 0x000700 38 | #define QXT_VERSION_STR "0.7.0" 39 | 40 | //--------------------------global macros------------------------------ 41 | 42 | #ifndef QXT_NO_MACROS 43 | 44 | #ifndef _countof 45 | #define _countof(x) (sizeof(x)/sizeof(*x)) 46 | #endif 47 | 48 | #endif // QXT_NO_MACROS 49 | 50 | //--------------------------export macros------------------------------ 51 | 52 | #if defined(BUILD_QXT_CORE) || defined(BUILD_QXT_GUI) || defined(BUILD_QXT_SQL) || defined(BUILD_QXT_NETWORK) || defined(BUILD_QXT_WEB) || defined(BUILD_QXT_BERKELEY) || defined(BUILD_QXT_ZEROCONF) 53 | # define BUILD_QXT 54 | #endif 55 | 56 | const char* qxtVersion(); 57 | 58 | #ifndef QT_BEGIN_NAMESPACE 59 | #define QT_BEGIN_NAMESPACE 60 | #endif 61 | 62 | #ifndef QT_END_NAMESPACE 63 | #define QT_END_NAMESPACE 64 | #endif 65 | 66 | #ifndef QT_FORWARD_DECLARE_CLASS 67 | #define QT_FORWARD_DECLARE_CLASS(Class) class Class; 68 | #endif 69 | 70 | /**************************************************************************** 71 | ** This file is derived from code bearing the following notice: 72 | ** The sole author of this file, Adam Higerd, has explicitly disclaimed all 73 | ** copyright interest and protection for the content within. This file has 74 | ** been placed in the public domain according to United States copyright 75 | ** statute and case law. In jurisdictions where this public domain dedication 76 | ** is not legally recognized, anyone who receives a copy of this file is 77 | ** permitted to use, modify, duplicate, and redistribute this file, in whole 78 | ** or in part, with no restrictions or conditions. In these jurisdictions, 79 | ** this file shall be copyright (C) 2006-2008 by Adam Higerd. 80 | ****************************************************************************/ 81 | 82 | #define QXT_DECLARE_PRIVATE(PUB) friend class PUB##Private; QxtPrivateInterface qxt_d; 83 | #define QXT_DECLARE_PUBLIC(PUB) friend class PUB; 84 | #define QXT_INIT_PRIVATE(PUB) qxt_d.setPublic(this); 85 | #define QXT_D(PUB) PUB##Private& d = qxt_d() 86 | #define QXT_P(PUB) PUB& p = qxt_p() 87 | 88 | template 89 | class QxtPrivate 90 | { 91 | public: 92 | virtual ~QxtPrivate() 93 | {} 94 | inline void QXT_setPublic(PUB* pub) 95 | { 96 | qxt_p_ptr = pub; 97 | } 98 | 99 | protected: 100 | inline PUB& qxt_p() 101 | { 102 | return *qxt_p_ptr; 103 | } 104 | inline const PUB& qxt_p() const 105 | { 106 | return *qxt_p_ptr; 107 | } 108 | inline PUB* qxt_ptr() 109 | { 110 | return qxt_p_ptr; 111 | } 112 | inline const PUB* qxt_ptr() const 113 | { 114 | return qxt_p_ptr; 115 | } 116 | 117 | private: 118 | PUB* qxt_p_ptr; 119 | }; 120 | 121 | template 122 | class QxtPrivateInterface 123 | { 124 | friend class QxtPrivate; 125 | public: 126 | QxtPrivateInterface() 127 | { 128 | pvt = new PVT; 129 | } 130 | ~QxtPrivateInterface() 131 | { 132 | delete pvt; 133 | } 134 | 135 | inline void setPublic(PUB* pub) 136 | { 137 | pvt->QXT_setPublic(pub); 138 | } 139 | inline PVT& operator()() 140 | { 141 | return *static_cast(pvt); 142 | } 143 | inline const PVT& operator()() const 144 | { 145 | return *static_cast(pvt); 146 | } 147 | inline PVT * operator->() 148 | { 149 | return static_cast(pvt); 150 | } 151 | inline const PVT * operator->() const 152 | { 153 | return static_cast(pvt); 154 | } 155 | private: 156 | QxtPrivateInterface(const QxtPrivateInterface&) { } 157 | QxtPrivateInterface& operator=(const QxtPrivateInterface&) { } 158 | QxtPrivate* pvt; 159 | }; 160 | 161 | #endif // QXT_GLOBAL 162 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_DrawSettings.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'DrawSettings.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/DrawSettings.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'DrawSettings.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_DrawSettings_t { 24 | QByteArrayData data[11]; 25 | char stringdata0[114]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_DrawSettings_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_DrawSettings_t qt_meta_stringdata_DrawSettings = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 12), // "DrawSettings" 35 | QT_MOC_LITERAL(1, 13, 10), // "sigChanged" 36 | QT_MOC_LITERAL(2, 24, 0), // "" 37 | QT_MOC_LITERAL(3, 25, 8), // "penWidth" 38 | QT_MOC_LITERAL(4, 34, 8), // "fontSize" 39 | QT_MOC_LITERAL(5, 43, 5), // "color" 40 | QT_MOC_LITERAL(6, 49, 17), // "onFontSizeChanged" 41 | QT_MOC_LITERAL(7, 67, 4), // "text" 42 | QT_MOC_LITERAL(8, 72, 14), // "onCurrentColor" 43 | QT_MOC_LITERAL(9, 87, 7), // "onColor" 44 | QT_MOC_LITERAL(10, 95, 18) // "onPenWidthSelected" 45 | 46 | }, 47 | "DrawSettings\0sigChanged\0\0penWidth\0" 48 | "fontSize\0color\0onFontSizeChanged\0text\0" 49 | "onCurrentColor\0onColor\0onPenWidthSelected" 50 | }; 51 | #undef QT_MOC_LITERAL 52 | 53 | static const uint qt_meta_data_DrawSettings[] = { 54 | 55 | // content: 56 | 8, // revision 57 | 0, // classname 58 | 0, 0, // classinfo 59 | 5, 14, // methods 60 | 0, 0, // properties 61 | 0, 0, // enums/sets 62 | 0, 0, // constructors 63 | 0, // flags 64 | 1, // signalCount 65 | 66 | // signals: name, argc, parameters, tag, flags 67 | 1, 3, 39, 2, 0x06 /* Public */, 68 | 69 | // slots: name, argc, parameters, tag, flags 70 | 6, 1, 46, 2, 0x0a /* Public */, 71 | 8, 0, 49, 2, 0x0a /* Public */, 72 | 9, 0, 50, 2, 0x0a /* Public */, 73 | 10, 0, 51, 2, 0x0a /* Public */, 74 | 75 | // signals: parameters 76 | QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::QColor, 3, 4, 5, 77 | 78 | // slots: parameters 79 | QMetaType::Void, QMetaType::QString, 7, 80 | QMetaType::Void, 81 | QMetaType::Void, 82 | QMetaType::Void, 83 | 84 | 0 // eod 85 | }; 86 | 87 | void DrawSettings::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 88 | { 89 | if (_c == QMetaObject::InvokeMetaMethod) { 90 | auto *_t = static_cast(_o); 91 | Q_UNUSED(_t) 92 | switch (_id) { 93 | case 0: _t->sigChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< QColor(*)>(_a[3]))); break; 94 | case 1: _t->onFontSizeChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; 95 | case 2: _t->onCurrentColor(); break; 96 | case 3: _t->onColor(); break; 97 | case 4: _t->onPenWidthSelected(); break; 98 | default: ; 99 | } 100 | } else if (_c == QMetaObject::IndexOfMethod) { 101 | int *result = reinterpret_cast(_a[0]); 102 | { 103 | using _t = void (DrawSettings::*)(int , int , QColor ); 104 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DrawSettings::sigChanged)) { 105 | *result = 0; 106 | return; 107 | } 108 | } 109 | } 110 | } 111 | 112 | QT_INIT_METAOBJECT const QMetaObject DrawSettings::staticMetaObject = { { 113 | &QWidget::staticMetaObject, 114 | qt_meta_stringdata_DrawSettings.data, 115 | qt_meta_data_DrawSettings, 116 | qt_static_metacall, 117 | nullptr, 118 | nullptr 119 | } }; 120 | 121 | 122 | const QMetaObject *DrawSettings::metaObject() const 123 | { 124 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 125 | } 126 | 127 | void *DrawSettings::qt_metacast(const char *_clname) 128 | { 129 | if (!_clname) return nullptr; 130 | if (!strcmp(_clname, qt_meta_stringdata_DrawSettings.stringdata0)) 131 | return static_cast(this); 132 | return QWidget::qt_metacast(_clname); 133 | } 134 | 135 | int DrawSettings::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 136 | { 137 | _id = QWidget::qt_metacall(_c, _id, _a); 138 | if (_id < 0) 139 | return _id; 140 | if (_c == QMetaObject::InvokeMetaMethod) { 141 | if (_id < 5) 142 | qt_static_metacall(this, _c, _id, _a); 143 | _id -= 5; 144 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 145 | if (_id < 5) 146 | *reinterpret_cast(_a[0]) = -1; 147 | _id -= 5; 148 | } 149 | return _id; 150 | } 151 | 152 | // SIGNAL 0 153 | void DrawSettings::sigChanged(int _t1, int _t2, QColor _t3) 154 | { 155 | void *_a[] = { nullptr, const_cast(reinterpret_cast(&_t1)), const_cast(reinterpret_cast(&_t2)), const_cast(reinterpret_cast(&_t3)) }; 156 | QMetaObject::activate(this, &staticMetaObject, 0, _a); 157 | } 158 | QT_WARNING_POP 159 | QT_END_MOC_NAMESPACE 160 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_DrawSettings.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'DrawSettings.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../view/DrawSettings.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'DrawSettings.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_DrawSettings_t { 24 | QByteArrayData data[11]; 25 | char stringdata0[114]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_DrawSettings_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_DrawSettings_t qt_meta_stringdata_DrawSettings = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 12), // "DrawSettings" 35 | QT_MOC_LITERAL(1, 13, 10), // "sigChanged" 36 | QT_MOC_LITERAL(2, 24, 0), // "" 37 | QT_MOC_LITERAL(3, 25, 8), // "penWidth" 38 | QT_MOC_LITERAL(4, 34, 8), // "fontSize" 39 | QT_MOC_LITERAL(5, 43, 5), // "color" 40 | QT_MOC_LITERAL(6, 49, 17), // "onFontSizeChanged" 41 | QT_MOC_LITERAL(7, 67, 4), // "text" 42 | QT_MOC_LITERAL(8, 72, 14), // "onCurrentColor" 43 | QT_MOC_LITERAL(9, 87, 7), // "onColor" 44 | QT_MOC_LITERAL(10, 95, 18) // "onPenWidthSelected" 45 | 46 | }, 47 | "DrawSettings\0sigChanged\0\0penWidth\0" 48 | "fontSize\0color\0onFontSizeChanged\0text\0" 49 | "onCurrentColor\0onColor\0onPenWidthSelected" 50 | }; 51 | #undef QT_MOC_LITERAL 52 | 53 | static const uint qt_meta_data_DrawSettings[] = { 54 | 55 | // content: 56 | 8, // revision 57 | 0, // classname 58 | 0, 0, // classinfo 59 | 5, 14, // methods 60 | 0, 0, // properties 61 | 0, 0, // enums/sets 62 | 0, 0, // constructors 63 | 0, // flags 64 | 1, // signalCount 65 | 66 | // signals: name, argc, parameters, tag, flags 67 | 1, 3, 39, 2, 0x06 /* Public */, 68 | 69 | // slots: name, argc, parameters, tag, flags 70 | 6, 1, 46, 2, 0x0a /* Public */, 71 | 8, 0, 49, 2, 0x0a /* Public */, 72 | 9, 0, 50, 2, 0x0a /* Public */, 73 | 10, 0, 51, 2, 0x0a /* Public */, 74 | 75 | // signals: parameters 76 | QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::QColor, 3, 4, 5, 77 | 78 | // slots: parameters 79 | QMetaType::Void, QMetaType::QString, 7, 80 | QMetaType::Void, 81 | QMetaType::Void, 82 | QMetaType::Void, 83 | 84 | 0 // eod 85 | }; 86 | 87 | void DrawSettings::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 88 | { 89 | if (_c == QMetaObject::InvokeMetaMethod) { 90 | auto *_t = static_cast(_o); 91 | Q_UNUSED(_t) 92 | switch (_id) { 93 | case 0: _t->sigChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< QColor(*)>(_a[3]))); break; 94 | case 1: _t->onFontSizeChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; 95 | case 2: _t->onCurrentColor(); break; 96 | case 3: _t->onColor(); break; 97 | case 4: _t->onPenWidthSelected(); break; 98 | default: ; 99 | } 100 | } else if (_c == QMetaObject::IndexOfMethod) { 101 | int *result = reinterpret_cast(_a[0]); 102 | { 103 | using _t = void (DrawSettings::*)(int , int , QColor ); 104 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DrawSettings::sigChanged)) { 105 | *result = 0; 106 | return; 107 | } 108 | } 109 | } 110 | } 111 | 112 | QT_INIT_METAOBJECT const QMetaObject DrawSettings::staticMetaObject = { { 113 | &QWidget::staticMetaObject, 114 | qt_meta_stringdata_DrawSettings.data, 115 | qt_meta_data_DrawSettings, 116 | qt_static_metacall, 117 | nullptr, 118 | nullptr 119 | } }; 120 | 121 | 122 | const QMetaObject *DrawSettings::metaObject() const 123 | { 124 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 125 | } 126 | 127 | void *DrawSettings::qt_metacast(const char *_clname) 128 | { 129 | if (!_clname) return nullptr; 130 | if (!strcmp(_clname, qt_meta_stringdata_DrawSettings.stringdata0)) 131 | return static_cast(this); 132 | return QWidget::qt_metacast(_clname); 133 | } 134 | 135 | int DrawSettings::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 136 | { 137 | _id = QWidget::qt_metacall(_c, _id, _a); 138 | if (_id < 0) 139 | return _id; 140 | if (_c == QMetaObject::InvokeMetaMethod) { 141 | if (_id < 5) 142 | qt_static_metacall(this, _c, _id, _a); 143 | _id -= 5; 144 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 145 | if (_id < 5) 146 | *reinterpret_cast(_a[0]) = -1; 147 | _id -= 5; 148 | } 149 | return _id; 150 | } 151 | 152 | // SIGNAL 0 153 | void DrawSettings::sigChanged(int _t1, int _t2, QColor _t3) 154 | { 155 | void *_a[] = { nullptr, const_cast(reinterpret_cast(&_t1)), const_cast(reinterpret_cast(&_t2)), const_cast(reinterpret_cast(&_t3)) }; 156 | QMetaObject::activate(this, &staticMetaObject, 0, _a); 157 | } 158 | QT_WARNING_POP 159 | QT_END_MOC_NAMESPACE 160 | -------------------------------------------------------------------------------- /src/view/DrawSettings.cpp: -------------------------------------------------------------------------------- 1 | #include "DrawSettings.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | const QList s_penWidthList = { 1, 3, 6 }; 10 | static int s_penWidth = s_penWidthList[1]; 11 | static int s_fontSize = 12; 12 | static QColor s_currentColor = QColor("#FF0000"); 13 | 14 | DrawSettings::DrawSettings(QWidget *parent) 15 | : QWidget(parent) 16 | { 17 | this->setAutoFillBackground(true); 18 | 19 | // draw pen width 20 | for (int i = 0; i < s_penWidthList.size(); i++){ 21 | int w = s_penWidthList.at(i); 22 | QPushButton *btn = new QPushButton(this); 23 | connect(btn, &QPushButton::clicked, this, &DrawSettings::onPenWidthSelected); 24 | btn->setFixedSize(w*2 + 5, w*2 + 5); 25 | btn->setCheckable(true); 26 | btn->setProperty("value", w); 27 | QStringList styleList; 28 | styleList << QString("QPushButton{background-color:#fff;margin:1px;}"); 29 | styleList << QString("QPushButton::hover{margin: 0px;}"); 30 | styleList << QString("QPushButton::checked{margin: 0px; border:2px solid #808080;}"); 31 | btn->setStyleSheet(styleList.join("")); 32 | btn->setChecked(w == s_penWidth); 33 | penWidthBtns_.push_back(btn); 34 | } 35 | onPenWidthSelected(); 36 | 37 | // font size 38 | sizeList_ = new QComboBox(this); 39 | sizeList_->addItems(QStringList() << "8" << "9" << "10" << "11" << "12" << "14" << "16" << "18" << "20" << "22"); 40 | sizeList_->setCurrentText(QString::number(s_fontSize)); 41 | connect(sizeList_, &QComboBox::currentTextChanged, this, &DrawSettings::onFontSizeChanged); 42 | 43 | // current color 44 | pbCurrentColor_ = new QPushButton(this); 45 | pbCurrentColor_->setFixedSize(26, 26); 46 | pbCurrentColor_->setStyleSheet(QString("background-color:%1").arg(s_currentColor.name())); 47 | connect(pbCurrentColor_, &QPushButton::clicked, this, &DrawSettings::onCurrentColor); 48 | 49 | // color select 50 | const QStringList colorList = QStringList() << "#000000" << "#808080" << "#800000" << "#F7883A" << "#308430" << "#385AD3" << "#800080" << "#009999" 51 | << "#FFFFFF" << "#C0C0C0" << "#FB3838" << "#FFFF00" << "#99CC00" << "#3894E4" << "#F31BF3" << "#16DCDC"; 52 | QList colorBtns; 53 | for (int i = 0; i < colorList.size(); i++) { 54 | QPushButton *btn = new QPushButton(this); 55 | btn->setFixedSize(14, 14); 56 | btn->setProperty("color", colorList[i]); 57 | btn->setStyleSheet(QString("QPushButton{background-color:%1; border:1px solid #808080;margin:1px;}QPushButton::hover{margin:0px;}").arg(colorList[i])); 58 | connect(btn, &QPushButton::clicked, this, &DrawSettings::onColor); 59 | colorBtns.push_back(btn); 60 | } 61 | 62 | QHBoxLayout *mLayout = new QHBoxLayout(this); 63 | mLayout->setContentsMargins(6, 6, 6, 6); 64 | mLayout->setSpacing(6); 65 | for (int i = 0; i < penWidthBtns_.size(); i++) { 66 | mLayout->addWidget(penWidthBtns_[i]); 67 | } 68 | mLayout->addWidget(sizeList_); 69 | 70 | QHBoxLayout *firstLineLayout = new QHBoxLayout(); 71 | firstLineLayout->setSpacing(2); 72 | for (int i = 0; i < 8; i++) { 73 | firstLineLayout->addWidget(colorBtns[i]); 74 | } 75 | QHBoxLayout *secondLineLayout = new QHBoxLayout(); 76 | secondLineLayout->setSpacing(2); 77 | for (int i = 8; i < 16; i++) { 78 | secondLineLayout->addWidget(colorBtns[i]); 79 | } 80 | QVBoxLayout *vLayout = new QVBoxLayout(); 81 | vLayout->setSpacing(2); 82 | vLayout->addLayout(firstLineLayout); 83 | vLayout->addLayout(secondLineLayout); 84 | 85 | QHBoxLayout *colorLayout = new QHBoxLayout(); 86 | colorLayout->setContentsMargins(0, 0, 0, 0); 87 | colorLayout->setSpacing(2); 88 | colorLayout->addWidget(pbCurrentColor_); 89 | colorLayout->addLayout(vLayout); 90 | 91 | mLayout->addLayout(colorLayout); 92 | 93 | this->setFixedSize(250, 38); 94 | } 95 | 96 | int DrawSettings::penWidth() 97 | { 98 | return s_penWidth; 99 | } 100 | 101 | int DrawSettings::fontSize() 102 | { 103 | return s_fontSize; 104 | } 105 | 106 | QColor DrawSettings::currentColor() 107 | { 108 | return s_currentColor; 109 | } 110 | 111 | void DrawSettings::onFontSizeChanged(const QString &text) 112 | { 113 | bool ok = false; 114 | int size = text.toInt(&ok); 115 | if (ok) { 116 | s_fontSize = size; 117 | emit sigChanged(s_penWidth, s_fontSize, s_currentColor); 118 | } 119 | } 120 | 121 | void DrawSettings::onCurrentColor() 122 | { 123 | QColorDialog dlg(s_currentColor, this); 124 | dlg.setStyleSheet("QPushButton{ width: 80px; height: 25px;};"); 125 | if (QDialog::Accepted == dlg.exec()) { 126 | s_currentColor = dlg.selectedColor(); 127 | pbCurrentColor_->setStyleSheet(QString("background-color:%1").arg(s_currentColor.name())); 128 | emit sigChanged(s_penWidth, s_fontSize, s_currentColor); 129 | } 130 | } 131 | 132 | void DrawSettings::onColor() 133 | { 134 | QPushButton *btn = qobject_cast(sender()); 135 | if (btn) { 136 | QString color = btn->property("color").toString(); 137 | s_currentColor = QColor(color); 138 | pbCurrentColor_->setStyleSheet(QString("background-color:%1").arg(s_currentColor.name())); 139 | emit sigChanged(s_penWidth, s_fontSize, s_currentColor); 140 | } 141 | } 142 | 143 | void DrawSettings::onPenWidthSelected() 144 | { 145 | QPushButton* btn = qobject_cast(sender()); 146 | if (!btn) { 147 | return; 148 | } 149 | 150 | btn->setChecked(true); 151 | s_penWidth = btn->property("value").toInt(); 152 | for (int i = 0; i < penWidthBtns_.size(); i++) { 153 | if (penWidthBtns_[i] != btn) { 154 | penWidthBtns_[i]->setChecked(false); 155 | } 156 | } 157 | emit sigChanged(s_penWidth, s_fontSize, s_currentColor); 158 | } 159 | -------------------------------------------------------------------------------- /src/common/HWndRectCache.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include "Singleton.h" 6 | 7 | #define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp)) 8 | #define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp)) 9 | 10 | BOOL IsRectEmpty(RECT r) 11 | { 12 | return r.bottom == 0 && r.left == 0 && r.right == 0 && r.top == 0; 13 | } 14 | 15 | //pop up win 1 (level 1).. first Z order 16 | // child11 (level 2) 17 | // child12 (level 2) 18 | // chilld121 (level 3) 19 | // chilld122 (level 3) 20 | // 21 | // child3 (level 2) 22 | //pop up win2 23 | // child21 (level 2) 24 | // child21 (level 2) 25 | // . 26 | // . 27 | //pop up winN . last Z order 28 | 29 | struct HWndCacheInfo 30 | { 31 | HWndCacheInfo() : hwnd(NULL) {} 32 | HWndCacheInfo(HWND _hwnd, RECT _rect, INT _level) : hwnd(_hwnd), rect(_rect), level(_level) {} 33 | BOOL isNull() const { return hwnd == NULL; } 34 | HWND hwnd; 35 | RECT rect; //window rect 36 | INT level; // 1 - pop up window ; 2N - child window 37 | }; 38 | 39 | class HWndRectCacheManager : public Singleton 40 | { 41 | public: 42 | BOOL cacheAll() 43 | { 44 | qDebug() << "cache all size:" << m_cacheList.size(); 45 | m_cacheList.clear(); 46 | // cache current window Z order when call this function 47 | EnumWindows(EnumWindowsSnapshotProc, 1); 48 | 49 | return TRUE; 50 | } 51 | 52 | void setFilterHWnd(HWND hwnd) 53 | { 54 | m_hWndFilter = hwnd; 55 | } 56 | 57 | HWND getWnd(POINT pt) 58 | { 59 | m_hWndTarget = NULL; 60 | EnumWindows(EnumWindowsRealTimeProc, MAKELPARAM(pt.x, pt.y)); 61 | return m_hWndTarget; 62 | } 63 | 64 | RECT getWndRect(POINT ptHit, BOOL bGetInRealTime = FALSE) 65 | { 66 | RECT rtRect; 67 | rtRect.bottom = 0; rtRect.left = 0; rtRect.right = 0; rtRect.top = 0; 68 | //get from current Z order 69 | if (bGetInRealTime) { 70 | HWND hWndTarget = getWnd(ptHit); 71 | if (hWndTarget != NULL) { 72 | GetWindowRect(hWndTarget, &rtRect); 73 | } 74 | } else { 75 | //get from snapshot cache 76 | getRectFromCache(ptHit, rtRect); 77 | } 78 | 79 | return rtRect; 80 | } 81 | 82 | protected: 83 | static BOOL CALLBACK EnumWindowsRealTimeProc(HWND hwnd, LPARAM lParam) 84 | { 85 | POINT p; 86 | p.x = GET_X_LPARAM(lParam); 87 | p.y = GET_Y_LPARAM(lParam); 88 | if (!HWndContainsPoint(hwnd, p)) return TRUE; 89 | if (HWndFilter(hwnd)) return TRUE; 90 | 91 | m_hWndTarget = hwnd; 92 | EnumChildWindows(hwnd, EnumChildRealTimeProc, lParam); 93 | return FALSE; 94 | } 95 | 96 | static BOOL CALLBACK EnumChildRealTimeProc(HWND hwnd, LPARAM lParam) 97 | { 98 | POINT p; 99 | p.x = GET_X_LPARAM(lParam); 100 | p.y = GET_Y_LPARAM(lParam); 101 | if (!HWndContainsPoint(hwnd, p)) return TRUE; 102 | if (HWndFilter(hwnd)) return TRUE; 103 | 104 | m_hWndTarget = hwnd; 105 | EnumChildWindows(hwnd, EnumChildRealTimeProc, lParam); 106 | return FALSE; 107 | } 108 | 109 | protected: 110 | static BOOL CALLBACK EnumWindowsSnapshotProc(HWND hwnd, LPARAM lParam) 111 | { 112 | INT nLevel = lParam; 113 | if (HWndFilter(hwnd)) return TRUE; 114 | saveHWndRect(hwnd, nLevel); 115 | EnumChildWindows(hwnd, EnumChildSnapshotProc, ++nLevel); 116 | return TRUE; 117 | } 118 | 119 | static BOOL CALLBACK EnumChildSnapshotProc(HWND hwnd, LPARAM lParam) 120 | { 121 | INT nLevel = lParam; 122 | if (HWndFilter(hwnd)) return TRUE; 123 | 124 | saveHWndRect(hwnd, nLevel); 125 | ++nLevel; 126 | EnumChildWindows(hwnd, EnumChildSnapshotProc, nLevel); 127 | return TRUE; 128 | } 129 | 130 | protected: 131 | static BOOL HWndContainsPoint(HWND hWnd, POINT pt) 132 | { 133 | RECT rtWin; 134 | rtWin.bottom = 0; rtWin.left = 0; rtWin.right = 0; rtWin.top = 0; 135 | GetWindowRect(hWnd, &rtWin); 136 | return PtInRect(&rtWin, pt); 137 | } 138 | 139 | static BOOL HWndFilter(HWND hWnd) 140 | { 141 | if (m_hWndFilter && m_hWndFilter == hWnd) { 142 | return TRUE; 143 | } 144 | 145 | DWORD dwStyle = GetWindowLong(hWnd, GWL_STYLE); 146 | DWORD dwStyleMust = WS_VISIBLE; 147 | if ((dwStyle & dwStyleMust) != dwStyleMust) { 148 | return TRUE; 149 | } 150 | 151 | DWORD dwStyleEx = GetWindowLong(hWnd, GWL_EXSTYLE); 152 | DWORD dwStyleMustNot = WS_EX_TRANSPARENT; 153 | if ((dwStyleMustNot & dwStyleEx) != 0) { 154 | return TRUE; 155 | } 156 | 157 | return FALSE; 158 | } 159 | 160 | //find the first window that level is biggest 161 | static BOOL getRectFromCache(POINT point, RECT& rect) 162 | { 163 | HWndCacheInfo targetInfo; 164 | for (const auto &info : m_cacheList) { 165 | if (!targetInfo.isNull() && info.level <= targetInfo.level) { 166 | break; 167 | } 168 | if (PtInRect(&info.rect, point)) { 169 | if (targetInfo.isNull()) { 170 | targetInfo = info; 171 | } else { 172 | if (info.level > targetInfo.level) { 173 | targetInfo = info; 174 | } 175 | } 176 | } 177 | } 178 | if (!targetInfo.isNull()) { 179 | rect = targetInfo.rect; 180 | return TRUE; 181 | } 182 | return FALSE; 183 | } 184 | 185 | static VOID saveHWndRect(HWND hWnd, INT nLevel) 186 | { 187 | _ASSERTE(hWnd != NULL && IsWindow(hWnd)); 188 | RECT rect; 189 | if (GetWindowRect(hWnd, &rect)) { 190 | HWndCacheInfo info(hWnd, rect, nLevel); 191 | if (!info.isNull()) { 192 | m_cacheList.push_back(info); 193 | } 194 | } 195 | } 196 | 197 | protected: 198 | friend class Singleton; 199 | 200 | static HWND m_hWndTarget; 201 | static HWND m_hWndFilter; 202 | static std::vector m_cacheList; 203 | }; 204 | 205 | HWND HWndRectCacheManager::m_hWndTarget = NULL; 206 | HWND HWndRectCacheManager::m_hWndFilter = NULL; 207 | std::vector HWndRectCacheManager::m_cacheList; 208 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_WindowManager.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'WindowManager.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../controller/WindowManager.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'WindowManager.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_WindowManager_t { 24 | QByteArrayData data[10]; 25 | char stringdata0[130]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_WindowManager_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_WindowManager_t qt_meta_stringdata_WindowManager = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 13), // "WindowManager" 35 | QT_MOC_LITERAL(1, 14, 6), // "sigPin" 36 | QT_MOC_LITERAL(2, 21, 0), // "" 37 | QT_MOC_LITERAL(3, 22, 17), // "sigSettingChanged" 38 | QT_MOC_LITERAL(4, 40, 22), // "sigStickerCountChanged" 39 | QT_MOC_LITERAL(5, 63, 18), // "onScreenshotReopen" 40 | QT_MOC_LITERAL(6, 82, 17), // "onScreenshotClose" 41 | QT_MOC_LITERAL(7, 100, 16), // "onSaveScreenshot" 42 | QT_MOC_LITERAL(8, 117, 6), // "pixmap" 43 | QT_MOC_LITERAL(9, 124, 5) // "onPin" 44 | 45 | }, 46 | "WindowManager\0sigPin\0\0sigSettingChanged\0" 47 | "sigStickerCountChanged\0onScreenshotReopen\0" 48 | "onScreenshotClose\0onSaveScreenshot\0" 49 | "pixmap\0onPin" 50 | }; 51 | #undef QT_MOC_LITERAL 52 | 53 | static const uint qt_meta_data_WindowManager[] = { 54 | 55 | // content: 56 | 8, // revision 57 | 0, // classname 58 | 0, 0, // classinfo 59 | 7, 14, // methods 60 | 0, 0, // properties 61 | 0, 0, // enums/sets 62 | 0, 0, // constructors 63 | 0, // flags 64 | 3, // signalCount 65 | 66 | // signals: name, argc, parameters, tag, flags 67 | 1, 0, 49, 2, 0x06 /* Public */, 68 | 3, 0, 50, 2, 0x06 /* Public */, 69 | 4, 0, 51, 2, 0x06 /* Public */, 70 | 71 | // slots: name, argc, parameters, tag, flags 72 | 5, 0, 52, 2, 0x08 /* Private */, 73 | 6, 0, 53, 2, 0x08 /* Private */, 74 | 7, 1, 54, 2, 0x08 /* Private */, 75 | 9, 0, 57, 2, 0x08 /* Private */, 76 | 77 | // signals: parameters 78 | QMetaType::Void, 79 | QMetaType::Void, 80 | QMetaType::Void, 81 | 82 | // slots: parameters 83 | QMetaType::Void, 84 | QMetaType::Void, 85 | QMetaType::Void, QMetaType::QPixmap, 8, 86 | QMetaType::Void, 87 | 88 | 0 // eod 89 | }; 90 | 91 | void WindowManager::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 92 | { 93 | if (_c == QMetaObject::InvokeMetaMethod) { 94 | auto *_t = static_cast(_o); 95 | Q_UNUSED(_t) 96 | switch (_id) { 97 | case 0: _t->sigPin(); break; 98 | case 1: _t->sigSettingChanged(); break; 99 | case 2: _t->sigStickerCountChanged(); break; 100 | case 3: _t->onScreenshotReopen(); break; 101 | case 4: _t->onScreenshotClose(); break; 102 | case 5: _t->onSaveScreenshot((*reinterpret_cast< const QPixmap(*)>(_a[1]))); break; 103 | case 6: _t->onPin(); break; 104 | default: ; 105 | } 106 | } else if (_c == QMetaObject::IndexOfMethod) { 107 | int *result = reinterpret_cast(_a[0]); 108 | { 109 | using _t = void (WindowManager::*)(); 110 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WindowManager::sigPin)) { 111 | *result = 0; 112 | return; 113 | } 114 | } 115 | { 116 | using _t = void (WindowManager::*)(); 117 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WindowManager::sigSettingChanged)) { 118 | *result = 1; 119 | return; 120 | } 121 | } 122 | { 123 | using _t = void (WindowManager::*)(); 124 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WindowManager::sigStickerCountChanged)) { 125 | *result = 2; 126 | return; 127 | } 128 | } 129 | } 130 | } 131 | 132 | QT_INIT_METAOBJECT const QMetaObject WindowManager::staticMetaObject = { { 133 | &QObject::staticMetaObject, 134 | qt_meta_stringdata_WindowManager.data, 135 | qt_meta_data_WindowManager, 136 | qt_static_metacall, 137 | nullptr, 138 | nullptr 139 | } }; 140 | 141 | 142 | const QMetaObject *WindowManager::metaObject() const 143 | { 144 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 145 | } 146 | 147 | void *WindowManager::qt_metacast(const char *_clname) 148 | { 149 | if (!_clname) return nullptr; 150 | if (!strcmp(_clname, qt_meta_stringdata_WindowManager.stringdata0)) 151 | return static_cast(this); 152 | return QObject::qt_metacast(_clname); 153 | } 154 | 155 | int WindowManager::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 156 | { 157 | _id = QObject::qt_metacall(_c, _id, _a); 158 | if (_id < 0) 159 | return _id; 160 | if (_c == QMetaObject::InvokeMetaMethod) { 161 | if (_id < 7) 162 | qt_static_metacall(this, _c, _id, _a); 163 | _id -= 7; 164 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 165 | if (_id < 7) 166 | *reinterpret_cast(_a[0]) = -1; 167 | _id -= 7; 168 | } 169 | return _id; 170 | } 171 | 172 | // SIGNAL 0 173 | void WindowManager::sigPin() 174 | { 175 | QMetaObject::activate(this, &staticMetaObject, 0, nullptr); 176 | } 177 | 178 | // SIGNAL 1 179 | void WindowManager::sigSettingChanged() 180 | { 181 | QMetaObject::activate(this, &staticMetaObject, 1, nullptr); 182 | } 183 | 184 | // SIGNAL 2 185 | void WindowManager::sigStickerCountChanged() 186 | { 187 | QMetaObject::activate(this, &staticMetaObject, 2, nullptr); 188 | } 189 | QT_WARNING_POP 190 | QT_END_MOC_NAMESPACE 191 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Release/moc_WindowManager.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'WindowManager.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../controller/WindowManager.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'WindowManager.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_WindowManager_t { 24 | QByteArrayData data[10]; 25 | char stringdata0[130]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_WindowManager_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_WindowManager_t qt_meta_stringdata_WindowManager = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 13), // "WindowManager" 35 | QT_MOC_LITERAL(1, 14, 6), // "sigPin" 36 | QT_MOC_LITERAL(2, 21, 0), // "" 37 | QT_MOC_LITERAL(3, 22, 17), // "sigSettingChanged" 38 | QT_MOC_LITERAL(4, 40, 22), // "sigStickerCountChanged" 39 | QT_MOC_LITERAL(5, 63, 18), // "onScreenshotReopen" 40 | QT_MOC_LITERAL(6, 82, 17), // "onScreenshotClose" 41 | QT_MOC_LITERAL(7, 100, 16), // "onSaveScreenshot" 42 | QT_MOC_LITERAL(8, 117, 6), // "pixmap" 43 | QT_MOC_LITERAL(9, 124, 5) // "onPin" 44 | 45 | }, 46 | "WindowManager\0sigPin\0\0sigSettingChanged\0" 47 | "sigStickerCountChanged\0onScreenshotReopen\0" 48 | "onScreenshotClose\0onSaveScreenshot\0" 49 | "pixmap\0onPin" 50 | }; 51 | #undef QT_MOC_LITERAL 52 | 53 | static const uint qt_meta_data_WindowManager[] = { 54 | 55 | // content: 56 | 8, // revision 57 | 0, // classname 58 | 0, 0, // classinfo 59 | 7, 14, // methods 60 | 0, 0, // properties 61 | 0, 0, // enums/sets 62 | 0, 0, // constructors 63 | 0, // flags 64 | 3, // signalCount 65 | 66 | // signals: name, argc, parameters, tag, flags 67 | 1, 0, 49, 2, 0x06 /* Public */, 68 | 3, 0, 50, 2, 0x06 /* Public */, 69 | 4, 0, 51, 2, 0x06 /* Public */, 70 | 71 | // slots: name, argc, parameters, tag, flags 72 | 5, 0, 52, 2, 0x08 /* Private */, 73 | 6, 0, 53, 2, 0x08 /* Private */, 74 | 7, 1, 54, 2, 0x08 /* Private */, 75 | 9, 0, 57, 2, 0x08 /* Private */, 76 | 77 | // signals: parameters 78 | QMetaType::Void, 79 | QMetaType::Void, 80 | QMetaType::Void, 81 | 82 | // slots: parameters 83 | QMetaType::Void, 84 | QMetaType::Void, 85 | QMetaType::Void, QMetaType::QPixmap, 8, 86 | QMetaType::Void, 87 | 88 | 0 // eod 89 | }; 90 | 91 | void WindowManager::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 92 | { 93 | if (_c == QMetaObject::InvokeMetaMethod) { 94 | auto *_t = static_cast(_o); 95 | Q_UNUSED(_t) 96 | switch (_id) { 97 | case 0: _t->sigPin(); break; 98 | case 1: _t->sigSettingChanged(); break; 99 | case 2: _t->sigStickerCountChanged(); break; 100 | case 3: _t->onScreenshotReopen(); break; 101 | case 4: _t->onScreenshotClose(); break; 102 | case 5: _t->onSaveScreenshot((*reinterpret_cast< const QPixmap(*)>(_a[1]))); break; 103 | case 6: _t->onPin(); break; 104 | default: ; 105 | } 106 | } else if (_c == QMetaObject::IndexOfMethod) { 107 | int *result = reinterpret_cast(_a[0]); 108 | { 109 | using _t = void (WindowManager::*)(); 110 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WindowManager::sigPin)) { 111 | *result = 0; 112 | return; 113 | } 114 | } 115 | { 116 | using _t = void (WindowManager::*)(); 117 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WindowManager::sigSettingChanged)) { 118 | *result = 1; 119 | return; 120 | } 121 | } 122 | { 123 | using _t = void (WindowManager::*)(); 124 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WindowManager::sigStickerCountChanged)) { 125 | *result = 2; 126 | return; 127 | } 128 | } 129 | } 130 | } 131 | 132 | QT_INIT_METAOBJECT const QMetaObject WindowManager::staticMetaObject = { { 133 | &QObject::staticMetaObject, 134 | qt_meta_stringdata_WindowManager.data, 135 | qt_meta_data_WindowManager, 136 | qt_static_metacall, 137 | nullptr, 138 | nullptr 139 | } }; 140 | 141 | 142 | const QMetaObject *WindowManager::metaObject() const 143 | { 144 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 145 | } 146 | 147 | void *WindowManager::qt_metacast(const char *_clname) 148 | { 149 | if (!_clname) return nullptr; 150 | if (!strcmp(_clname, qt_meta_stringdata_WindowManager.stringdata0)) 151 | return static_cast(this); 152 | return QObject::qt_metacast(_clname); 153 | } 154 | 155 | int WindowManager::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 156 | { 157 | _id = QObject::qt_metacall(_c, _id, _a); 158 | if (_id < 0) 159 | return _id; 160 | if (_c == QMetaObject::InvokeMetaMethod) { 161 | if (_id < 7) 162 | qt_static_metacall(this, _c, _id, _a); 163 | _id -= 7; 164 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 165 | if (_id < 7) 166 | *reinterpret_cast(_a[0]) = -1; 167 | _id -= 7; 168 | } 169 | return _id; 170 | } 171 | 172 | // SIGNAL 0 173 | void WindowManager::sigPin() 174 | { 175 | QMetaObject::activate(this, &staticMetaObject, 0, nullptr); 176 | } 177 | 178 | // SIGNAL 1 179 | void WindowManager::sigSettingChanged() 180 | { 181 | QMetaObject::activate(this, &staticMetaObject, 1, nullptr); 182 | } 183 | 184 | // SIGNAL 2 185 | void WindowManager::sigStickerCountChanged() 186 | { 187 | QMetaObject::activate(this, &staticMetaObject, 2, nullptr); 188 | } 189 | QT_WARNING_POP 190 | QT_END_MOC_NAMESPACE 191 | -------------------------------------------------------------------------------- /src/GeneratedFiles/Debug/moc_qxtglobalshortcut.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Meta object code from reading C++ file 'qxtglobalshortcut.h' 3 | ** 4 | ** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.9) 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #include "../../component/qxtglobalshortcut/qxtglobalshortcut.h" 10 | #include 11 | #include 12 | #if !defined(Q_MOC_OUTPUT_REVISION) 13 | #error "The header file 'qxtglobalshortcut.h' doesn't include ." 14 | #elif Q_MOC_OUTPUT_REVISION != 67 15 | #error "This file was generated using the moc from 5.12.9. It" 16 | #error "cannot be used with the include files from this version of Qt." 17 | #error "(The moc has changed too much.)" 18 | #endif 19 | 20 | QT_BEGIN_MOC_NAMESPACE 21 | QT_WARNING_PUSH 22 | QT_WARNING_DISABLE_DEPRECATED 23 | struct qt_meta_stringdata_QxtGlobalShortcut_t { 24 | QByteArrayData data[8]; 25 | char stringdata0[78]; 26 | }; 27 | #define QT_MOC_LITERAL(idx, ofs, len) \ 28 | Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ 29 | qptrdiff(offsetof(qt_meta_stringdata_QxtGlobalShortcut_t, stringdata0) + ofs \ 30 | - idx * sizeof(QByteArrayData)) \ 31 | ) 32 | static const qt_meta_stringdata_QxtGlobalShortcut_t qt_meta_stringdata_QxtGlobalShortcut = { 33 | { 34 | QT_MOC_LITERAL(0, 0, 17), // "QxtGlobalShortcut" 35 | QT_MOC_LITERAL(1, 18, 9), // "activated" 36 | QT_MOC_LITERAL(2, 28, 0), // "" 37 | QT_MOC_LITERAL(3, 29, 10), // "setEnabled" 38 | QT_MOC_LITERAL(4, 40, 7), // "enabled" 39 | QT_MOC_LITERAL(5, 48, 11), // "setDisabled" 40 | QT_MOC_LITERAL(6, 60, 8), // "disabled" 41 | QT_MOC_LITERAL(7, 69, 8) // "shortcut" 42 | 43 | }, 44 | "QxtGlobalShortcut\0activated\0\0setEnabled\0" 45 | "enabled\0setDisabled\0disabled\0shortcut" 46 | }; 47 | #undef QT_MOC_LITERAL 48 | 49 | static const uint qt_meta_data_QxtGlobalShortcut[] = { 50 | 51 | // content: 52 | 8, // revision 53 | 0, // classname 54 | 0, 0, // classinfo 55 | 5, 14, // methods 56 | 2, 48, // properties 57 | 0, 0, // enums/sets 58 | 0, 0, // constructors 59 | 0, // flags 60 | 1, // signalCount 61 | 62 | // signals: name, argc, parameters, tag, flags 63 | 1, 0, 39, 2, 0x06 /* Public */, 64 | 65 | // slots: name, argc, parameters, tag, flags 66 | 3, 1, 40, 2, 0x0a /* Public */, 67 | 3, 0, 43, 2, 0x2a /* Public | MethodCloned */, 68 | 5, 1, 44, 2, 0x0a /* Public */, 69 | 5, 0, 47, 2, 0x2a /* Public | MethodCloned */, 70 | 71 | // signals: parameters 72 | QMetaType::Void, 73 | 74 | // slots: parameters 75 | QMetaType::Void, QMetaType::Bool, 4, 76 | QMetaType::Void, 77 | QMetaType::Void, QMetaType::Bool, 6, 78 | QMetaType::Void, 79 | 80 | // properties: name, type, flags 81 | 4, QMetaType::Bool, 0x00095103, 82 | 7, QMetaType::QKeySequence, 0x00095103, 83 | 84 | 0 // eod 85 | }; 86 | 87 | void QxtGlobalShortcut::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) 88 | { 89 | if (_c == QMetaObject::InvokeMetaMethod) { 90 | auto *_t = static_cast(_o); 91 | Q_UNUSED(_t) 92 | switch (_id) { 93 | case 0: _t->activated(); break; 94 | case 1: _t->setEnabled((*reinterpret_cast< bool(*)>(_a[1]))); break; 95 | case 2: _t->setEnabled(); break; 96 | case 3: _t->setDisabled((*reinterpret_cast< bool(*)>(_a[1]))); break; 97 | case 4: _t->setDisabled(); break; 98 | default: ; 99 | } 100 | } else if (_c == QMetaObject::IndexOfMethod) { 101 | int *result = reinterpret_cast(_a[0]); 102 | { 103 | using _t = void (QxtGlobalShortcut::*)(); 104 | if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&QxtGlobalShortcut::activated)) { 105 | *result = 0; 106 | return; 107 | } 108 | } 109 | } 110 | #ifndef QT_NO_PROPERTIES 111 | else if (_c == QMetaObject::ReadProperty) { 112 | auto *_t = static_cast(_o); 113 | Q_UNUSED(_t) 114 | void *_v = _a[0]; 115 | switch (_id) { 116 | case 0: *reinterpret_cast< bool*>(_v) = _t->isEnabled(); break; 117 | case 1: *reinterpret_cast< QKeySequence*>(_v) = _t->shortcut(); break; 118 | default: break; 119 | } 120 | } else if (_c == QMetaObject::WriteProperty) { 121 | auto *_t = static_cast(_o); 122 | Q_UNUSED(_t) 123 | void *_v = _a[0]; 124 | switch (_id) { 125 | case 0: _t->setEnabled(*reinterpret_cast< bool*>(_v)); break; 126 | case 1: _t->setShortcut(*reinterpret_cast< QKeySequence*>(_v)); break; 127 | default: break; 128 | } 129 | } else if (_c == QMetaObject::ResetProperty) { 130 | } 131 | #endif // QT_NO_PROPERTIES 132 | } 133 | 134 | QT_INIT_METAOBJECT const QMetaObject QxtGlobalShortcut::staticMetaObject = { { 135 | &QObject::staticMetaObject, 136 | qt_meta_stringdata_QxtGlobalShortcut.data, 137 | qt_meta_data_QxtGlobalShortcut, 138 | qt_static_metacall, 139 | nullptr, 140 | nullptr 141 | } }; 142 | 143 | 144 | const QMetaObject *QxtGlobalShortcut::metaObject() const 145 | { 146 | return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; 147 | } 148 | 149 | void *QxtGlobalShortcut::qt_metacast(const char *_clname) 150 | { 151 | if (!_clname) return nullptr; 152 | if (!strcmp(_clname, qt_meta_stringdata_QxtGlobalShortcut.stringdata0)) 153 | return static_cast(this); 154 | return QObject::qt_metacast(_clname); 155 | } 156 | 157 | int QxtGlobalShortcut::qt_metacall(QMetaObject::Call _c, int _id, void **_a) 158 | { 159 | _id = QObject::qt_metacall(_c, _id, _a); 160 | if (_id < 0) 161 | return _id; 162 | if (_c == QMetaObject::InvokeMetaMethod) { 163 | if (_id < 5) 164 | qt_static_metacall(this, _c, _id, _a); 165 | _id -= 5; 166 | } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { 167 | if (_id < 5) 168 | *reinterpret_cast(_a[0]) = -1; 169 | _id -= 5; 170 | } 171 | #ifndef QT_NO_PROPERTIES 172 | else if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty 173 | || _c == QMetaObject::ResetProperty || _c == QMetaObject::RegisterPropertyMetaType) { 174 | qt_static_metacall(this, _c, _id, _a); 175 | _id -= 2; 176 | } else if (_c == QMetaObject::QueryPropertyDesignable) { 177 | _id -= 2; 178 | } else if (_c == QMetaObject::QueryPropertyScriptable) { 179 | _id -= 2; 180 | } else if (_c == QMetaObject::QueryPropertyStored) { 181 | _id -= 2; 182 | } else if (_c == QMetaObject::QueryPropertyEditable) { 183 | _id -= 2; 184 | } else if (_c == QMetaObject::QueryPropertyUser) { 185 | _id -= 2; 186 | } 187 | #endif // QT_NO_PROPERTIES 188 | return _id; 189 | } 190 | 191 | // SIGNAL 0 192 | void QxtGlobalShortcut::activated() 193 | { 194 | QMetaObject::activate(this, &staticMetaObject, 0, nullptr); 195 | } 196 | QT_WARNING_POP 197 | QT_END_MOC_NAMESPACE 198 | --------------------------------------------------------------------------------