Page MenuHomePhorge

No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None
diff --git a/src/main.cpp b/src/main.cpp
index fab703f..e50bac2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,75 +1,74 @@
/*
* This file is part of kazv.
* SPDX-FileCopyrightText: 2021-2023 tusooa <tusooa@kazv.moe>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#include <libkazv-config.hpp>
#include <immer/config.hpp> // https://github.com/arximboldi/immer/issues/168
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QtQml>
#include <QUrl>
#include <QIcon>
#include <QCommandLineParser>
#include <QQuickStyle>
#include "register-types.hpp"
#include "meta-types.hpp"
#include "kazv-platform.hpp"
#include "kazv-path-config.hpp"
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QCoreApplication::setOrganizationName("project-kazv");
QCoreApplication::setOrganizationDomain("mxc.kazv.moe");
QCoreApplication::setApplicationName("kazv");
QGuiApplication::setDesktopFileName("moe.kazv.mxc.kazv.desktop");
#if KAZV_IS_WINDOWS
if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
QQuickStyle::setStyle(QStringLiteral("org.kde.desktop"));
}
#endif
QQmlApplicationEngine engine;
QString iconThemeToSet;
#if KAZV_IS_WINDOWS
iconThemeToSet = QStringLiteral("breeze");
#endif
QCommandLineParser parser;
QCommandLineOption iconThemeOption("i", "Icon theme", "theme");
parser.addOption(iconThemeOption);
parser.process(app);
if (!parser.value(iconThemeOption).isEmpty()) {
iconThemeToSet = parser.value(iconThemeOption);
}
registerKazvQmlTypes();
-#if KAZV_IS_WINDOWS
- qRegisterMetaType<Kazv::KazvEvent>();
- qRegisterMetaType<MatrixStickerPackSource>();
-#endif
+
+ KazvMetaTypeRegistration registration;
+ Q_UNUSED(registration);
#if KAZV_IS_WINDOWS
// On Windows the default search path is only in qrc
QStringList iconThemePaths;
iconThemePaths << (appDir() + QStringLiteral("/data/icons"));
QIcon::setThemeSearchPaths(iconThemePaths);
#endif
if (!iconThemeToSet.isEmpty()) {
QIcon::setThemeName(iconThemeToSet);
}
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
if (engine.rootObjects().isEmpty()) {
return -1;
}
return app.exec();
}
diff --git a/src/meta-types.cpp b/src/meta-types.cpp
index 32d0683..9ef5062 100644
--- a/src/meta-types.cpp
+++ b/src/meta-types.cpp
@@ -1,18 +1,17 @@
/*
* This file is part of kazv.
* SPDX-FileCopyrightText: 2020-2024 tusooa <tusooa@kazv.moe>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#include <libkazv-config.hpp>
#include <immer/config.hpp> // https://github.com/arximboldi/immer/issues/168
#include "meta-types.hpp"
#include "kazv-platform.hpp"
-#if !KAZV_IS_WINDOWS
-KazvMetaTypeRegistration KazvMetaTypeRegistration::instance{
- qRegisterMetaType<Kazv::KazvEvent>(),
- qRegisterMetaType<MatrixStickerPackSource>(),
- };
-#endif
+KazvMetaTypeRegistration::KazvMetaTypeRegistration()
+ : m_kazvEvent(qRegisterMetaType<Kazv::KazvEvent>())
+ , m_matrixStickerPackSource(qRegisterMetaType<MatrixStickerPackSource>())
+{
+}
diff --git a/src/meta-types.hpp b/src/meta-types.hpp
index 64bab16..ed450d2 100644
--- a/src/meta-types.hpp
+++ b/src/meta-types.hpp
@@ -1,28 +1,27 @@
/*
* This file is part of kazv.
* SPDX-FileCopyrightText: 2020 Tusooa Zhu <tusooa@kazv.moe>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#pragma once
#include <libkazv-config.hpp>
#include <immer/config.hpp> // https://github.com/arximboldi/immer/issues/168
#include <QMetaType>
#include <base/kazvevents.hpp>
#include "matrix-sticker-pack-source.hpp"
#include "kazv-platform.hpp"
Q_DECLARE_METATYPE(Kazv::KazvEvent)
Q_DECLARE_METATYPE(MatrixStickerPackSource)
-#if !KAZV_IS_WINDOWS
class KazvMetaTypeRegistration
{
- static KazvMetaTypeRegistration instance;
public:
+ KazvMetaTypeRegistration();
+
int m_kazvEvent;
int m_matrixStickerPackSource;
};
-#endif

File Metadata

Mime Type
text/x-diff
Expires
Sun, Aug 9, 7:45 AM (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1724338
Default Alt Text
(4 KB)

Event Timeline