Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

Commit

Permalink
qmake: remove moc limitations for non apple platforms
Browse files Browse the repository at this point in the history
  • Loading branch information
wangwenx190 committed Nov 13, 2023
1 parent 7fdea56 commit a1b0568
Show file tree
Hide file tree
Showing 6 changed files with 158 additions and 145 deletions.
2 changes: 1 addition & 1 deletion cmake
Submodule cmake updated 1 files
+4 −0 enable-long-path.reg
15 changes: 15 additions & 0 deletions include/FramelessHelper/Core/private/framelessmanager_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,19 @@ class FRAMELESSHELPER_CORE_API FramelessManagerPrivate : public QObject
QTimer wallpaperTimer{};
};

class InternalEventFilter : public QObject
{
FRAMELESSHELPER_QT_CLASS(InternalEventFilter)

public:
explicit InternalEventFilter(const QObject *window, QObject *parent = nullptr);
~InternalEventFilter() override;

protected:
Q_NODISCARD bool eventFilter(QObject *object, QEvent *event) override;

private:
const QObject *m_window = nullptr;
};

FRAMELESSHELPER_END_NAMESPACE
35 changes: 35 additions & 0 deletions include/FramelessHelper/Core/private/micamaterial_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,26 @@

#include <FramelessHelper/Core/framelesshelpercore_global.h>
#include <QtGui/qbrush.h>
#ifdef FRAMELESSHELPER_HAS_THREAD
# undef FRAMELESSHELPER_HAS_THREAD
#endif
#if QT_CONFIG(thread)
# define FRAMELESSHELPER_HAS_THREAD 1
# include <QtCore/qthread.h>
#else // !QT_CONFIG(thread)
# define FRAMELESSHELPER_HAS_THREAD 0
#endif // QT_CONFIG(thread)

#if FRAMELESSHELPER_CONFIG(mica_material)

FRAMELESSHELPER_BEGIN_NAMESPACE

#if FRAMELESSHELPER_HAS_THREAD
using FramelessHelperThreadClass = QThread;
#else
using FramelessHelperThreadClass = QObject;
#endif

class MicaMaterial;
class FRAMELESSHELPER_CORE_API MicaMaterialPrivate : public QObject
{
Expand Down Expand Up @@ -63,6 +78,26 @@ class FRAMELESSHELPER_CORE_API MicaMaterialPrivate : public QObject
QSize wallpaperSize = {};
};

class WallpaperThread : public FramelessHelperThreadClass
{
FRAMELESSHELPER_QT_CLASS(WallpaperThread)

public:
explicit WallpaperThread(QObject *parent = nullptr);
~WallpaperThread() override;

Q_SIGNALS:
void imageUpdated();

#if FRAMELESSHELPER_HAS_THREAD
protected:
void run() override;
#else
public:
void start();
#endif
};

FRAMELESSHELPER_END_NAMESPACE

#endif
17 changes: 0 additions & 17 deletions src/core/framelessmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,21 +105,6 @@ Q_GLOBAL_STATIC(InternalData, g_internalData)
}
#endif

class InternalEventFilter : public QObject
{
FRAMELESSHELPER_QT_CLASS(InternalEventFilter)

public:
explicit InternalEventFilter(const QObject *window, QObject *parent = nullptr);
~InternalEventFilter() override;

protected:
Q_NODISCARD bool eventFilter(QObject *object, QEvent *event) override;

private:
const QObject *m_window = nullptr;
};

InternalEventFilter::InternalEventFilter(const QObject *window, QObject *parent) : QObject(parent), m_window(window)
{
Q_ASSERT(m_window);
Expand Down Expand Up @@ -547,5 +532,3 @@ bool FramelessManager::removeWindow(const QObject *window)
}

FRAMELESSHELPER_END_NAMESPACE

#include "framelessmanager.moc"
Loading

0 comments on commit a1b0568

Please sign in to comment.