Hello community,

here is the log from the commit of package kaccounts-integration for 
openSUSE:Factory checked in at 2015-10-03 20:18:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kaccounts-integration (Old)
 and      /work/SRC/openSUSE:Factory/.kaccounts-integration.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kaccounts-integration"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/kaccounts-integration/kaccounts-integration.changes  
    2015-07-14 17:41:36.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.kaccounts-integration.new/kaccounts-integration.changes
 2015-10-03 20:18:06.000000000 +0200
@@ -1,0 +2,23 @@
+Sun Sep 13 18:58:44 UTC 2015 - [email protected]
+
+- Update to KDE Applications 15.08.1
+   * KDE Applications 15.08.1 
+   * https://www.kde.org/announcements/announce-applications-15.08.1.php
+
+
+-------------------------------------------------------------------
+Wed Aug 19 19:42:39 UTC 2015 - [email protected]
+
+- Update to KDE Applications 15.08.0
+   * KDE Applications 15.08.0
+   * https://www.kde.org/announcements/announce-applications-15.08.0.php
+
+-------------------------------------------------------------------
+Fri Aug  7 07:09:28 UTC 2015 - [email protected]
+
+- Update to KDE Applications 15.07.90
+   * KDE Applications 15.08.0 RC1
+   * https://www.kde.org/announcements/announce-applications-15.07.90.php
+
+
+-------------------------------------------------------------------

Old:
----
  kaccounts-integration-15.04.3.tar.xz

New:
----
  kaccounts-integration-15.08.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kaccounts-integration.spec ++++++
--- /var/tmp/diff_new_pack.Z0pOtC/_old  2015-10-03 20:18:07.000000000 +0200
+++ /var/tmp/diff_new_pack.Z0pOtC/_new  2015-10-03 20:18:07.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           kaccounts-integration
-Version:        15.04.3
+Version:        15.08.1
 Release:        0
 Summary:        KDE Accounts Providers
 License:        GPL-2.0+
@@ -39,6 +39,7 @@
 BuildRequires:  libsignon-qt5-devel
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(Qt5Core) >= 5.2.0
+BuildRequires:  pkgconfig(Qt5Qml)
 BuildRequires:  pkgconfig(Qt5Test) >= 5.2.0
 BuildRequires:  pkgconfig(Qt5Widgets) >= 5.2.0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -81,6 +82,7 @@
 %{_kf5_libdir}/libkaccounts.so*
 %{_kf5_plugindir}/
 %{_kf5_servicesdir}/
+%_kf5_qmldir/
 
 %files devel
 %defattr(-,root,root)

++++++ kaccounts-integration-15.04.3.tar.xz -> 
kaccounts-integration-15.08.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/.reviewboardrc 
new/kaccounts-integration-15.08.1/.reviewboardrc
--- old/kaccounts-integration-15.04.3/.reviewboardrc    1970-01-01 
01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/.reviewboardrc    2015-09-10 
00:59:45.000000000 +0200
@@ -0,0 +1,3 @@
+REPOSITORY = "git://anongit.kde.org/kaccounts-integration"
+REVIEWBOARD_URL = "https://git.reviewboard.kde.org";
+TARGET_GROUPS = "kdepim, telepathy"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/CMakeLists.txt 
new/kaccounts-integration-15.08.1/CMakeLists.txt
--- old/kaccounts-integration-15.04.3/CMakeLists.txt    2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/CMakeLists.txt    2015-09-10 
00:59:45.000000000 +0200
@@ -8,15 +8,18 @@
 
 enable_testing()
 
-set(KACCOUNTS_VERSION "15.04.2")
+set(KDE_APPLICATIONS_VERSION_MAJOR "15")
+set(KDE_APPLICATIONS_VERSION_MINOR "08")
+set(KDE_APPLICATIONS_VERSION_MICRO "1")
+set(KACCOUNTS_VERSION 
"${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
 set(KACCOUNTS_SOVERSION "1")
 set(REQUIRED_QT_VERSION "5.2.0")
-set(KF5_DEP_VERSION "5.4.0")
+set(REQUIRED_KF5_VERSION "5.4.0")
 set(ACCOUNTSQT_DEP_VERSION "1.10")
 set(SIGNONQT_DEP_VERSION "8.55")
 
-find_package(Qt5 5.2.0 CONFIG REQUIRED Core Widgets)
-find_package(KF5 5.0.0 REQUIRED KCMUtils KIO I18n WidgetsAddons CoreAddons 
IconThemes Config Wallet DBusAddons )
+find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Widgets Qml)
+find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED KCMUtils KIO I18n 
WidgetsAddons CoreAddons IconThemes Config Wallet DBusAddons)
 find_package(KF5Akonadi) #Akonadi-qt5 is at version 4.75.0 right now, so 
cannot be up here^
 find_package(AccountsQt5 ${ACCOUNTSQT_DEP_VERSION} REQUIRED CONFIG)
 find_package(SignOnQt5 ${SIGNONQT_DEP_VERSION} REQUIRED CONFIG)
@@ -33,11 +36,6 @@
 include(ECMInstallIcons)
 include(FeatureSummary)
 
-include_directories(
-    ${ACCOUNTSQT_INCLUDE_DIRS}
-    ${SIGNONQT_INCLUDE_DIRS}
-)
-
 remove_definitions(-DQT_NO_CAST_FROM_ASCII)
 
 add_subdirectory(src)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/COPYING.LIB 
new/kaccounts-integration-15.08.1/COPYING.LIB
--- old/kaccounts-integration-15.04.3/COPYING.LIB       1970-01-01 
01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/COPYING.LIB       2015-09-10 
00:59:45.000000000 +0200
@@ -0,0 +1,502 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/example/accounts.qml 
new/kaccounts-integration-15.08.1/example/accounts.qml
--- old/kaccounts-integration-15.04.3/example/accounts.qml      1970-01-01 
01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/example/accounts.qml      2015-09-10 
00:59:45.000000000 +0200
@@ -0,0 +1,67 @@
+import QtQuick 2.3
+import QtQuick.Controls 1.2
+import QtQuick.Layouts 1.1
+import Ubuntu.OnlineAccounts 0.1 as OA
+import org.kde.kaccounts 1.0
+
+ApplicationWindow
+{
+    StackView {
+        id: stack
+        anchors.fill: parent
+
+        initialItem: ListView {
+            Layout.fillWidth: true
+            Layout.fillHeight: true
+
+            header: Label {
+                font.pointSize: 20
+                text: "Accounts"
+            }
+            footer:  Button {
+                text: "Add new Account"
+                onClicked: stack.push(addProviderComponent)
+            }
+
+            model: OA.AccountServiceModel {
+                id: accountsModel
+                service: "global"
+                includeDisabled: true
+            }
+
+            delegate: Label {
+                text: displayName
+            }
+        }
+    }
+
+    Component {
+        id: addProviderComponent
+        ListView {
+            Layout.fillWidth: true
+            Layout.fillHeight: true
+
+            header: Label {
+                anchors.horizontalCenter: parent.horizontalCenter
+                font.pointSize: 20
+                text: "Available Accounts"
+            }
+
+            model: OA.ProviderModel {}
+            delegate: Button {
+                anchors.horizontalCenter: parent.horizontalCenter
+                text: displayName
+
+                Component {
+                    id: jobComponent
+                    CreateAccount {}
+                }
+
+                onClicked: {
+                    var job = jobComponent.createObject(stack, { providerName: 
providerId})
+                    job.start()
+                }
+            }
+        }
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/src/CMakeLists.txt 
new/kaccounts-integration-15.08.1/src/CMakeLists.txt
--- old/kaccounts-integration-15.04.3/src/CMakeLists.txt        2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/CMakeLists.txt        2015-09-10 
00:59:45.000000000 +0200
@@ -1,5 +1,6 @@
 add_subdirectory(daemon)
 add_subdirectory(lib)
+add_subdirectory(declarative)
 
 set(kaccounts_SRCS
     kaccounts.cpp
@@ -26,10 +27,10 @@
     KF5::I18n
     KF5::KCMUtils
     KF5::IconThemes
-    ${ACCOUNTSQT_LIBRARIES}
     ${SIGNONQT_LIBRARIES}
     kaccounts
 )
+target_include_directories(kcm_kaccounts PRIVATE "${SIGNONQT_INCLUDE_DIRS}")
 
 
 install(TARGETS kcm_kaccounts DESTINATION ${PLUGIN_INSTALL_DIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/src/accountwidget.cpp 
new/kaccounts-integration-15.08.1/src/accountwidget.cpp
--- old/kaccounts-integration-15.04.3/src/accountwidget.cpp     2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/accountwidget.cpp     2015-09-10 
00:59:45.000000000 +0200
@@ -78,6 +78,10 @@
         delete child;
     }
 
+    if (!account) {
+        return;
+    }
+
     QCheckBox *checkbox = 0;
     Accounts::ServiceList services = account->services();
     Q_FOREACH(const Accounts::Service &service, services) {
@@ -94,12 +98,10 @@
             m_connections << connect(uiPlugin, &KAccountsUiPlugin::uiReady, 
[=]() {
                 uiPlugin->showConfigureAccountDialog(m_account.data()->id());
             });
-        }
 
-        if (uiPlugin != 0) {
             QHBoxLayout *hlayout = new QHBoxLayout();
             QPushButton *imConfigButton = new 
QPushButton(i18n("Configure..."));
-            m_connections << connect(imConfigButton, &QPushButton::pressed, 
[=](){
+            m_connections << connect(imConfigButton, &QPushButton::clicked, 
[=](){
                 uiPlugin->init(KAccountsUiPlugin::ConfigureAccountDialog);
             });
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/src/create.cpp 
new/kaccounts-integration-15.08.1/src/create.cpp
--- old/kaccounts-integration-15.04.3/src/create.cpp    2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/create.cpp    2015-09-10 
00:59:45.000000000 +0200
@@ -74,7 +74,12 @@
             continue;
         }
         button = new 
QCommandLinkButton(i18nd(provider.trCatalog().toLatin1().constData(), 
provider.displayName().toUtf8().constData()));
-        button->setIcon(QIcon::fromTheme(provider.iconName()));
+        const QString providerIcon = provider.iconName();
+        if (providerIcon.isEmpty()) {
+            button->setIcon(QIcon::fromTheme("list-add"));
+        } else {
+            button->setIcon(QIcon::fromTheme(providerIcon));
+        }
         button->setProperty("providerName", provider.name());
         button->setToolTip(i18nd(provider.trCatalog().toLatin1().constData(), 
provider.description().toUtf8().constData()));
 
@@ -86,6 +91,7 @@
 void Create::createAccount()
 {
     QString providerName = sender()->property("providerName").toString();
+    qDebug() << "Starting new account dialog for" << providerName;
     CreateAccount *acc = new CreateAccount(providerName, this);
 
     connect(acc, &CreateAccount::finished, [=](KJob *job) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/daemon/CMakeLists.txt 
new/kaccounts-integration-15.08.1/src/daemon/CMakeLists.txt
--- old/kaccounts-integration-15.04.3/src/daemon/CMakeLists.txt 2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/daemon/CMakeLists.txt 2015-09-10 
00:59:45.000000000 +0200
@@ -25,8 +25,6 @@
     KF5::I18n
     KF5::DBusAddons
     kaccounts
-    ${ACCOUNTSQT_LIBRARIES}
-    ${SIGNONQT_LIBRARIES}
 )
 
 install(TARGETS kded_accounts DESTINATION ${PLUGIN_INSTALL_DIR})
@@ -61,4 +59,4 @@
             DESTINATION ${PLUGIN_INSTALL_DIR}/kaccounts/daemonplugins
 )
 
-endif()
\ No newline at end of file
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/daemon/accounts.desktop 
new/kaccounts-integration-15.08.1/src/daemon/accounts.desktop
--- old/kaccounts-integration-15.04.3/src/daemon/accounts.desktop       
2015-05-29 00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/daemon/accounts.desktop       
2015-09-10 00:59:45.000000000 +0200
@@ -11,6 +11,7 @@
 Name[es]=Cuentas
 Name[fi]=Tilit
 Name[fr]=Comptes
+Name[gl]=Contas
 Name[hu]=Fiókok
 Name[it]=Account
 Name[ko]=계정
@@ -18,6 +19,7 @@
 Name[pl]=Konta
 Name[pt]=Contas
 Name[pt_BR]=Contas
+Name[ro]=Conturi
 Name[ru]=Учётные записи в Интернете
 Name[sk]=Účty
 Name[sl]=Računi
@@ -43,6 +45,7 @@
 Comment[es]=Gestión de cuentas
 Comment[fi]=Tilienhallinta
 Comment[fr]=Gestion des comptes
+Comment[gl]=Xestión das contas
 Comment[hu]=Fiókkezelés
 Comment[it]=Gestione account
 Comment[ko]=계정 관리
@@ -50,6 +53,7 @@
 Comment[pl]=Zarządzanie kontami
 Comment[pt]=Gestão de contas
 Comment[pt_BR]=Gerenciamento de contas
+Comment[ro]=Gestiune conturi
 Comment[ru]=Управление учётными записями в интернет-службах
 Comment[sk]=Správa účtov
 Comment[sl]=Upravljanje računov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/declarative/CMakeLists.txt 
new/kaccounts-integration-15.08.1/src/declarative/CMakeLists.txt
--- old/kaccounts-integration-15.04.3/src/declarative/CMakeLists.txt    
1970-01-01 01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/src/declarative/CMakeLists.txt    
2015-09-10 00:59:45.000000000 +0200
@@ -0,0 +1,12 @@
+add_library(kaccountsdeclarativeplugin SHARED kaccountsdeclarativeplugin.cpp
+                            ../jobs/createaccount.cpp 
../jobs/ownclouddialog.cpp ../jobs/checkowncloudhostjob.cpp
+                            ../uipluginsmanager.cpp)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/.. 
${CMAKE_CURRENT_SOURCE_DIR}/..)
+target_link_libraries(kaccountsdeclarativeplugin Qt5::Qml Qt5::Widgets
+                      KF5::CoreAddons KF5::I18n KF5::ConfigCore KF5::KIOCore 
KF5::WidgetsAddons KF5::IconThemes
+                      kaccounts ${SIGNONQT_LIBRARIES})
+target_include_directories(kaccountsdeclarativeplugin PRIVATE 
"${SIGNONQT_INCLUDE_DIRS}")
+
+install(TARGETS kaccountsdeclarativeplugin DESTINATION 
${KDE_INSTALL_QMLDIR}/org/kde/kaccounts)
+install(FILES qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kaccounts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/declarative/kaccountsdeclarativeplugin.cpp
 
new/kaccounts-integration-15.08.1/src/declarative/kaccountsdeclarativeplugin.cpp
--- 
old/kaccounts-integration-15.04.3/src/declarative/kaccountsdeclarativeplugin.cpp
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/kaccounts-integration-15.08.1/src/declarative/kaccountsdeclarativeplugin.cpp
    2015-09-10 00:59:45.000000000 +0200
@@ -0,0 +1,26 @@
+/*************************************************************************************
+ *  Copyright (C) 2015 by Aleix Pol <[email protected]>                         
      *
+ *                                                                             
      *
+ *  This program is free software; you can redistribute it and/or              
      *
+ *  modify it under the terms of the GNU General Public License                
      *
+ *  as published by the Free Software Foundation; either version 2             
      *
+ *  of the License, or (at your option) any later version.                     
      *
+ *                                                                             
      *
+ *  This program is distributed in the hope that it will be useful,            
      *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of             
      *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              
      *
+ *  GNU General Public License for more details.                               
      *
+ *                                                                             
      *
+ *  You should have received a copy of the GNU General Public License          
      *
+ *  along with this program; if not, write to the Free Software                
      *
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA   *
+ 
*************************************************************************************/
+
+#include "kaccountsdeclarativeplugin.h"
+#include "../jobs/createaccount.h"
+#include <qqml.h>
+
+void KAccountsDeclarativePlugin::registerTypes(const char* uri)
+{
+    qmlRegisterType<CreateAccount>(uri, 1, 0, "CreateAccount");
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/declarative/kaccountsdeclarativeplugin.h 
new/kaccounts-integration-15.08.1/src/declarative/kaccountsdeclarativeplugin.h
--- 
old/kaccounts-integration-15.04.3/src/declarative/kaccountsdeclarativeplugin.h  
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/kaccounts-integration-15.08.1/src/declarative/kaccountsdeclarativeplugin.h  
    2015-09-10 00:59:45.000000000 +0200
@@ -0,0 +1,32 @@
+/*************************************************************************************
+ *  Copyright (C) 2015 by Aleix Pol <[email protected]>                         
      *
+ *                                                                             
      *
+ *  This program is free software; you can redistribute it and/or              
      *
+ *  modify it under the terms of the GNU General Public License                
      *
+ *  as published by the Free Software Foundation; either version 2             
      *
+ *  of the License, or (at your option) any later version.                     
      *
+ *                                                                             
      *
+ *  This program is distributed in the hope that it will be useful,            
      *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of             
      *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              
      *
+ *  GNU General Public License for more details.                               
      *
+ *                                                                             
      *
+ *  You should have received a copy of the GNU General Public License          
      *
+ *  along with this program; if not, write to the Free Software                
      *
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA   *
+ 
*************************************************************************************/
+
+#ifndef KACCOUNTSDECLARATIVEPLUGIN_H
+#define KACCOUNTSDECLARATIVEPLUGIN_H
+
+#include <QQmlExtensionPlugin>
+
+class KAccountsDeclarativePlugin : public QQmlExtensionPlugin
+{
+Q_OBJECT
+Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
+public:
+    virtual void registerTypes(const char* uri);
+};
+
+#endif // KACCOUNTSDECLARATIVEPLUGIN_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/src/declarative/qmldir 
new/kaccounts-integration-15.08.1/src/declarative/qmldir
--- old/kaccounts-integration-15.04.3/src/declarative/qmldir    1970-01-01 
01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/src/declarative/qmldir    2015-09-10 
00:59:45.000000000 +0200
@@ -0,0 +1,3 @@
+module org.kde.kaccounts
+
+plugin kaccountsdeclarativeplugin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/jobs/createaccount.cpp 
new/kaccounts-integration-15.08.1/src/jobs/createaccount.cpp
--- old/kaccounts-integration-15.04.3/src/jobs/createaccount.cpp        
2015-05-29 00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/jobs/createaccount.cpp        
2015-09-10 00:59:45.000000000 +0200
@@ -19,6 +19,7 @@
 #include "createaccount.h"
 #include "ownclouddialog.h"
 #include "lib/kaccountsuiplugin.h"
+#include "uipluginsmanager.h"
 
 #include <QDebug>
 
@@ -36,6 +37,12 @@
 #include <KSharedConfig>
 #include <KConfigGroup>
 
+CreateAccount::CreateAccount(QObject* parent)
+ : CreateAccount(QString(), parent)
+{
+
+}
+
 CreateAccount::CreateAccount(const QString &providerName, QObject* parent)
  : KJob(parent)
  , m_providerName(providerName)
@@ -53,114 +60,11 @@
     qDebug() << m_providerName;
     if (m_providerName == QLatin1String("owncloud")) {
         QMetaObject::invokeMethod(this, "processSessionOwncloud");
-    } else if (m_providerName.startsWith(QLatin1String("ktp"))) {
-        QMetaObject::invokeMethod(this, "processSessionKTp");
     } else {
         QMetaObject::invokeMethod(this, "processSession");
     }
 }
 
-void CreateAccount::processSessionKTp()
-{
-    QString pluginPath;
-
-    QStringList paths = QCoreApplication::libraryPaths();
-    Q_FOREACH (const QString &libraryPath, paths) {
-        QString path(libraryPath + QStringLiteral("/kaccounts/ui"));
-        QDir dir(path);
-
-        if (!dir.exists()) {
-            continue;
-        }
-
-        QStringList entryList = dir.entryList(QDir::Files | 
QDir::NoDotAndDotDot);
-        Q_FOREACH (const QString &fileName, entryList) {
-            if (fileName == 
QLatin1String("ktpaccountskcm_plugin_kaccounts.so")) {
-                pluginPath = dir.absoluteFilePath(fileName);
-            }
-        }
-    }
-
-    QPluginLoader loader(pluginPath);
-
-    if (!loader.load()) {
-        qWarning() << "Could not create KAccountsUiPlugin: " << pluginPath;
-        qWarning() << loader.errorString();
-        return;
-    }
-
-    QObject *obj = loader.instance();
-    if (obj) {
-        KAccountsUiPlugin *ui = qobject_cast<KAccountsUiPlugin*>(obj);
-        if (!ui) {
-            qDebug() << "Plugin could not be converted to an 
KAccountsUiPlugin";
-            qDebug() << pluginPath;
-            return;
-        }
-
-        connect(ui, SIGNAL(success(QString,QString,QVariantMap)),
-                this, SLOT(ktpDialogFinished(QString,QString,QVariantMap)));
-
-        connect(ui, SIGNAL(error(QString)),
-                this, SLOT(ktpDialogError(QString)));
-
-        ui->init(KAccountsUiPlugin::NewAccountDialog);
-
-        // When the plugin has finished building the UI, show it right away
-        connect(ui, &KAccountsUiPlugin::uiReady, 
[=](){ui->showNewAccountDialog();});
-
-        // Pass the provider name without the "ktp-" prefix, the rest matches
-        // a Telepathy service name, which allows to open a specialized KTp
-        // dialog for creating that particular account
-        ui->setProviderName(m_providerName.mid(4));
-    } else {
-        qDebug() << "Plugin could not creaate instance" << pluginPath;
-    }
-}
-
-void CreateAccount::ktpDialogFinished(const QString &username, const QString 
&password, const QVariantMap &additionalData)
-{
-    // Set up the new identity
-    SignOn::IdentityInfo info;
-    info.setUserName(username);
-    info.setSecret(password);
-    info.setCaption(username);
-    info.setAccessControlList(QStringList(QLatin1String("*")));
-    info.setType(SignOn::IdentityInfo::Application);
-
-    m_identity = SignOn::Identity::newIdentity(info, this);
-    m_identity->storeCredentials();
-
-    m_account = m_manager->createAccount(m_providerName);
-    // The "uid" in additionalData is Telepathy's Account object path
-    // we need this to have a KTp::Account<-->KAccounts::Account mapping
-    m_account->setValue("uid", additionalData.value("uid").toString());
-    m_done = true;
-
-    Accounts::Service service;
-    m_accInfo = new Accounts::AccountService(m_account, service, this);
-    connect(m_identity, SIGNAL(info(SignOn::IdentityInfo)), 
SLOT(info(SignOn::IdentityInfo)));
-    // Proceed to finish creating the new Account
-    m_identity->queryInfo();
-
-    // Delete the KTp dialog
-    sender()->deleteLater();
-}
-
-void CreateAccount::ktpDialogError(const QString &error)
-{
-    qWarning() << "Error while creating KTp account:" << error;
-    if (error.isEmpty()) {
-        setError(-1);
-    } else {
-        setError(KJob::UserDefinedError);
-    }
-    setErrorText(error);
-    // Delete the KTp dialog
-    sender()->deleteLater();
-    emitResult();
-}
-
 void CreateAccount::processSessionOwncloud()
 {
     OwncloudDialog* dialog = new OwncloudDialog();
@@ -194,80 +98,110 @@
     m_identity->queryInfo();
 }
 
-void CreateAccount::accountCreated()
+void CreateAccount::processSession()
+{
+    m_account = m_manager->createAccount(m_providerName);
+    Accounts::Service service;
+    m_accInfo = new Accounts::AccountService(m_account, service, this);
+
+    const QString pluginName = m_account->provider().pluginName();
+    if (!pluginName.isEmpty()) {
+        loadPluginAndShowDialog(pluginName);
+    } else {
+        SignOn::IdentityInfo info;
+        info.setCaption(m_providerName);
+        info.setAccessControlList(QStringList("*"));
+        info.setType(SignOn::IdentityInfo::Application);
+        info.setStoreSecret(true);
+
+        m_identity = SignOn::Identity::newIdentity(info, this);
+        m_identity->storeCredentials();
+
+        connect(m_identity, SIGNAL(info(SignOn::IdentityInfo)), 
SLOT(info(SignOn::IdentityInfo)));
+        connect(m_identity, &SignOn::Identity::error, [=](const SignOn::Error 
&err) {
+            qDebug() << "Error storing identity:" << err.message();
+        });
+
+        QVariantMap data = m_accInfo->authData().parameters();
+        data.insert("Embedded", false);
+
+        SignOn::SessionData sessionData(data);
+        SignOn::AuthSessionP session = 
m_identity->createSession(m_accInfo->authData().method());
+        qDebug() << "Starting auth session with" << 
m_accInfo->authData().method();
+        connect(session, SIGNAL(error(SignOn::Error)), 
SLOT(sessionError(SignOn::Error)));
+        connect(session, SIGNAL(response(SignOn::SessionData)), 
SLOT(sessionResponse(SignOn::SessionData)));
+
+        session->process(sessionData, m_accInfo->authData().mechanism());
+    }
+}
+
+void CreateAccount::loadPluginAndShowDialog(const QString &pluginName)
 {
-    if (m_providerName.startsWith(QLatin1String("ktp-"))) {
-        QString uid = m_account->value("uid").toString();
+    KAccountsUiPlugin *ui = 
KAccounts::UiPluginsManager::pluginForName(pluginName);
 
-        KSharedConfigPtr kaccountsConfig = 
KSharedConfig::openConfig(QStringLiteral("kaccounts-ktprc"));
-        KConfigGroup ktpKaccountsGroup = 
kaccountsConfig->group(QStringLiteral("ktp-kaccounts"));
-        ktpKaccountsGroup.writeEntry(uid, m_account->id());
-
-        KConfigGroup kaccountsKtpGroup = 
kaccountsConfig->group(QStringLiteral("kaccounts-ktp"));
-        kaccountsKtpGroup.writeEntry(QString::number(m_account->id()), uid);
-        qDebug() << "Syncing config";
-        kaccountsConfig->sync();
+    if (!ui) {
+        qDebug() << "Plugin could not be loaded";
+        pluginError(i18nc("The %1 is for plugin name, eg. Could not load UI 
plugin", "Could not load %1 plugin, please check your installation", 
pluginName));
+        return;
     }
 
-    emitResult();
+    connect(ui, &KAccountsUiPlugin::success, this, 
&CreateAccount::pluginFinished, Qt::UniqueConnection);
+
+    connect(ui, &KAccountsUiPlugin::error, this, &CreateAccount::pluginError, 
Qt::UniqueConnection);
+
+    ui->init(KAccountsUiPlugin::NewAccountDialog);
+
+    // When the plugin has finished building the UI, show it right away
+    connect(ui, &KAccountsUiPlugin::uiReady, ui, 
&KAccountsUiPlugin::showNewAccountDialog, Qt::UniqueConnection);
+
+    ui->setProviderName(m_providerName);
 }
 
-void CreateAccount::processSession()
+void CreateAccount::pluginFinished(const QString &screenName, const QString 
&secret, const QVariantMap &/*data*/)
 {
-    m_account = m_manager->createAccount(m_providerName);
-
+    // Set up the new identity
     SignOn::IdentityInfo info;
+    info.setStoreSecret(true);
+    info.setUserName(screenName);
+    info.setSecret(secret, true);
     info.setCaption(m_providerName);
-    info.setAccessControlList(QStringList("*"));
+    info.setAccessControlList(QStringList(QLatin1String("*")));
     info.setType(SignOn::IdentityInfo::Application);
-    info.setStoreSecret(true);
 
     m_identity = SignOn::Identity::newIdentity(info, this);
-    m_identity->storeCredentials();
-
     connect(m_identity, SIGNAL(info(SignOn::IdentityInfo)), 
SLOT(info(SignOn::IdentityInfo)));
 
-    Accounts::Service service;
-    m_accInfo = new Accounts::AccountService(m_account, service, this);
+    m_done = true;
 
-    QVariantMap data = m_accInfo->authData().parameters();
-    data.insert("Embedded", false);
+    m_identity->storeCredentials();
+    connect(m_identity, &SignOn::Identity::credentialsStored, m_identity, 
&SignOn::Identity::queryInfo);
+}
 
-    SignOn::SessionData sessionData(data);
+void CreateAccount::pluginError(const QString &error)
+{
+    if (error.isEmpty()) {
+        setError(-1);
+    } else {
+        setError(KJob::UserDefinedError);
+    }
+    setErrorText(error);
+    // Delete the dialog
+    emitResult();
+}
 
-    SignOn::AuthSessionP session = 
m_identity->createSession(m_accInfo->authData().method());
-    connect(session, SIGNAL(error(SignOn::Error)), 
SLOT(sessionError(SignOn::Error)));
-    connect(session, SIGNAL(response(SignOn::SessionData)), 
SLOT(sessionResponse(SignOn::SessionData)));
-
-    session->process(sessionData, m_accInfo->authData().mechanism());
-}
-
-void CreateAccount::sessionResponse(const SignOn::SessionData& data)
-{
-    qDebug() << "Response:";
-    qDebug() << "\tToken:" << data.getProperty("AccessToken");
-    qDebug() << "\tExpires:" << data.getProperty("ExpiresIn");
-    qDebug() << "\tCaption:" << data.Caption();
-    qDebug() << "\tControlTokens:" << data.getAccessControlTokens();
-    qDebug() << "\tPropertyNames:" << data.propertyNames();
-    qDebug() << "\tProxy:" << data.NetworkProxy();
-    qDebug() << "\tRealm:" << data.Realm();
-    qDebug() << "\tSecret:" << data.Secret();
-    qDebug() << "\tUsername:" << data.UserName();
-    qDebug() << "\t:" << data.getProperty("ScreenName");
+void CreateAccount::sessionResponse(const SignOn::SessionData &/*data*/)
+{
+    qDebug() << "Received session response";
 
     m_done = true;
     m_identity->queryInfo();
 }
 
-void CreateAccount::info(const SignOn::IdentityInfo& info)
+void CreateAccount::info(const SignOn::IdentityInfo &info)
 {
     qDebug() << "Info:";
     qDebug() << "\tId:" << info.id();
-    qDebug() << "\taccessControl:" << info.accessControlList();
     qDebug() << "\tcaption:" << info.caption();
-    qDebug() << "\tid:" << info.id();
-    qDebug() << "\tstoringSecret:" << info.isStoringSecret();
     qDebug() << "\towner:" << info.owner();
     qDebug() << "\tuserName:" << info.userName();
 
@@ -280,6 +214,7 @@
     }
     m_account->setValue("username", info.userName());
 
+    m_account->selectService();
     m_account->setCredentialsId(info.id());
 
     Accounts::AuthData authData = m_accInfo->authData();
@@ -307,8 +242,8 @@
         m_account->setEnabled(true);
     }
 
-    connect(m_account, SIGNAL(synced()), SLOT(accountCreated()));
     m_account->sync();
+    connect(m_account, &Accounts::Account::synced, this, 
&CreateAccount::emitResult);
 }
 
 void CreateAccount::sessionError(const SignOn::Error &signOnError)
@@ -324,3 +259,11 @@
     setErrorText(i18n("There was an error while trying to process the request: 
%1", signOnError.message()));
     emitResult();
 }
+
+void CreateAccount::setProviderName(const QString &name)
+{
+    if (m_providerName != name) {
+        m_providerName = name;
+        Q_EMIT providerNameChanged();
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/jobs/createaccount.h 
new/kaccounts-integration-15.08.1/src/jobs/createaccount.h
--- old/kaccounts-integration-15.04.3/src/jobs/createaccount.h  2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/jobs/createaccount.h  2015-09-10 
00:59:45.000000000 +0200
@@ -38,24 +38,30 @@
 class CreateAccount : public KJob
 {
     Q_OBJECT
+    Q_PROPERTY(QString providerName READ providerName WRITE setProviderName 
NOTIFY providerNameChanged)
 public:
+    explicit CreateAccount(QObject* parent = 0);
     explicit CreateAccount(const QString &providerName, QObject* parent = 0);
 
-    virtual void start();
+    QString providerName() const { return m_providerName; }
+    void setProviderName(const QString &name);
+    void start() Q_DECL_OVERRIDE;
 
 private Q_SLOTS:
     void processSessionOwncloud();
-    void processSessionKTp();
-    void accountCreated();
     void processSession();
     void sessionError(const SignOn::Error &signOnError);
     void sessionResponse(const SignOn::SessionData &data);
     void info(const SignOn::IdentityInfo &info);
+    void pluginFinished(const QString &screenName, const QString &secret, 
const QVariantMap &map);
+    void pluginError(const QString &error);
 
-    void ktpDialogFinished(const QString &username, const QString &password, 
const QVariantMap &additionalData);
-    void ktpDialogError(const QString &error);
+Q_SIGNALS:
+    void providerNameChanged();
 
 private:
+    void loadPluginAndShowDialog(const QString &pluginName);
+
     QString m_providerName;
     Accounts::Manager *m_manager;
     Accounts::Account *m_account;
@@ -63,4 +69,4 @@
     SignOn::Identity *m_identity;
     bool m_done;
 };
-#endif //CREATE_ACCOUNT_JOB_H
\ No newline at end of file
+#endif //CREATE_ACCOUNT_JOB_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/src/kaccounts.cpp 
new/kaccounts-integration-15.08.1/src/kaccounts.cpp
--- old/kaccounts-integration-15.04.3/src/kaccounts.cpp 2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/kaccounts.cpp 2015-09-10 
00:59:45.000000000 +0200
@@ -94,6 +94,7 @@
     if (current.row() == m_model->rowCount() - 1) {
         m_ui->removeBtn->setDisabled(true);
         m_layout->setCurrentIndex(0);
+        m_accWidget->setAccount(0);
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/kcm_kaccounts.desktop 
new/kaccounts-integration-15.08.1/src/kcm_kaccounts.desktop
--- old/kaccounts-integration-15.04.3/src/kcm_kaccounts.desktop 2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/kcm_kaccounts.desktop 2015-09-10 
00:59:45.000000000 +0200
@@ -22,6 +22,7 @@
 Name[es]=Cuentas con conexión
 Name[fi]=Verkkotilit
 Name[fr]=Comptes en ligne
+Name[gl]=Contas de internet
 Name[hu]=Online fiókok
 Name[it]=Account in linea
 Name[ko]=온라인 계정
@@ -29,6 +30,7 @@
 Name[pl]=Konta sieciowe
 Name[pt]=Contas 'Online'
 Name[pt_BR]=Contas Online
+Name[ro]=Conturi online
 Name[ru]=Учётные записи в Интернете
 Name[sk]=Online účty
 Name[sl]=Spletni računi
@@ -36,7 +38,7 @@
 Name[sr@ijekavian]=Налози на вези
 Name[sr@ijekavianlatin]=Nalozi na vezi
 Name[sr@latin]=Nalozi na vezi
-Name[sv]=Direktkonton
+Name[sv]=Nätkonton
 Name[tr]=Çevrimiçi Hesaplar
 Name[uk]=Облікові записи у інтернеті
 Name[x-test]=xxOnline Accountsxx
@@ -55,6 +57,7 @@
 Comment[es]=Configurar sus cuentas de Internet, como Google, Live y Owncloud
 Comment[fi]=Verkkotiliesi asetukset (esim. Google, Live, ownCloud)
 Comment[fr]=Configurez vos comptes Internet tels que Google, Live, OwnCloud
+Comment[gl]=Configurar as túas contas de internet como a de Google, Live ou 
Owncloud.
 Comment[hu]=Állítsa be internetes fiókjait (Google, Live, Owncloud, stb)
 Comment[it]=Configura i tuoi account internet come Google, Live, ownCloud
 Comment[ko]=Google, Live, Owncloud 등 인터넷 계정 관리
@@ -62,6 +65,7 @@
 Comment[pl]=Skonfiguruj swoje konta internetowe, takie jak Google, Live, 
Owncloud
 Comment[pt]=Configure as suas contas da Internet, como as do Google, Live, 
Owncloud
 Comment[pt_BR]=Configure suas contas na Internet, como Google, Live, Owncloud
+Comment[ro]=Configurați conturile Internet cum sînt Google, Live, Owncloud
 Comment[ru]=Настройка учётных записей Google, Facebook, Jabber и других
 Comment[sk]=Nastaviť vaše internetové účty ako Google, Live, Owncloud
 Comment[sl]=Nastavite vaše internetne račune kot npr. Google, Live, Owncloud
@@ -88,6 +92,7 @@
 X-KDE-Keywords[es]=Red,Google,Live,ownCloud
 X-KDE-Keywords[fi]=Network,Verkko,Google,Live,ownCloud
 X-KDE-Keywords[fr]=Réseau, Google, Live, OwnCloud
+X-KDE-Keywords[gl]=Rede,Google,Live,ownCloud
 X-KDE-Keywords[hu]=Hálózat,Google,Live,Owncloud
 X-KDE-Keywords[it]=Rete,Google,Live,ownCloud
 X-KDE-Keywords[ko]=Network,Google,Live,ownCloud,계정,네트워크
@@ -95,6 +100,7 @@
 X-KDE-Keywords[pl]=Sieć,Google,Live,ownCloud
 X-KDE-Keywords[pt]=Rede,Google,Live,ownCloud
 X-KDE-Keywords[pt_BR]=Rede,Internet,Google,Live,ownCloud
+X-KDE-Keywords[ro]=Network,Google,Live,ownCloud,rețea
 X-KDE-Keywords[ru]=Network,Google,Live,ownCloud,учётные записи,учетные 
записи,Интернет,социальные сети,мгновенные 
сообщения,Facebook,ICQ,Jabber,Gadu-Gadu,KDE Talk,Yahoo,IBM Sametime
 X-KDE-Keywords[sk]=Sieť,Google,Live,ownCloud
 X-KDE-Keywords[sl]=Omrežje,Google,Live,ownCloud
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/src/lib/CMakeLists.txt 
new/kaccounts-integration-15.08.1/src/lib/CMakeLists.txt
--- old/kaccounts-integration-15.04.3/src/lib/CMakeLists.txt    2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/lib/CMakeLists.txt    2015-09-10 
00:59:45.000000000 +0200
@@ -30,14 +30,16 @@
              ${kaccountslib_SRCS}
 )
 
-target_link_libraries (kaccounts Qt5::Core
-                                 Qt5::Xml
-                                 KF5::CoreAddons
-                                 ${ACCOUNTSQT_LIBRARIES}
-                                 ${SIGNONQT_LIBRARIES}
+target_link_libraries (kaccounts
+    PUBLIC
+        KF5::CoreAddons
+        ${ACCOUNTSQT_LIBRARIES}
+        Qt5::Xml
+    PRIVATE
+        ${SIGNONQT_LIBRARIES}
 )
 
-target_include_directories(kaccounts INTERFACE 
"$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}/KAccounts>")
+target_include_directories(kaccounts INTERFACE 
"$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}/KAccounts>" PUBLIC 
"${ACCOUNTSQT_INCLUDE_DIRS}" PRIVATE "${SIGNONQT_INCLUDE_DIRS}")
 set_target_properties(kaccounts PROPERTIES VERSION   ${KACCOUNTS_VERSION}
                                            SOVERSION ${KACCOUNTS_SOVERSION}
                                            EXPORT_NAME KAccounts
@@ -50,6 +52,7 @@
 )
 
 install(FILES
+  "KAccountsMacros.cmake"
   "${CMAKE_CURRENT_BINARY_DIR}/KAccountsConfig.cmake"
   "${CMAKE_CURRENT_BINARY_DIR}/KAccountsConfigVersion.cmake"
   DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
@@ -68,4 +71,6 @@
         kaccounts_export.h
         ${CMAKE_CURRENT_BINARY_DIR}/kaccounts_version.h
         DESTINATION ${INCLUDE_INSTALL_DIR}/KAccounts COMPONENT Devel
-)
\ No newline at end of file
+)
+
+add_subdirectory(cmake)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/lib/KAccountsConfig.cmake.in 
new/kaccounts-integration-15.08.1/src/lib/KAccountsConfig.cmake.in
--- old/kaccounts-integration-15.04.3/src/lib/KAccountsConfig.cmake.in  
2015-05-29 00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/lib/KAccountsConfig.cmake.in  
2015-09-10 00:59:45.000000000 +0200
@@ -1,8 +1,12 @@
 @PACKAGE_INIT@
 
 find_dependency(Qt5Widgets @REQUIRED_QT_VERSION@)
-find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
+find_dependency(KF5CoreAddons @REQUIRED_KF5_VERSION@)
 find_dependency(AccountsQt5 @ACCOUNTSQT_DEP_VERSION@)
 find_dependency(SignOnQt5 @SIGNONQT_DEP_VERSION@)
+include("${CMAKE_CURRENT_LIST_DIR}/FindAccountsFileDir.cmake")
 
 include("${CMAKE_CURRENT_LIST_DIR}/KAccountsTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/KAccountsMacros.cmake")
+
+set(KACCOUNTS_MACROS_PATH "@CMAKE_INSTALL_PREFIX@/@CMAKECONFIG_INSTALL_DIR@")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/lib/KAccountsMacros.cmake 
new/kaccounts-integration-15.08.1/src/lib/KAccountsMacros.cmake
--- old/kaccounts-integration-15.04.3/src/lib/KAccountsMacros.cmake     
1970-01-01 01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/src/lib/KAccountsMacros.cmake     
2015-09-10 00:59:45.000000000 +0200
@@ -0,0 +1,13 @@
+function(kaccounts_add_provider provider_in_file)
+    get_filename_component(provider_filename ${provider_in_file} NAME_WE)
+    set(provider_file 
${CMAKE_CURRENT_BINARY_DIR}/${provider_filename}.provider)
+    execute_process(COMMAND intltool-merge -x -u --no-translations 
${provider_in_file} ${provider_file})
+    install(FILES ${provider_file} DESTINATION ${ACCOUNTS_PROVIDERS_DIR})
+endfunction()
+
+function(kaccounts_add_service service_file_in)
+    get_filename_component(service_filename ${service_file_in} NAME_WE)
+    set(service_file ${CMAKE_CURRENT_BINARY_DIR}/${service_filename}.service)
+    execute_process(COMMAND intltool-merge -x -u --no-translations 
${service_file_in} ${service_file})
+    install(FILES ${service_file} DESTINATION ${ACCOUNTS_SERVICES_DIR})
+endfunction()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/lib/cmake/CMakeLists.txt 
new/kaccounts-integration-15.08.1/src/lib/cmake/CMakeLists.txt
--- old/kaccounts-integration-15.04.3/src/lib/cmake/CMakeLists.txt      
1970-01-01 01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/src/lib/cmake/CMakeLists.txt      
2015-09-10 00:59:45.000000000 +0200
@@ -0,0 +1 @@
+install(FILES FindAccountsFileDir.cmake DESTINATION ${CMAKECONFIG_INSTALL_DIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/lib/cmake/FindAccountsFileDir.cmake 
new/kaccounts-integration-15.08.1/src/lib/cmake/FindAccountsFileDir.cmake
--- old/kaccounts-integration-15.04.3/src/lib/cmake/FindAccountsFileDir.cmake   
1970-01-01 01:00:00.000000000 +0100
+++ new/kaccounts-integration-15.08.1/src/lib/cmake/FindAccountsFileDir.cmake   
2015-09-10 00:59:45.000000000 +0200
@@ -0,0 +1,46 @@
+find_package(PkgConfig REQUIRED)
+
+execute_process(
+    COMMAND "${PKG_CONFIG_EXECUTABLE}" --variable=prefix libaccounts-glib
+    OUTPUT_VARIABLE _pkgconfig_invoke_result
+    RESULT_VARIABLE _pkgconfig_failed)
+
+if (_pkgconfig_failed)
+    message(FAILED "Couldn't find the prefix for libaccounts-glib")
+else()
+    string(REGEX REPLACE "[\r\n]"                  " " 
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    string(REGEX REPLACE " +$"                     ""  
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    set(ACCOUNTS_PREFIX_DIR ${_pkgconfig_invoke_result})
+endif()
+
+execute_process(
+    COMMAND "${PKG_CONFIG_EXECUTABLE}" --variable=providerfilesdir 
libaccounts-glib
+    OUTPUT_VARIABLE _pkgconfig_invoke_result
+    RESULT_VARIABLE _pkgconfig_failed)
+
+if (_pkgconfig_failed)
+    message(FAILED "Couldn't find the providerfilesdir for libaccounts-glib")
+else()
+    string(REGEX REPLACE "[\r\n]"                  " " 
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    string(REGEX REPLACE " +$"                     ""  
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    if (NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+        string(REPLACE ${ACCOUNTS_PREFIX_DIR} ${CMAKE_INSTALL_PREFIX} 
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    endif()
+    set(ACCOUNTS_PROVIDERS_DIR ${_pkgconfig_invoke_result})
+endif()
+
+execute_process(
+    COMMAND "${PKG_CONFIG_EXECUTABLE}" --variable=servicefilesdir 
libaccounts-glib
+    OUTPUT_VARIABLE _pkgconfig_invoke_result
+    RESULT_VARIABLE _pkgconfig_failed)
+
+if (_pkgconfig_failed)
+    message(FAILED "Couldn't find the servicefilesdir for libaccounts-glib")
+else()
+    string(REGEX REPLACE "[\r\n]"                  " " 
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    string(REGEX REPLACE " +$"                     ""  
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    if (NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+        string(REPLACE ${ACCOUNTS_PREFIX_DIR} ${CMAKE_INSTALL_PREFIX} 
_pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
+    endif()
+    set(ACCOUNTS_SERVICES_DIR ${_pkgconfig_invoke_result})
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/lib/getcredentialsjob.cpp 
new/kaccounts-integration-15.08.1/src/lib/getcredentialsjob.cpp
--- old/kaccounts-integration-15.04.3/src/lib/getcredentialsjob.cpp     
2015-05-29 00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/lib/getcredentialsjob.cpp     
2015-09-10 00:59:45.000000000 +0200
@@ -71,7 +71,7 @@
 
     Accounts::AuthData serviceAuthData = service->authData();
     authData = serviceAuthData.parameters();
-    SignOn::Identity *identity = 
SignOn::Identity::existingIdentity(serviceAuthData.credentialsId(), q);
+    SignOn::Identity *identity = 
SignOn::Identity::existingIdentity(acc->credentialsId(), q);
 
     if (!identity) {
         qWarning() << "Unable to find identity for account id" << id;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kaccounts-integration-15.04.3/src/uipluginsmanager.cpp 
new/kaccounts-integration-15.08.1/src/uipluginsmanager.cpp
--- old/kaccounts-integration-15.04.3/src/uipluginsmanager.cpp  2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/uipluginsmanager.cpp  2015-09-10 
00:59:45.000000000 +0200
@@ -37,7 +37,7 @@
 
     void loadPlugins();
 
-    QList<KAccountsUiPlugin*> uiPlugins;
+    QHash<QString, KAccountsUiPlugin*> pluginsForNames;
     QHash<QString, KAccountsUiPlugin*> pluginsForServices;
     bool pluginsLoaded;
 
@@ -52,7 +52,7 @@
 
 UiPluginsManagerPrivate::~UiPluginsManagerPrivate()
 {
-    qDeleteAll(uiPlugins);
+    qDeleteAll(pluginsForNames.values());
 }
 
 void UiPluginsManagerPrivate::loadPlugins()
@@ -87,9 +87,9 @@
                     continue;
                 }
 
-                qDebug() << "Adding plugin" << ui;
+                qDebug() << "Adding plugin" << ui << fileName;
 
-                uiPlugins << ui;
+                pluginsForNames.insert(fileName, ui);
                 Q_FOREACH (const QString &service, 
ui->supportedServicesForConfig()) {
                     qDebug() << " Adding service" << service;
                     pluginsForServices.insert(service, ui);
@@ -104,13 +104,23 @@
     pluginsLoaded = true;
 }
 
+
 QList<KAccountsUiPlugin*> UiPluginsManager::uiPlugins()
 {
     if (!s_instance->pluginsLoaded) {
         s_instance->loadPlugins();
     }
 
-    return s_instance->uiPlugins;
+    return s_instance->pluginsForNames.values();
+}
+
+KAccountsUiPlugin* UiPluginsManager::pluginForName(const QString &name)
+{
+    if (!s_instance->pluginsLoaded) {
+        s_instance->loadPlugins();
+    }
+
+    return s_instance->pluginsForNames.value(name + ".so");
 }
 
 KAccountsUiPlugin* UiPluginsManager::pluginForService(const QString &service)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/src/uipluginsmanager.h 
new/kaccounts-integration-15.08.1/src/uipluginsmanager.h
--- old/kaccounts-integration-15.04.3/src/uipluginsmanager.h    2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/src/uipluginsmanager.h    2015-09-10 
00:59:45.000000000 +0200
@@ -29,6 +29,7 @@
 public:
     static QList<KAccountsUiPlugin*> uiPlugins();
     static KAccountsUiPlugin* pluginForService(const QString &service);
+    static KAccountsUiPlugin* pluginForName(const QString &name);
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kaccounts-integration-15.04.3/tests/CMakeLists.txt 
new/kaccounts-integration-15.08.1/tests/CMakeLists.txt
--- old/kaccounts-integration-15.04.3/tests/CMakeLists.txt      2015-05-29 
00:05:27.000000000 +0200
+++ new/kaccounts-integration-15.08.1/tests/CMakeLists.txt      2015-09-10 
00:59:45.000000000 +0200
@@ -3,7 +3,7 @@
 find_package(Qt5 5.2.0 CONFIG REQUIRED Test)
 
 add_definitions("-DTEST_DATA=\"${CMAKE_CURRENT_SOURCE_DIR}/data/\"")
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${ACCOUNTSQT_INCLUDE_DIRS} 
${SIGNONQT_INCLUDE_DIRS})
 set(COMMON_LINK_LIBS Qt5::Test Qt5::Core Qt5::Xml Qt5::DBus KF5::CoreAddons 
${ACCOUNTSQT_LIBRARIES})
 
 set(testname testproviderconfig)


Reply via email to