File indexing completed on 2025-04-27 04:04:22
0001 /* 0002 * SPDX-FileCopyrightText: (C) 2014 Vishesh Handa <me@vhanda.in> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "qmlplugins.h" 0008 0009 #include "dirmodelutils.h" 0010 #include "displaycolorspace.h" 0011 #include "exiv2extractor.h" 0012 #include "fileinfo.h" 0013 #include "imagefavoritesmodel.h" 0014 #include "imagefoldermodel.h" 0015 #include "imagelistmodel.h" 0016 #include "imagelocationmodel.h" 0017 #include "imagetagsmodel.h" 0018 #include "imagetimemodel.h" 0019 #include "notificationmanager.h" 0020 #include "roles.h" 0021 #include "sortmodel.h" 0022 #include "types.h" 0023 0024 #include <QtQml/qqml.h> 0025 0026 void QmlPlugins::initializeEngine(QQmlEngine *, const char *) 0027 { 0028 } 0029 0030 void QmlPlugins::registerTypes(const char *uri) 0031 { 0032 #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) 0033 qmlRegisterType<QAbstractItemModel>(); 0034 #else 0035 qmlRegisterAnonymousType<QAbstractItemModel>(uri, 0); 0036 #endif 0037 qmlRegisterType<ImageLocationModel>(uri, 0, 1, "ImageLocationModel"); 0038 qmlRegisterType<ImageTimeModel>(uri, 0, 1, "ImageTimeModel"); 0039 qmlRegisterType<ImageFavoritesModel>(uri, 0, 1, "ImageFavoritesModel"); 0040 qmlRegisterType<ImageTagsModel>(uri, 0, 1, "ImageTagsModel"); 0041 qmlRegisterType<ImageFolderModel>(uri, 0, 1, "ImageFolderModel"); 0042 qmlRegisterType<Exiv2Extractor>(uri, 0, 1, "Exiv2Extractor"); 0043 qmlRegisterType<SortModel>(uri, 0, 1, "SortModel"); 0044 qmlRegisterType<ImageListModel>(uri, 0, 1, "ImageListModel"); 0045 qmlRegisterType<NotificationManager>(uri, 0, 1, "NotificationManager"); 0046 qmlRegisterUncreatableType<Types>(uri, 0, 1, "Types", "Cannot instantiate the Types class"); 0047 qmlRegisterUncreatableType<Roles>(uri, 0, 1, "Roles", "Cannot instantiate the Roles class"); 0048 qmlRegisterSingletonType<DirModelUtils>(uri, 0, 1, "DirModelUtils", [=](QQmlEngine *, QJSEngine *) { 0049 return new DirModelUtils; 0050 }); 0051 qmlRegisterType<FileInfo>(uri, 0, 1, "FileInfo"); 0052 qmlRegisterSingletonType<DisplayColorSpace>(uri, 0, 1, "DisplayColorSpace", [](QQmlEngine *, QJSEngine *) { 0053 return new DisplayColorSpace{}; 0054 }); 0055 }