Hello community, here is the log from the commit of package kross for openSUSE:Factory checked in at 2015-02-16 15:07:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kross (Old) and /work/SRC/openSUSE:Factory/.kross.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kross" Changes: -------- --- /work/SRC/openSUSE:Factory/kross/kross.changes 2015-01-29 12:54:24.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kross.new/kross.changes 2015-02-16 17:32:16.000000000 +0100 @@ -1,0 +2,8 @@ +Sun Feb 8 18:15:42 UTC 2015 - [email protected] + +- Update to 5.7.0 + * Fixed Kross::MetaFunction so it works with Qt5's metaobject system + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.7.0.php + +------------------------------------------------------------------- Old: ---- kross-5.6.0.tar.xz New: ---- kross-5.7.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kross.spec ++++++ --- /var/tmp/diff_new_pack.2VplkV/_old 2015-02-16 17:32:16.000000000 +0100 +++ /var/tmp/diff_new_pack.2VplkV/_new 2015-02-16 17:32:16.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package kross # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,12 +16,13 @@ # +%define _tar_path 5.7 Name: kross -Version: 5.6.0 +Version: %{_tar_path}.0 Release: 0 %define kf5_version %{version} BuildRequires: cmake >= 2.8.12 -BuildRequires: extra-cmake-modules >= 1.6.0 +BuildRequires: extra-cmake-modules >= 1.7.0 BuildRequires: fdupes BuildRequires: kcompletion-devel >= %{kf5_version} BuildRequires: kdoctools-devel >= %{kf5_version} @@ -45,7 +46,7 @@ License: LGPL-2.1+ Group: System/GUI/KDE Url: http://www.kde.org -Source: http://download.kde.org/stable/frameworks/5.6/portingAids/%{name}-%{version}.tar.xz +Source: http://download.kde.org/stable/frameworks/%{_tar_path}/portingAids/%{name}-%{version}.tar.xz Source1: baselibs.conf BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ kross-5.6.0.tar.xz -> kross-5.7.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/CMakeLists.txt new/kross-5.7.0/CMakeLists.txt --- old/kross-5.6.0/CMakeLists.txt 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/CMakeLists.txt 2015-02-08 16:23:53.000000000 +0100 @@ -2,7 +2,7 @@ project(Kross) -find_package(ECM 1.6.0 REQUIRED NO_MODULE) +find_package(ECM 1.7.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) @@ -16,8 +16,8 @@ include(KDEFrameworkCompilerSettings) include(KDECMakeSettings) -set(KF5_VERSION "5.6.0") # handled by release scripts -set(KF5_DEP_VERSION "5.6.0") # handled by release scripts +set(KF5_VERSION "5.7.0") # handled by release scripts +set(KF5_DEP_VERSION "5.7.0") # handled by release scripts ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KROSS VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kross_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfigVersion.cmake" @@ -26,6 +26,17 @@ set(REQUIRED_QT_VERSION "5.2") find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Script Xml Widgets UiTools) + +find_package(Qt5Test ${QT_MIN_VERSION} CONFIG QUIET) +set_package_properties(Qt5Test PROPERTIES + PURPOSE "Required for tests" + TYPE OPTIONAL + ) +add_feature_info("Qt5Test" Qt5Test_FOUND "Required for building tests") +if (NOT Qt5Test_FOUND) + set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.") +endif() + find_package(KF5Completion ${KF5_DEP_VERSION} REQUIRED) find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED) find_package(KF5DocTools ${KF5_DEP_VERSION} REQUIRED) @@ -46,10 +57,12 @@ endif() add_subdirectory(docs) add_subdirectory(src) +if (BUILD_TESTING) add_subdirectory(autotests) +endif() # create a Config.cmake and a ConfigVersion.cmake file and install them -set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5Kross") +set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Kross") ecm_configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5KrossConfig.cmake.in" @@ -58,7 +71,7 @@ ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kross_version.h - DESTINATION ${KF5_INCLUDE_INSTALL_DIR} COMPONENT Devel) + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfig.cmake" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/autotests/CMakeLists.txt new/kross-5.7.0/autotests/CMakeLists.txt --- old/kross-5.6.0/autotests/CMakeLists.txt 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/autotests/CMakeLists.txt 2015-02-08 16:23:53.000000000 +0100 @@ -12,6 +12,14 @@ add_test(NAME krossqtstest-test-es COMMAND krossqtstest ${CMAKE_CURRENT_SOURCE_DIR}/qtstest.es) +add_executable(metafunctiontest metafunctiontest.cpp) +ecm_mark_as_test(metafunctiontest) +target_link_libraries(metafunctiontest + Qt5::Test + KF5::KrossCore + ) +add_test(NAME kross-metafunctiontest COMMAND metafunctiontest) + #set(krosstest_SRCS # testobject.cpp # main.cpp ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/autotests/metafunctiontest.cpp new/kross-5.7.0/autotests/metafunctiontest.cpp --- old/kross-5.6.0/autotests/metafunctiontest.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/kross-5.7.0/autotests/metafunctiontest.cpp 2015-02-08 16:23:53.000000000 +0100 @@ -0,0 +1,123 @@ +/* This file is part of the KDE frameworks + Copyright (c) 2015 David Faure <[email protected]> + + 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 of the License or ( at + your option ) version 3 or, at the discretion of KDE e.V. ( which shall + act as a proxy as in section 14 of the GPLv3 ), 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 + Library General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include <QDebug> +#include <kross/core/metafunction.h> +#include <QMetaMethod> +#include <QtTest/QTest> + +class MyFunction : public Kross::MetaFunction +{ +public: + MyFunction(QObject* sender, const QByteArray& signal) + : Kross::MetaFunction(sender, signal) {} + + int qt_metacall(QMetaObject::Call _c, int _id, void **_a) { + _id = QObject::qt_metacall(_c, _id, _a); + if (_id >= 0 && _c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: + { + // convert the arguments + QMetaMethod method = metaObject()->method( metaObject()->indexOfMethod(m_signature.constData()) ); + m_paramTypes = method.parameterTypes(); + for (int idx = 0; idx < m_paramTypes.size(); ++idx) { + const int tp = QVariant::nameToType( m_paramTypes.at(idx).constData() ); + QVariant v(tp, _a[idx+1]); + m_paramValues.append(v); + } + } + } + _id -= 1; + } + return _id; + } + QList<QByteArray> paramTypes() const { return m_paramTypes; } + QList<QVariant> paramValues() const { return m_paramValues; } +private: + QList<QByteArray> m_paramTypes; + QList<QVariant> m_paramValues; +}; + +class WrappedObject : public QObject +{ + Q_OBJECT +public: + void doEmit() { emit valueChanged(42); } +Q_SIGNALS: + void valueChanged(int); +}; + +class MetaFunctionTest : public QObject +{ + Q_OBJECT +private Q_SLOTS: + void testMetaFunction() + { + WrappedObject obj; + QList<MyFunction *> funcs; + // mostly from kross-interpreters/python/pythonscript.cpp + const QMetaObject* metaobject = obj.metaObject(); + const int count = metaobject->methodCount(); + for(int i = 0; i < count; ++i) { + QMetaMethod metamethod = metaobject->method(i); + if( metamethod.methodType() == QMetaMethod::Signal ) { + const QByteArray signature = metamethod.methodSignature(); + // skip signals from QObject + if (signature.startsWith("destroyed") || signature.startsWith("objectNameChanged")) + continue; + MyFunction *func = new MyFunction(&obj, signature); + funcs.append(func); + const QByteArray name = signature.left(signature.indexOf('(')); + QByteArray sendersignal = signature; + sendersignal.prepend(QSIGNAL_CODE + '0'); + QByteArray receiverslot = signature; + receiverslot.prepend(QSLOT_CODE + '0'); + + QObject::connect(&obj, sendersignal.constData(), func, receiverslot.constData()); + } + } + + QCOMPARE(funcs.count(), 1); // valueChanged + + MyFunction* valueChangedFunc = funcs.at(0); + const QMetaObject *valueChangedMetaObj = valueChangedFunc->metaObject(); + bool found = false; + QByteArray foundSig; + for (int i = 0; i < valueChangedMetaObj->methodCount(); ++i) { + QMetaMethod method = valueChangedMetaObj->method(i); + if (method.name() == "valueChanged") { + found = true; + foundSig = method.methodSignature(); + } + } + QVERIFY2(found, "no valueChanged method/slot found in dynamic meta object!"); + QCOMPARE(foundSig.constData(), "valueChanged(int)"); + + obj.doEmit(); + QCOMPARE(funcs.at(0)->paramTypes(), QList<QByteArray>() << "int"); + QCOMPARE(funcs.at(0)->paramValues().at(0).toInt(), 42); + qDeleteAll(funcs); + } +}; + +QTEST_MAIN(MetaFunctionTest) + +#include "metafunctiontest.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/docs/kross/CMakeLists.txt new/kross-5.7.0/docs/kross/CMakeLists.txt --- old/kross-5.6.0/docs/kross/CMakeLists.txt 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/docs/kross/CMakeLists.txt 2015-02-08 16:23:53.000000000 +0100 @@ -1 +1 @@ -kdoctools_create_manpage(man-kf5kross.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR}) +kdoctools_create_manpage(man-kf5kross.1.docbook 1 INSTALL_DESTINATION ${KDE_INSTALL_MANDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/cs/kross5.po new/kross-5.7.0/po/cs/kross5.po --- old/kross-5.6.0/po/cs/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/cs/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,7 +1,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Lukáš Tinkl <[email protected]>, 2010, 2011, 2012. -# Vít Pelčák <[email protected]>, 2011, 2012, 2013, 2014. +# Vít Pelčák <[email protected]>, 2011, 2012, 2013, 2014, 2015. # Tomáš Chvátal <[email protected]>, 2012, 2013. # msgid "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/fi/kross5.po new/kross-5.7.0/po/fi/kross5.po --- old/kross-5.6.0/po/fi/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/fi/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -29,7 +29,7 @@ "POT-Creation-Date: 2014-05-14 08:06+0000\n" "PO-Revision-Date: 2014-04-11 15:59+0300\n" "Last-Translator: Lasse Liehu <[email protected]>\n" -"Language-Team: Finnish <[email protected]>\n" +"Language-Team: Finnish <[email protected]>\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/it/kross5.po new/kross-5.7.0/po/it/kross5.po --- old/kross-5.6.0/po/it/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/it/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -8,7 +8,7 @@ # Luciano Montanaro <[email protected]>, 2007. # Dario Panico <[email protected]>, 2008. # Pino Toscano <[email protected]>, 2008. -# Federico Zenith <[email protected]>, 2008, 2012, 2013, 2014. +# Federico Zenith <[email protected]>, 2008, 2012, 2013, 2014, 2015. # Innocenzo Ventre <[email protected]>, 2012. # Vincenzo Reale <[email protected]>, 2014. msgid "" @@ -16,7 +16,7 @@ "Project-Id-Version: kdelibs4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2014-05-14 08:06+0000\n" -"PO-Revision-Date: 2014-10-09 20:11+0200\n" +"PO-Revision-Date: 2015-01-11 20:36+0100\n" "Last-Translator: Federico Zenith <[email protected]>\n" "Language-Team: Italian <[email protected]>\n" "Language: it\n" @@ -28,11 +28,12 @@ msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr "Federico Zenith,Dario Panico,Nicola Ruggero,Federico Cozzi" +msgstr "" +"Federico Zenith,Vincenzo Reale,Dario Panico,Nicola Ruggero,Federico Cozzi" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" -msgstr "[email protected],,," +msgstr "[email protected],,,," #: console/main.cpp:99 msgctxt "application name" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/ko/kross5.po new/kross-5.7.0/po/ko/kross5.po --- old/kross-5.6.0/po/ko/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/ko/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,15 +1,15 @@ # Korean messages for kdelibs. # Copyright (C) Free Software Foundation, Inc. -# # Cho Sung Jae <[email protected]>, 2007. # Park Shinjo <[email protected]>, 2007, 2008, 2009, 2010, 2011. -# Park Shinjo <[email protected]>, 2011, 2012, 2013, 2014. +# Park Shinjo <[email protected]>, 2011, 2012, 2013, 2014, 2015. +# msgid "" msgstr "" "Project-Id-Version: kdelibs4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2014-05-14 08:06+0000\n" -"PO-Revision-Date: 2014-04-05 21:10+0900\n" +"PO-Revision-Date: 2015-01-18 17:08+0900\n" "Last-Translator: Park Shinjo <[email protected]>\n" "Language-Team: Korean <[email protected]>\n" "Language: ko\n" @@ -134,7 +134,7 @@ #: ui/actioncollectionview.cpp:334 msgid "Stop" -msgstr "멈춤" +msgstr "정지" #: ui/actioncollectionview.cpp:336 msgid "Stop execution of the selected script." @@ -158,7 +158,7 @@ #: ui/actioncollectionview.cpp:355 msgid "Remove" -msgstr "제거" +msgstr "삭제" #: ui/actioncollectionview.cpp:357 msgid "Remove selected script." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/nb/kross5.po new/kross-5.7.0/po/nb/kross5.po --- old/kross-5.6.0/po/nb/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/nb/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,4 +1,4 @@ -# Translation of kdelibs4 to Norwegian Bokmål +# Translation of kross5 to Norwegian Bokmål # # Knut Yrvin <[email protected]>, 2002, 2003, 2004, 2005. # Bjørn Steensrud <[email protected]>, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/nn/kross5.po new/kross-5.7.0/po/nn/kross5.po --- old/kross-5.6.0/po/nn/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/nn/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,4 +1,4 @@ -# Translation of kdelibs4 to Norwegian Nynorsk +# Translation of kross5 to Norwegian Nynorsk # # Gaute Hvoslef Kvalnes <[email protected]>, 2003, 2004, 2005, 2006. # Håvard Korsvoll <[email protected]>, 2003, 2005. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/se/kross5.po new/kross-5.7.0/po/se/kross5.po --- old/kross-5.6.0/po/se/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/se/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,4 +1,4 @@ -# Translation of kdelibs4 to Northern Sami +# Translation of kross5 to Northern Sami # # Børre Gaup <[email protected]>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. msgid "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/sr/kross5.po new/kross-5.7.0/po/sr/kross5.po --- old/kross-5.6.0/po/sr/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/sr/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,7 +1,7 @@ # Translation of kdelibs4.po into Serbian. # Marko Rosic <[email protected]>, 2003. # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005. -# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015. # Dalibor Djuric <[email protected]>, 2009, 2010, 2011. msgid "" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/sr@ijekavian/kross5.po new/kross-5.7.0/po/sr@ijekavian/kross5.po --- old/kross-5.6.0/po/sr@ijekavian/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/sr@ijekavian/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,7 +1,7 @@ # Translation of kdelibs4.po into Serbian. # Marko Rosic <[email protected]>, 2003. # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005. -# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015. # Dalibor Djuric <[email protected]>, 2009, 2010, 2011. msgid "" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/sr@ijekavianlatin/kross5.po new/kross-5.7.0/po/sr@ijekavianlatin/kross5.po --- old/kross-5.6.0/po/sr@ijekavianlatin/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/sr@ijekavianlatin/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,7 +1,7 @@ # Translation of kdelibs4.po into Serbian. # Marko Rosic <[email protected]>, 2003. # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005. -# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015. # Dalibor Djuric <[email protected]>, 2009, 2010, 2011. msgid "" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/po/sr@latin/kross5.po new/kross-5.7.0/po/sr@latin/kross5.po --- old/kross-5.6.0/po/sr@latin/kross5.po 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/po/sr@latin/kross5.po 2015-02-08 16:23:53.000000000 +0100 @@ -1,7 +1,7 @@ # Translation of kdelibs4.po into Serbian. # Marko Rosic <[email protected]>, 2003. # Toplica Tanaskovic <[email protected]>, 2003, 2004, 2005. -# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Chusslove Illich <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015. # Dalibor Djuric <[email protected]>, 2009, 2010, 2011. msgid "" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/src/core/CMakeLists.txt new/kross-5.7.0/src/core/CMakeLists.txt --- old/kross-5.6.0/src/core/CMakeLists.txt 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/src/core/CMakeLists.txt 2015-02-08 16:23:53.000000000 +0100 @@ -12,7 +12,7 @@ add_library(KF5KrossCore ${krosscore_LIB_SRCS}) generate_export_header(KF5KrossCore BASE_NAME KrossCore) -target_include_directories(KF5KrossCore INTERFACE "$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KrossCore>") +target_include_directories(KF5KrossCore INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore>") target_link_libraries(KF5KrossCore PUBLIC @@ -50,7 +50,7 @@ REQUIRED_HEADERS KrossCore_HEADERS ) # apps include <Kross/Core/Object> or <kross/core/object.h> -install(FILES ${KrossCore_CamelCase_HEADERS} DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KrossCore/Kross/Core COMPONENT Devel) +install(FILES ${KrossCore_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore/Kross/Core COMPONENT Devel) add_library(KF5::KrossCore ALIAS KF5KrossCore) @@ -58,10 +58,10 @@ ${CMAKE_CURRENT_BINARY_DIR}/krosscore_export.h krossconfig.h ${KrossCore_HEADERS} - DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KrossCore/kross/core COMPONENT Devel) # apps include <kross/core/object.h> + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore/kross/core COMPONENT Devel) # apps include <kross/core/object.h> install(TARGETS KF5KrossCore EXPORT KF5KrossTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) include(ECMGeneratePriFile) -ecm_generate_pri_file(BASE_NAME KrossCore LIB_NAME KF5KrossCore DEPS "script xml" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KF5_INCLUDE_INSTALL_DIR}/KrossCore) +ecm_generate_pri_file(BASE_NAME KrossCore LIB_NAME KF5KrossCore DEPS "script xml" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossCore) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/src/core/metafunction.h new/kross-5.7.0/src/core/metafunction.h --- old/kross-5.6.0/src/core/metafunction.h 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/src/core/metafunction.h 2015-02-08 16:23:53.000000000 +0100 @@ -29,10 +29,13 @@ #include <QArgument> #include <QByteRef> #include <QPointer> +#include <QVector> namespace Kross { +static const char s_fakeClassName[] = "ScriptFunction"; + /** * The MetaFunction class implements a QObject to provide an adaptor * between Qt signals+slots and scripting functions. @@ -54,47 +57,77 @@ * be executed if the QObject emits the signal. */ MetaFunction(QObject *sender, const QByteArray &signal) - : QObject(), m_sender(sender), m_signature(QMetaObject::normalizedSignature(signal)) + : QObject(), m_sender(sender), m_signature(QMetaObject::normalizedSignature(signal.constData())) { //krossdebug(QString("MetaFunction sender=\"%1\" signal=\"%2\"").arg(sender->objectName()).arg(m_signature.constData())); - const uint signatureSize = m_signature.size() + 1; + + const QByteArray signalName = signal.left(signal.indexOf('(')); + + const QList<QByteArray> types = parameterTypeNamesFromSignature(m_signature.constData()); + + QList<int> parameterMetaTypes; + parameterMetaTypes.append(QMetaType::Void); // return type + foreach(const QByteArray &typeName, types) { + parameterMetaTypes.append(QMetaType::type(typeName.constData())); // ## might be missing support for non-builtin types... + } + + m_data.resize(20 + parameterMetaTypes.count()); // content - m_data[0] = 1; // revision - m_data[1] = 0; // classname - m_data[2] = 0; // classinfo - m_data[3] = 0; // classinfo - m_data[4] = 1; // methods - m_data[5] = 15; // methods - m_data[6] = 0; // properties - m_data[7] = 0; // properties - m_data[8] = 0; // enums/sets - m_data[9] = 0; // enums/sets - - // slots - m_data[15] = 15; // signature start - m_data[16] = 15 + signatureSize; // parameters start - m_data[17] = 15 + signatureSize; // type start - m_data[18] = 15 + signatureSize; // tag start - m_data[19] = 0x0a; // flags - m_data[20] = 0; // eod - - // data - m_stringData = QByteArray("ScriptFunction\0", 15); - m_stringData += m_signature; - m_stringData += QByteArray("\0\0", 2); + m_data[0] = 7; // revision + m_data[1] = 0; // classname (the first string) + m_data[2] = 0; // classinfo count + m_data[3] = 0; // classinfo data + m_data[4] = 1; // methods count + m_data[5] = 14; // methods data + m_data[6] = 0; // properties count + m_data[7] = 0; // properties data + m_data[8] = 0; // enums/sets count + m_data[9] = 0; // enums/sets data + m_data[10] = 0; // constructors count + m_data[11] = 0; // constructors data + m_data[12] = 0; // flags + m_data[13] = 0; // signal count + + // slots: name, argc, parameters, tag, flags + m_data[14] = 1; // name + m_data[15] = types.count(); // parameter count + m_data[16] = 19; // parameter data + m_data[17] = 2; // tag (RequiresVariantMetaObject) + m_data[18] = 0x0a; // flags (public slot) + + // slots: parameters + int i = 19; + foreach (int metaType, parameterMetaTypes) { + m_data[i++] = metaType; + } + + m_data[i++] = 0; // eod + + // string table + // qt_metacast expects the first string in the string table to be the class name. + const QByteArray className(s_fakeClassName); + int offsetOfStringdataMember = 2 * sizeof(QByteArrayData); + int stringdataOffset = 0; + m_stringData = new char[offsetOfStringdataMember + className.size() + 1 + signalName.size() + 1]; + writeString(m_stringData, /*index*/0, className, offsetOfStringdataMember, stringdataOffset); + writeString(m_stringData, 1, signalName, offsetOfStringdataMember, stringdataOffset); // static metaobject staticMetaObject.d.superdata = &QObject::staticMetaObject; - staticMetaObject.d.stringdata = m_stringData.data(); - staticMetaObject.d.data = m_data; + staticMetaObject.d.stringdata = reinterpret_cast<const QByteArrayData *>(m_stringData); + staticMetaObject.d.data = m_data.data(); + staticMetaObject.d.relatedMetaObjects = 0; staticMetaObject.d.extradata = 0; + staticMetaObject.d.static_metacall = 0; } /** * Destructor. */ - virtual ~MetaFunction() {} + virtual ~MetaFunction() { + delete[] m_stringData; + } /** * The static \a QMetaObject instance that provides the @@ -121,7 +154,7 @@ if (! _clname) { return 0; } - if (! strcmp(_clname, m_stringData)) { + if (! qstrcmp(_clname, s_fakeClassName)) { return static_cast<void *>(const_cast< MetaFunction * >(this)); } return QObject::qt_metacast(_clname); @@ -138,10 +171,48 @@ QPointer<QObject> m_sender; /// The signature. QByteArray m_signature; + +private: /// The stringdata. - QByteArray m_stringData; + char* m_stringData; /// The data array. - uint m_data[21]; + QVector<uint> m_data; + + // from Qt5's qmetaobjectbuilder.cpp + static void writeString(char *out, int i, const QByteArray &str, + const int offsetOfStringdataMember, int &stringdataOffset) + { + int size = str.size(); + qptrdiff offset = offsetOfStringdataMember + stringdataOffset + - i * sizeof(QByteArrayData); + const QByteArrayData data = + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(size, offset); + memcpy(out + i * sizeof(QByteArrayData), &data, sizeof(QByteArrayData)); + memcpy(out + offsetOfStringdataMember + stringdataOffset, str.constData(), size); + out[offsetOfStringdataMember + stringdataOffset + size] = '\0'; + stringdataOffset += size + 1; + } + + // from Qt5's QMetaObjectPrivate + QList<QByteArray> parameterTypeNamesFromSignature(const char *signature) + { + QList<QByteArray> list; + while (*signature && *signature != '(') + ++signature; + while (*signature && *signature != ')' && *++signature != ')') { + const char *begin = signature; + int level = 0; + while (*signature && (level > 0 || *signature != ',') && *signature != ')') { + if (*signature == '<') + ++level; + else if (*signature == '>') + --level; + ++signature; + } + list += QByteArray(begin, signature - begin); + } + return list; + } }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/src/modules/CMakeLists.txt new/kross-5.7.0/src/modules/CMakeLists.txt --- old/kross-5.6.0/src/modules/CMakeLists.txt 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/src/modules/CMakeLists.txt 2015-02-08 16:23:53.000000000 +0100 @@ -13,7 +13,7 @@ KF5::KrossUi KF5::I18n ) - install(TARGETS KrossModuleForms DESTINATION ${PLUGIN_INSTALL_DIR}) + install(TARGETS KrossModuleForms DESTINATION ${KDE_INSTALL_PLUGINDIR}) endif() ############################################ @@ -27,4 +27,4 @@ KF5::KrossCore KF5::I18n ) -install(TARGETS KrossModuleKdeTranslation DESTINATION ${PLUGIN_INSTALL_DIR}) +install(TARGETS KrossModuleKdeTranslation DESTINATION ${KDE_INSTALL_PLUGINDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/src/qts/CMakeLists.txt new/kross-5.7.0/src/qts/CMakeLists.txt --- old/kross-5.6.0/src/qts/CMakeLists.txt 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/src/qts/CMakeLists.txt 2015-02-08 16:23:53.000000000 +0100 @@ -10,7 +10,7 @@ Qt5::Gui ) -install(TARGETS krossqtsplugin DESTINATION ${QT_PLUGIN_INSTALL_DIR}/script) +install(TARGETS krossqtsplugin DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/script) ########### next target ############### @@ -24,4 +24,4 @@ Qt5::Gui ) -install(TARGETS krossqts DESTINATION ${QT_PLUGIN_INSTALL_DIR}) +install(TARGETS krossqts DESTINATION ${KDE_INSTALL_QTPLUGINDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kross-5.6.0/src/ui/CMakeLists.txt new/kross-5.7.0/src/ui/CMakeLists.txt --- old/kross-5.6.0/src/ui/CMakeLists.txt 2015-01-03 13:13:16.000000000 +0100 +++ new/kross-5.7.0/src/ui/CMakeLists.txt 2015-02-08 16:23:53.000000000 +0100 @@ -9,7 +9,7 @@ add_library(KF5KrossUi ${krossui_LIB_SRCS}) generate_export_header(KF5KrossUi BASE_NAME KrossUi) -target_include_directories(KF5KrossUi INTERFACE "$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KrossUi>") +target_include_directories(KF5KrossUi INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi>") target_link_libraries(KF5KrossUi PUBLIC @@ -37,7 +37,7 @@ PREFIX Kross/Ui REQUIRED_HEADERS KrossUi_HEADERS ) -install(FILES ${KrossUi_CamelCase_HEADERS} DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KrossUi/Kross/Ui COMPONENT Devel) +install(FILES ${KrossUi_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi/Kross/Ui COMPONENT Devel) install(TARGETS KF5KrossUi EXPORT KF5KrossTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) @@ -49,8 +49,8 @@ model.h # compat header view.h # compat header ${KrossUi_HEADERS} - DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KrossUi/kross/ui COMPONENT Devel) + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi/kross/ui COMPONENT Devel) include(ECMGeneratePriFile) -ecm_generate_pri_file(BASE_NAME KrossUi LIB_NAME KF5KrossUi DEPS "KrossCore KParts" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KF5_INCLUDE_INSTALL_DIR}/KrossUi) +ecm_generate_pri_file(BASE_NAME KrossUi LIB_NAME KF5KrossUi DEPS "KrossCore KParts" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KrossUi) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
