accounts-qml-module

This commit is contained in:
Rmys
2020-04-08 21:42:57 +03:00
parent ae573241a5
commit fbe09fc49a
9 changed files with 239909 additions and 239454 deletions
@@ -0,0 +1,19 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import pisitools
from pisi.actionsapi import qt5
def setup():
qt5.configure()
def build():
qt5.make()
def install():
qt5.install()
pisitools.dodoc("COPYING", "README*")
@@ -0,0 +1,241 @@
From 678c493a083a92d1fda2375f5d2e37c00c7b9a7e Mon Sep 17 00:00:00 2001
From: Alberto Mardegan <mardy@users.sourceforge.net>
Date: Tue, 9 Jan 2018 18:23:57 +0300
Subject: [PATCH] Build: add qmltypes file to repository
Generating the file at build time is troublesome when cross-compiling.
It's better to add the generated file to the repository and add a make
target to rebuild it.
---
src/plugin.qmltypes | 187 ++++++++++++++++++++++++++++++++++++++++++++
src/src.pro | 19 +----
2 files changed, 191 insertions(+), 15 deletions(-)
create mode 100644 src/plugin.qmltypes
diff --git a/src/plugin.qmltypes b/src/plugin.qmltypes
new file mode 100644
index 0000000..8481efe
--- /dev/null
+++ b/src/plugin.qmltypes
@@ -0,0 +1,187 @@
+import QtQuick.tooling 1.2
+
+// This file describes the plugin-supplied types contained in the library.
+// It is used for QML tooling purposes only.
+//
+// This file was auto-generated by:
+// 'qmlplugindump -notrelocatable Ubuntu.OnlineAccounts 0.1 .'
+
+Module {
+ dependencies: ["QtQuick 2.8"]
+ Component {
+ name: "OnlineAccounts::Account"
+ prototype: "QObject"
+ exports: ["Ubuntu.OnlineAccounts/Account 0.1"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "RemovalOption"
+ values: {
+ "RemoveAccountOnly": 0,
+ "RemoveCredentials": 1
+ }
+ }
+ Enum {
+ name: "RemovalOptions"
+ values: {
+ "RemoveAccountOnly": 0,
+ "RemoveCredentials": 1
+ }
+ }
+ Property { name: "objectHandle"; type: "QObject"; isPointer: true }
+ Property { name: "enabled"; type: "bool"; isReadonly: true }
+ Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
+ Property { name: "displayName"; type: "string"; isReadonly: true }
+ Property { name: "accountId"; type: "uint"; isReadonly: true }
+ Property { name: "accountServiceHandle"; type: "QObject"; isReadonly: true; isPointer: true }
+ Signal { name: "synced" }
+ Signal { name: "removed" }
+ Method {
+ name: "updateDisplayName"
+ Parameter { name: "displayName"; type: "string" }
+ }
+ Method {
+ name: "updateEnabled"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Method { name: "sync" }
+ Method {
+ name: "remove"
+ Parameter { name: "options"; type: "RemovalOptions" }
+ }
+ Method { name: "remove" }
+ }
+ Component {
+ name: "OnlineAccounts::AccountService"
+ prototype: "QObject"
+ exports: ["Ubuntu.OnlineAccounts/AccountService 0.1"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "ErrorCode"
+ values: {
+ "NoError": 0,
+ "NoAccountError": 1,
+ "UserCanceledError": 2,
+ "PermissionDeniedError": 3,
+ "NetworkError": 4,
+ "SslError": 5,
+ "InteractionRequiredError": 6
+ }
+ }
+ Property { name: "objectHandle"; type: "QObject"; isPointer: true }
+ Property { name: "enabled"; type: "bool"; isReadonly: true }
+ Property { name: "serviceEnabled"; type: "bool"; isReadonly: true }
+ Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
+ Property { name: "service"; type: "QVariantMap"; isReadonly: true }
+ Property { name: "displayName"; type: "string"; isReadonly: true }
+ Property { name: "accountId"; type: "uint"; isReadonly: true }
+ Property { name: "settings"; type: "QVariantMap"; isReadonly: true }
+ Property { name: "authData"; type: "QVariantMap"; isReadonly: true }
+ Property { name: "autoSync"; type: "bool" }
+ Property { name: "credentials"; type: "QObject"; isPointer: true }
+ Signal {
+ name: "authenticated"
+ Parameter { name: "reply"; type: "QVariantMap" }
+ }
+ Signal {
+ name: "authenticationError"
+ Parameter { name: "error"; type: "QVariantMap" }
+ }
+ Method {
+ name: "authenticate"
+ Parameter { name: "sessionData"; type: "QVariantMap" }
+ }
+ Method { name: "authenticate" }
+ Method { name: "cancelAuthentication" }
+ Method {
+ name: "updateServiceEnabled"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Method {
+ name: "updateSettings"
+ Parameter { name: "settings"; type: "QVariantMap" }
+ }
+ }
+ Component {
+ name: "OnlineAccounts::AccountServiceModel"
+ prototype: "QAbstractListModel"
+ exports: ["Ubuntu.OnlineAccounts/AccountServiceModel 0.1"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Property { name: "includeDisabled"; type: "bool" }
+ Property { name: "accountId"; type: "uint" }
+ Property { name: "account"; type: "QObject"; isPointer: true }
+ Property { name: "applicationId"; type: "string" }
+ Property { name: "provider"; type: "string" }
+ Property { name: "serviceType"; type: "string" }
+ Property { name: "service"; type: "string" }
+ Method {
+ name: "get"
+ type: "QVariant"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "roleName"; type: "string" }
+ }
+ }
+ Component {
+ name: "OnlineAccounts::ApplicationModel"
+ prototype: "QAbstractListModel"
+ exports: ["Ubuntu.OnlineAccounts/ApplicationModel 0.1"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Property { name: "service"; type: "string" }
+ Method {
+ name: "get"
+ type: "QVariant"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "roleName"; type: "string" }
+ }
+ }
+ Component {
+ name: "OnlineAccounts::Credentials"
+ prototype: "QObject"
+ exports: ["Ubuntu.OnlineAccounts/Credentials 0.1"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "credentialsId"; type: "uint" }
+ Property { name: "caption"; type: "string" }
+ Property { name: "userName"; type: "string" }
+ Property { name: "secret"; type: "string" }
+ Property { name: "storeSecret"; type: "bool" }
+ Property { name: "acl"; type: "QStringList" }
+ Property { name: "methods"; type: "QVariantMap" }
+ Signal { name: "synced" }
+ Signal { name: "removed" }
+ Method { name: "sync" }
+ Method { name: "remove" }
+ }
+ Component {
+ name: "OnlineAccounts::Manager"
+ prototype: "QObject"
+ exports: ["Ubuntu.OnlineAccounts/Manager 0.1"]
+ isCreatable: false
+ isSingleton: true
+ exportMetaObjectRevisions: [0]
+ Method {
+ name: "loadAccount"
+ type: "QObject*"
+ Parameter { name: "accountId"; type: "uint" }
+ }
+ Method {
+ name: "createAccount"
+ type: "QObject*"
+ Parameter { name: "providerName"; type: "string" }
+ }
+ }
+ Component {
+ name: "OnlineAccounts::ProviderModel"
+ prototype: "QAbstractListModel"
+ exports: ["Ubuntu.OnlineAccounts/ProviderModel 0.1"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "applicationId"; type: "string" }
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Method {
+ name: "get"
+ type: "QVariant"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "roleName"; type: "string" }
+ }
+ }
+}
diff --git a/src/src.pro b/src/src.pro
index 8b26639..abfc851 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -61,22 +61,11 @@ PLUGIN_INSTALL_BASE = $$[QT_INSTALL_QML]/$$replace(API_URI, \\., /)
target.path = $${PLUGIN_INSTALL_BASE}
INSTALLS += target
-qmldir.files = $${DESTDIR}/qmldir
+qmldir.files = $${DESTDIR}/qmldir plugin.qmltypes
qmldir.path = $${PLUGIN_INSTALL_BASE}
INSTALLS += qmldir
-generateQmlTypes.output = $${DESTDIR}/plugin.qmltypes
-generateQmlTypes.input = QML_PLUGINS
-generateQmlTypes.commands = export LD_PRELOAD=${QMAKE_FILE_IN}; $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > ${QMAKE_FILE_OUT}
-generateQmlTypes.name = Generate ${QMAKE_FILE_OUT}
-generateQmlTypes.CONFIG += no_link
-generateQmlTypes.variable_out = QML_TYPES
-QMAKE_EXTRA_COMPILERS += generateQmlTypes
-
QML_PLUGINS += $${DESTDIR}/lib$${TARGET}.so
-
-qmltypes.path = $${PLUGIN_INSTALL_BASE}
-qmltypes.files = $${DESTDIR}/plugin.qmltypes
-qmltypes.depends = $${DESTDIR}/plugin.qmltypes
-qmltypes.CONFIG += no_check_exist
-INSTALLS += qmltypes
+qmltypes.commands = export LD_PRELOAD=$${QML_PLUGINS}; $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > $$PWD/plugin.qmltypes
+qmltypes.depends = $${QML_PLUGINS}
+QMAKE_EXTRA_TARGETS += qmltypes
--
2.22.2
@@ -0,0 +1,72 @@
From 69e17dec5add40655cd9334ec7ad4eef13fed8a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de>
Date: Wed, 5 Jun 2019 13:28:44 +0200
Subject: [PATCH] Fix compilation with Qt 5.13
---
src/account-service-model.cpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/account-service-model.cpp b/src/account-service-model.cpp
index 45795c5..deb157e 100644
--- a/src/account-service-model.cpp
+++ b/src/account-service-model.cpp
@@ -183,7 +183,7 @@ AccountServiceModelPrivate::addServicesFromAccount(Accounts::Account *account)
newModelItems.append(accountService);
}
- qSort(newModelItems.begin(), newModelItems.end(), sortFunction);
+ std::sort(newModelItems.begin(), newModelItems.end(), sortFunction);
addItems(newModelItems);
}
@@ -211,7 +211,7 @@ void AccountServiceModelPrivate::addItems(const AccountServices &added)
foreach (Accounts::AccountService *accountService, added) {
// Find where the item should be inserted
AccountServices::iterator i =
- qLowerBound(modelItems.begin(), modelItems.end(),
+ std::lower_bound(modelItems.begin(), modelItems.end(),
accountService, sortFunction);
int index = i - modelItems.begin();
addedIndexes[index]++;
@@ -253,7 +253,7 @@ AccountServiceModelPrivate::removeItems(const AccountServices &removed)
removedIndexes.append(index);
}
// sort the indexes from highest to lower, and start updating the list
- qSort(removedIndexes.begin(), removedIndexes.end(), qGreater<int>());
+ std::sort(removedIndexes.begin(), removedIndexes.end(), std::greater<int>());
int first = -1;
int last = -1;
foreach (int index, removedIndexes) {
@@ -281,7 +281,7 @@ AccountServiceModelPrivate::removeItems(const AccountServices &removed)
void AccountServiceModelPrivate::sortItems()
{
- qSort(modelItems.begin(), modelItems.end(), sortFunction);
+ std::sort(modelItems.begin(), modelItems.end(), sortFunction);
}
void AccountServiceModelPrivate::update()
@@ -809,7 +809,8 @@ QVariant AccountServiceModel::data(const QModelIndex &index, int role) const
ret = accountService->enabled();
break;
case AccountServiceRole:
- qWarning("accountService role is deprecated, use accountServiceHandle");
+ qWarning() << "accountService role is deprecated, use accountServiceHandle";
+ /* FALLTHRU */
case AccountServiceHandleRole:
object = accountService;
break;
@@ -817,7 +818,8 @@ QVariant AccountServiceModel::data(const QModelIndex &index, int role) const
ret = accountService->account()->id();
break;
case AccountRole:
- qWarning("account role is deprecated, use accountHandle");
+ qWarning() << "account role is deprecated, use accountHandle";
+ /* FALLTHRU */
case AccountHandleRole:
object = accountService->account();
break;
--
2.22.2
@@ -0,0 +1,54 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>accounts-qml-module</Name>
<Homepage>https://launchpad.net/ubuntu/</Homepage>
<Packager>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>LGPLv3</License>
<IsA>library</IsA>
<Summary>Expose the Online Accounts API to QML applications</Summary>
<Description>Expose the Online Accounts API to QML applications</Description>
<Archive sha1sum="bb99ab9922ccf849fc7009ebef9f47559f443576" type="targz">https://gitlab.com/accounts-sso/accounts-qml-module/-/archive/VERSION_0.7/accounts-qml-module-VERSION_0.7.tar.gz</Archive>
<BuildDependencies>
<Dependency>signon-devel</Dependency>
<Dependency>libaccounts-qt5-devel</Dependency>
<Dependency versionFrom="5.14.2">qt5-base-devel</Dependency>
<Dependency versionFrom="5.14.2">qt5-assistant-devel</Dependency>
<Dependency versionFrom="5.14.2">qt5-declarative-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch>Build-add-qmltypes-file-to-repository.patch</Patch>
<Patch level="1">Fix-compilation-with-Qt-5.13.patch</Patch>
</Patches>
</Source>
<Package>
<Name>accounts-qml-module</Name>
<RuntimeDependencies>
<Dependency>signon</Dependency>
<Dependency>libaccounts-qt5</Dependency>
<Dependency versionFrom="5.14.2">qt5-base</Dependency>
<Dependency versionFrom="5.14.2">qt5-declarative</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="data">/usr/share</Path>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2020-04-08</Date>
<Version>0.6</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>accounts-qml-module</Name>
<Summary xml:lang="tr">Expose the Online Accounts API to QML applications</Summary>
<Description xml:lang="tr">Expose the Online Accounts API to QML applications</Description>
</Source>
</PISI>