Re: [Development] CI broken again

2014-10-19 Thread Saether Jan-Arve
any update on this? It seems tst_pauseanimation is failing constantly (only on 
OSX 10.9)

Jan Arve

Fra: development-bounces+jan-arve.saether=theqtcompany@qt-project.org 
[development-bounces+jan-arve.saether=theqtcompany@qt-project.org] på vegne 
av BogDan [bog_dan...@yahoo.com]
Sendt: 17. oktober 2014 15:03
Til: Sarajärvi Tony; Qt Development Group
Emne: Re: [Development] CI broken again

Some tests fails even the patches that we are trying to push are not released.
Check 
https://codereview.qt-project.org/#/c/97244https://codereview.qt-project.org/#/c/97244/
 and 
https://codereview.qt-project.org/#/c/96681https://codereview.qt-project.org/#/c/96681/

Cheers,
BogDan.

From: Sarajärvi Tony tony.saraja...@theqtcompany.com
To: BogDan bog_dan...@yahoo.com; Qt Development Group 
development@qt-project.org
Sent: Friday, October 17, 2014 3:58 PM
Subject: RE: [Development] CI broken again

Hi

What exactly is broken?

-T

From: development-bounces+tony.sarajarvi=theqtcompany@qt-project.org 
[mailto:development-bounces+tony.sarajarvi=theqtcompany@qt-project.org] On 
Behalf Of BogDan
Sent: 17. lokakuuta 2014 10:54
To: Qt Development Group
Subject: [Development] CI broken again

Hello,

  It seems that CI is broken for a few days, is anyone working on it? When 
should we expect a fix?

Thanks!

Cheers,
BogDan.



___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt5*Config.cmake files: _qt5_*_check_file_exists macros and plugins

2014-10-19 Thread Stephen Kelly
Kevin Kofler wrote:

 
 Those _qt5_*_check_file_exists checks look unnecessary to me in the first
 place.

Part of the intention of the way CMake config-packages and IMPORTED targets 
work is that if the FooConfig.cmake is present and found, and the Foo 
IMPORTED target is present, then you can use it without further checks.

 http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html

 * If a file is NOT actually required to build against the library, then it
   should NOT be checked for (as is the case for those plugins).

The intention of the check is to verify that the things defined/exported 
by the package actually exist - it's not about whether the files are 
required to build against the library, per se. That's not the intention of 
the check.

 But I also don't see the checks being useful for self-built Qt (where
 make install will just install everything) nor your upstream binaries
 (which also contain everything that is needed).

1) If I reference a plugin in my buildsystem (so I can make a mac bundle or 
whatever), and I have not installed the Fedora package for the plugin, 
things might seem fine in the buildsystem, but the plugin won't be packaged, 
and I'll have runtime bugs to debug. The check turns that into a build-time 
report.

2) Other people can also create packages for use within an organization, and 
they may not do it right, may not have the rules/guarantees that you provide 
with your packages etc.

In saying that though, the check is probably relatively low value.

 So the question there is:
 Why were those checks added in the first place? Can they be removed in
 upstream Qt?

My suggestion is similar to the idea behind 

 https://codereview.qt-project.org/61334

Namely, add a component to the *Config.cmake packages such that the user can 
write 

 find_package(Qt5Core REQUIRED Plugins)

to express that the plugins are needed in the buildsystem (for whatever 
reason).

The semantic might be, 

* if the Plugins component is specified, then check for existence, otherwise 
don't.

or

* if the Plugins component is specified, then load the *PluginConfig.cmake 
files, otherwise don't. This has the side-effect that the existence check 
won't be done.

I prefer the second option (and there may be more options). The problem is 
backward compatibility though - currently people are not specifying the 
Plugins component and the plugin IMPORTED targets are defined and usable. 
After such a change they wouldn't be. However, users would have to update 
their Qt to get the new behavior and it would be immediately noticable, and 
maybe something like a CMake policy could be emulated for it. 

So I think that would be ok. What do you think? Then, afaiu, you could 
continue to ship the *Config.cmake files in your -devel package, but they 
won't cause a fatal error if the plugin is not present, unless the user 
specifies that they want the plugin, and then the fatal error is 
appropriate.

3.b. One subpackage per *Plugin.cmake file, i.e. for every
 qt5-modulename-pluginname package, we'd have a
 qt5-modulename-pluginname-devel. That means many subpackages.

This looks to me like the most correct but probably least convenient 
solution.

Thanks,

Steve.



___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] [QtIFW] CPack IFW Generator

2014-10-19 Thread Stephen Kelly
Konstantin Podsvirov wrote:

 Thank you! This is what I need.
 
 I have a Gerrit account (user: kot). But I haven't contributed in Qt code.
 What sequence of actions? What instruction I to read?
 
 I can also create a patch with boilerplate topics or sections where you
 can add the information. For planning purposes, do you have information
 about the generator somewhere that I could look at?
 
 A working version of CMake is not accompanied by a public documentation,

Documentation generated from the master branch is updated daily here:

 http://www.cmake.org/cmake/help/git-master/module/CPackIFW.html

 Also, what's the time frame for CMake version 3.1.0 ? I don't want to add
 links to a yet unreleased feature ...

The roadmap says early November:  

 http://public.kitware.com/Bug/roadmap_page.php

but it's likely to slip some weeks if past experience is a good forecast.

Whatever is true about additions to the Qt documentation, the CPackIFW 
generator looks like it should get a mention in 

 http://www.cmake.org/cmake/help/v3.0/manual/cmake-qt.7.html

One option would be to add primary prose there and link to that from 

 http://doc-snapshot.qt-project.org/qt5-5.3/cmake-manual.html

and 

 http://qt-project.org/doc/qt-5/deployment.html
 
The CMake documentation can be loaded in creator

 http://www.kdab.com/context-sensitive-cmake-documentation-qtcreator/

and CMake releases will include a qch file from now on. Eg

 http://www.cmake.org/cmake/help/v3.1/CMake.qch

Thanks,

Steve.


___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtRemoteObjects (was Replicant)

2014-10-19 Thread Simon Hausmann
On Thursday, October 16, 2014 11:14:53 AM Stottlemyer, Brett wrote:
 Qt Devs,
 
 I know I've been silent for a while after the discussing Replicant and QQSM
 at the Qt Contributors Summit.
 
 If you aren't aware, QQSM was renamed to DSM (Declarative State Machine) and
 has been incorporated into QML.  It is already merged and will be released
 with Qt 5.4.
 
 The 2nd project was Replicant.  As noted at QtCS, the name Replicant is
 already in use in software.  So we have a new name: QtRemoteObjects.  Not
 quite ahead of Dev Days, we've pushed it out to Qt's playground area.  You
 can find it at https://qt.gitorious.org/qtplayground/qtremoteobjects.
 
 It is sparse on documentation, but that will be worked on over the coming
 weeks.  We've made a bunch of changes since QtCS, some based on excellent
 suggestions from contributors, some based on internal needs.  Hope you like
 it.
 
 The key to QtRemoteObjects, which I think differentiates it from other
 IPC/RPC approaches, is the idea of having a full (Qt) object in the new
 process.  All property changes on the Source object will be reflected (with
 notification Signals) on the Replica object(s).  Any Signals emitted from
 the Source will be emitted from every Replica.  You can set properties on a
 Replica, as well as call Slots, but the implementation is such that the
 requests are sent to the Source, which responds to the calls.  Any changes
 are then reflected by Signals or Property changes, as appropriate - this
 means that all instances (including the Source) will reflect the changes.
 
 The net result is that you can have a very complex object (talking to
 sensors, managing a resource, etc) in one process (or device), yet still
 interact with it in a Qt friendly way from another process (or device). 
 All of the complexity of the IPC is handled internally by QtRemoteObjects.
 
 Feedback if, of course, welcome.

I'm very fond of the idea of Qt making it very easy to talk to other 
applications living in other processes on potentially other machines 
(devices). I think if we want to address this in Qt, then we should take three 
requirements very very seriously:

1) Not everything is written in Qt. Perhaps only a GUI frontend? Or perhaps 
some services are written in Qt and others are written in a different language? 
I think the key to success is to allow for interoperability across 
language/runtime barriers.

2) The system must allow for versioning. Not all devices/services/processes 
will always be using the same version of the overall protocol.

3) The system should support a very convenient and robust mechanism to 
discover and connect to other processes.


Based on experience with an in-house project I would suggest to avoid a wire 
format that is tied to Qt, i.e. QDataStream. My current favorite on this are 
actually google protocol buffers, because they are rather good with versioning 
and you can get bindings for _a lot_ of languages, including JavaScript. 
QDataStream on the other hand is terrible when it comes to versioning, 
compared to the convenience other solutions offer. Another option would be 
CaptnProto or Flatbuffers, but they language support is not as wide spread as 
protocol buffers. Either way they are rather similar in concept and I think a 
good fit.

Regarding discovery it would be really nice to support bluetooth for peer to 
peer connectivity and zeroconf for regular IP based networks. We have had a 
very good experience using Zeroconf for this matter and it's easily available 
these days (including Android, iOS, Linux and even Windows)


Binding just QObjects across process boundaries is tempting in the short run, 
but I think it would put us (Qt) on an island. I'd much rather see Qt provide 
the low-level enablers to allow our users to either do their own RPC _and_ 
provide a sample implementation for convenience (that uses futures/promises).


Simon
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] CI broken again

2014-10-19 Thread Sean Harmer
The OS X 10.9 nodes seem to be heavily loaded. For Qt3D integrations, 
the OS X 10.9 nodes are taking about 3.5 hours longer than any other 
platforms. Is something hogging CPU or IO on there?

Cheers,

Sean

On 19/10/2014 09:58, Saether Jan-Arve wrote:
 any update on this? It seems tst_pauseanimation is failing constantly (only 
 on OSX 10.9)

 Jan Arve
 
 Fra: development-bounces+jan-arve.saether=theqtcompany@qt-project.org 
 [development-bounces+jan-arve.saether=theqtcompany@qt-project.org] på 
 vegne av BogDan [bog_dan...@yahoo.com]
 Sendt: 17. oktober 2014 15:03
 Til: Sarajärvi Tony; Qt Development Group
 Emne: Re: [Development] CI broken again

 Some tests fails even the patches that we are trying to push are not released.
 Check 
 https://codereview.qt-project.org/#/c/97244https://codereview.qt-project.org/#/c/97244/
  and 
 https://codereview.qt-project.org/#/c/96681https://codereview.qt-project.org/#/c/96681/

 Cheers,
 BogDan.
 
 From: Sarajärvi Tony tony.saraja...@theqtcompany.com
 To: BogDan bog_dan...@yahoo.com; Qt Development Group 
 development@qt-project.org
 Sent: Friday, October 17, 2014 3:58 PM
 Subject: RE: [Development] CI broken again

 Hi

 What exactly is broken?

 -T

 From: development-bounces+tony.sarajarvi=theqtcompany@qt-project.org 
 [mailto:development-bounces+tony.sarajarvi=theqtcompany@qt-project.org] 
 On Behalf Of BogDan
 Sent: 17. lokakuuta 2014 10:54
 To: Qt Development Group
 Subject: [Development] CI broken again

 Hello,

It seems that CI is broken for a few days, is anyone working on it? When 
 should we expect a fix?

 Thanks!

 Cheers,
 BogDan.



 ___
 Development mailing list
 Development@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/development


-- 
Dr Sean Harmer | sean.har...@kdab.com | Managing Director UK
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel. Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - Qt Experts - Platform-independent software solutions

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] Event loop of Qt window in DLL injected into another process

2014-10-19 Thread Arkadiusz Szulakiewicz
Hello, I have a problem with event loop. I am creating DLL which I am injecting 
into MFCapplication – my dll spawns a qt window. it works fine, except ‘input’ 
to spawned window is blocked: for ex. i have edit box, i am typing into it and 
nothing happens – unless, I resize / minimalzie window then it’s somehow 
‘flushed’. does anyone have any idea why this happen?
Here is my code: http://pastebin.com/iXqnwwCu I am using Qt version 
5.3.2.---
Pozdrawiam,
Arkadiusz Szulakiewicz
tel.: 693-556-823 ___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] boot android app

2014-10-19 Thread Nicola De Filippo
Hi,
i have developed a simple  application, main screen with 6 button. On Nexus 5 
the app start-up time is immediate, on Samsung Galaxy tab 3, i have 10 seconds. 
Why is this difference?
Nicola
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtRemoteObjects (was Replicant)

2014-10-19 Thread Stottlemyer, Brett (B.S.)
On Sunday, October 19, 2014 10:12 AM Simon Hausmann wrote:
 I'm very fond of the idea of Qt making it very easy to talk to other 
 applications living in other processes on 
 potentially other machines (devices). 

Me too   ;-)

 I think if we want to address this in Qt, then we should take three 
 requirements 
 very very seriously:


... skipping #1 for a moment

 2) The system must allow for versioning. Not all devices/services/processes 
 will always be using the same version of the overall protocol.

I agree, and I recognize this is one of many things that should be improved 
going forward.  Same applies to types being passed by the protocol (as opposed 
to the protocol itself).

 3) The system should support a very convenient and robust mechanism to 
 discover and connect to other processes.

I agree, and I'm a fan of zeroconf myself.  But it needs to be optional, as I 
can think of cases where it would not be desired.  So I see this as more of an 
extension/enhancement.

 1) Not everything is written in Qt. Perhaps only a GUI frontend? Or perhaps 
 some services are written in Qt and others 
 are written in a different language? 
 I think the key to success is to allow for interoperability across 
 language/runtime barriers.

I agree in theory (who wouldn't?), but not at all in practice.  Off the top of 
my head, I'm using:

QIODevice/QDatastream/QtypeSocket/QtypeServer for communication
QVariant for data marshaling
MOC for Properties/Signals/Slots, including object introspection
QEventLoop for event serialization, notification
+More (container classes, qpa, etc)

If the suggestion is to use/create non-Qt versions of all of the above, why use 
Qt at all?  Or maybe I'm misinterpreting your suggestion?  It doesn't sound 
like you are thinking of a wrapper, along the lines of PyQt/PySide, so I'm not 
sure what else you could mean.  Please clarify.

Also, your points on protocol buffers and limitations of QDataStream are more 
accurately issues with Qt itself, aren't they?  Should they not be addressed 
directly in Qt, rather than only in a playground module?

More specifically, why not incorporate protocol buffers directly into Qt's 
QObject/MOC?  I'm not kidding here, the thought has occurred to me several 
times when creating custom qt_metacall() code.  Within the MOC generated code, 
you have void * pointers, QVariants and static_casting to/from types relying on 
the auto-generated code to guarantee the necessary types.  Why not have MOC 
auto-generate protocol buffer templates instead?  You already need to compile 
the MOC output, which could compile the protocol buffer just as easily.  

Such an implementation would provide simple validation, improved type safety, 
and possibly a performance boost.  It would remove the artificial/arbitrary 9 
argument limitation (as in QMetaMethod::invoke).  It would probably be overkill 
for DirectConnection, but would make sense for QueuedConnection, where you need 
to copy the arguments anyway.  And it would also likely simplify/standardize 
QVariant and QDataStream as well.  

And then extending QtRemoteObjects would be a lot more straight forward.

Brett
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QSettings refactor updates

2014-10-19 Thread Branislav Katreniak
 Cache format: binary json

You use json internally as cache. What is the motivation to introduce
new classes with similar API like QJson classes?

Is the implicit shared semantics not suitable for this use case? Can
it be addressed in QJson classes directly?

If Qt gets some type safe wrappers above the QConfig string based api,
it would be great to have these wrappers above QJson classes directly.

Kind regards
 Brano
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Event loop of Qt window in DLL injected into another process

2014-10-19 Thread Thiago Macieira
On Sunday 19 October 2014 19:12:29 Arkadiusz Szulakiewicz wrote:
 Hello, I have a problem with event loop. I am creating DLL which I am
 injecting into MFCapplication – my dll spawns a qt window. it works fine,
 except ‘input’ to spawned window is blocked: for ex. i have edit box, i am
 typing into it and nothing happens – unless, I resize / minimalzie window
 then it’s somehow ‘flushed’. does anyone have any idea why this happen?
 Here is my code: http://pastebin.com/iXqnwwCu I am using Qt version
 5.3.2

The usual answer is to give Qt the event loop. If you control the host 
application, you can create a QAbstractEventDispatcher to make it work with 
the MFC application. Or you can use the MFC migration framework (I think it's 
only available for enterprise customers).

If you can't do any of those, you should use modal dialogs and use exec() for 
your Qt dialog. You'll be able to interact with the Qt dialog only, not the 
rest of the application, for the duration of the dialog.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QSettings refactor updates

2014-10-19 Thread Thiago Macieira
On Sunday 19 October 2014 22:39:42 Branislav Katreniak wrote:
  Cache format: binary json
 
 You use json internally as cache. What is the motivation to introduce
 new classes with similar API like QJson classes?

It's an implementation detail because the binary json loading and parsing is 
extremely fast.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Event loop of Qt window in DLL injected into another process

2014-10-19 Thread Tim Blechmann
 Hello, I have a problem with event loop. I am creating DLL which I am
 injecting into MFCapplication – my dll spawns a qt window. it works fine,
 except ‘input’ to spawned window is blocked: for ex. i have edit box, i am
 typing into it and nothing happens – unless, I resize / minimalzie window
 then it’s somehow ‘flushed’. does anyone have any idea why this happen?
 Here is my code: http://pastebin.com/iXqnwwCu I am using Qt version
 5.3.2
 
 The usual answer is to give Qt the event loop. If you control the host 
 application, you can create a QAbstractEventDispatcher to make it work with 
 the MFC application. Or you can use the MFC migration framework (I think it's 
 only available for enterprise customers).

if you are referring to the qtwinmigrate, in my experience it is pretty
broken ... registering, but not cleaning up itself which results in
crashes when unloading the dll and the like ...

one important point when injecting a function into the mfc event loop
manually is to guard it against infinite recursion, as it may be called
from qt_GetMessageHook ...

 If you can't do any of those, you should use modal dialogs and use exec() for 
 your Qt dialog. You'll be able to interact with the Qt dialog only, not the 
 rest of the application, for the duration of the dialog.



___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development