Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Knoll Lars


On 11/06/15 12:29, Knoll Lars lars.kn...@theqtcompany.com wrote:
qtwebengine

A src/webenginewidgets/api/qwebenginedownloaditem.h
A src/webenginewidgets/api/qwebengineprofile.h
A src/webenginewidgets/api/qwebenginescript.h
A src/webenginewidgets/api/qwebenginescriptcollection.h

Some smaller issues here, talked to Pierre and he’ll submit a patch today.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Knoll Lars
On 11/06/15 14:28, Marc Mutz marc.m...@kdab.com wrote:

On Thursday 11 June 2015 12:29:06 Knoll Lars wrote:
 A src/network/ssl/qsslellipticcurve.h
 A src/network/ssl/qsslpresharedkeyauthenticator.h

Fine imho (but I was partially involved in their upbringing, so another
set of 
eyes wouldn't hurt).

Well, QSslEllipticCurve is problematic IMO. The class only contains one
int and accesses it inline. Since we might have other backends than
openssl implementing this in the future, I’d like have this non inline and
a qint64 as data type (so we could replace it with a d pointer later on if
required).

The presharedkey authenticator is missing a copy constructor taking a
rvalue ref, but that’s minor and can be fixed BC in 5.6 as well.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Marc Mutz
On Thursday 11 June 2015 12:29:06 Knoll Lars wrote:
 A src/multimedia/camera/qcameraviewfindersettings.h

Aprt from the changes already uploaded to Gerrit, I would suggest to use the 
new QCamera::FrameRateRange class instead of separate 
minimumFrameRate/maximumFrameRate properties.

That *may* indicate that FrameRateRange shouldn't be a nested class within 
QCamera, I don't know QtMM enough.

 A src/multimedia/video/qabstractvideofilter.h

Apart from the change already uploaded to Gerrit:

- QVideoFilterRunnable::RunFlag needs a 0x0 value.
- Runnable is a bad name, since it doesn't inherit QRunnable.
- QAbstractVideoFilter should re-use QObject::d_ptr instead of adding its own
  (though its unclear why it's inheriting QObject in the first place).
- QAbstractVideoFilter::createFilterRunnable() should probably be const

 A src/qtmultimediaquicktools/qsgvideonode_yuv.h

Private header (not exported, inline virtuals, no override keyword...).

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Knoll Lars
On 11/06/15 11:38, Marc Mutz marc.m...@kdab.com wrote:

On Tuesday 09 June 2015 13:35:14 Oswald Buddenhagen wrote:
 On Tue, Jun 09, 2015 at 10:59:32AM +, Heikkinen Jani wrote:
  Hi,
  
  I tried to create error reports about the findings to be able to
  follow-up the progress. Please create new one if something is missing.
 
 the point was about the entirely new headers that were not in the diffs,
 i.e., entirely new apis. it's a quite different (and much bigger) task
 than ensuring compatibility with existing api revisions.
 
 i can create a task, but it's not up to me to actually schedule it. lars
 (or multiple other maintainers) need to make that call.

Any news on this? Will we set aside time to look at the new API in more
depth 
before publishing or will we rush out 5.5 with known and unknown API
issues?

(yes, this question is meant to be suggestive :)

Well, afaik the new APIs have been reviewed, but maybe not as widely as we
should have. But so far, I haven’t seen bigger issues apart from the one
in Qt Network.

We’ll have to weight things against each other. Looking at that, I don’t
believe delaying 5.5 is a good option as we’re getting extremely close to
the summer break. I don’t think releasing in August is a better idea.

So I propose we’ll sit down here in the office today and tomorrow with a
few people and go through the new APIs to be certain we didn’t miss any
big issues. That’s the fastest way to get some certainty without too large
risks to delay our release.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Knoll Lars
On 11/06/15 14:19, Marc Mutz marc.m...@kdab.com wrote:

On Thursday 11 June 2015 12:29:06 Knoll Lars wrote:
 A src/multimedia/camera/qcameraviewfindersettings.h

Aprt from the changes already uploaded to Gerrit, I would suggest to use
the 
new QCamera::FrameRateRange class instead of separate
minimumFrameRate/maximumFrameRate properties.

That would be nice.

That *may* indicate that FrameRateRange shouldn't be a nested class
within 
QCamera, I don't know QtMM enough.

The viewfinder class is closely bound to the camera. It sounds correct to
have the framerate in the camera class.


 A src/multimedia/video/qabstractvideofilter.h

Apart from the change already uploaded to Gerrit:

- QVideoFilterRunnable::RunFlag needs a 0x0 value.

Agree, but not a showstopper for 5.5.0

- Runnable is a bad name, since it doesn't inherit QRunnable.

QVideoFilterEngine? But I don’t think it’s too much of a problem as it’s a
very specialized class.

- QAbstractVideoFilter should re-use QObject::d_ptr instead of adding its
own
  (though its unclear why it's inheriting QObject in the first place).

It could, since the module depends on private apis in Qt Core anyway.
Still, no show stopper for me. And it’s a QObject, because it gets exposed
to QML.

- QAbstractVideoFilter::createFilterRunnable() should probably be const

I tend to agree, but it’s also a minor issue.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Knoll Lars
On 11/06/15 10:55, Knoll Lars lars.kn...@theqtcompany.com wrote:

On 11/06/15 11:38, Marc Mutz marc.m...@kdab.com wrote:

On Tuesday 09 June 2015 13:35:14 Oswald Buddenhagen wrote:
 On Tue, Jun 09, 2015 at 10:59:32AM +, Heikkinen Jani wrote:
  Hi,
  
  I tried to create error reports about the findings to be able to
  follow-up the progress. Please create new one if something is
missing.
 
 the point was about the entirely new headers that were not in the
diffs,
 i.e., entirely new apis. it's a quite different (and much bigger) task
 than ensuring compatibility with existing api revisions.
 
 i can create a task, but it's not up to me to actually schedule it.
lars
 (or multiple other maintainers) need to make that call.

Any news on this? Will we set aside time to look at the new API in more
depth 
before publishing or will we rush out 5.5 with known and unknown API
issues?

(yes, this question is meant to be suggestive :)

Well, afaik the new APIs have been reviewed, but maybe not as widely as we
should have. But so far, I haven’t seen bigger issues apart from the one
in Qt Network.

We’ll have to weight things against each other. Looking at that, I don’t
believe delaying 5.5 is a good option as we’re getting extremely close to
the summer break. I don’t think releasing in August is a better idea.

So I propose we’ll sit down here in the office today and tomorrow with a
few people and go through the new APIs to be certain we didn’t miss any
big issues. That’s the fastest way to get some certainty without too large
risks to delay our release.

Ok, here’s the list of public headers that got added between 5.4 and 5.5.
I used the command below

git diff --name-status origin/5.4..origin/5.5 src | grep '^A' | grep \.h
| grep -v _p.h | grep -v 3rdparty | grep -v plugins

The list of headers that we need to go through is then:

On 11/06/15 10:55, Knoll Lars lars.kn...@theqtcompany.com wrote:

On 11/06/15 11:38, Marc Mutz marc.m...@kdab.com wrote:

On Tuesday 09 June 2015 13:35:14 Oswald Buddenhagen wrote:
On Tue, Jun 09, 2015 at 10:59:32AM +, Heikkinen Jani wrote:
 Hi,
 
 I tried to create error reports about the findings to be able to
 follow-up the progress. Please create new one if something is missing.
the point was about the entirely new headers that were not in the diffs,
i.e., entirely new apis. it's a quite different (and much bigger) task
than ensuring compatibility with existing api revisions.
i can create a task, but it's not up to me to actually schedule it. lars
(or multiple other maintainers) need to make that call.

Any news on this? Will we set aside time to look at the new API in more
depth 
before publishing or will we rush out 5.5 with known and unknown API
issues?

(yes, this question is meant to be suggestive :)

Well, afaik the new APIs have been reviewed, but maybe not as widely as we
should have. But so far, I haven’t seen bigger issues apart from the one
in Qt Network.

We’ll have to weight things against each other. Looking at that, I don’t
believe delaying 5.5 is a good option as we’re getting extremely close to
the summer break. I don’t think releasing in August is a better idea.

So I propose we’ll sit down here in the office today and tomorrow with a
few people and go through the new APIs to be certain we didn’t miss any
big issues. That’s the fastest way to get some certainty without too large
risks to delay our release.

Ok, here’s the list of public headers that got added between 5.4 and 5.5.
(generated using
git diff --name-status origin/5.4..origin/5.5 src | grep '^A' | grep \.h
| grep -v _p.h | grep -v 3rdparty | grep -v plugins)

The list of headers that we need to go through is then:

qtbase
A src/network/ssl/qsslellipticcurve.h
A src/network/ssl/qsslpresharedkeyauthenticator.h

qtmultimedia

A src/multimedia/camera/qcameraviewfindersettings.h
A src/multimedia/video/qabstractvideofilter.h
A src/qtmultimediaquicktools/qsgvideonode_yuv.h

qtwebengine

A src/webenginewidgets/api/qwebenginedownloaditem.h
A src/webenginewidgets/api/qwebengineprofile.h
A src/webenginewidgets/api/qwebenginescript.h
A src/webenginewidgets/api/qwebenginescriptcollection.h

For reference the full set of output of the script is attached, but most
of the files are not relevant to review for different reasons.



There are a couple of new modules as well:

Qt Canvas3D: Basically just a QML import exposing WebGL to QML.
Implemented a w3c/khronos standard, so not much to review here.

Qt 3D: In technology preview, API not yet frozen

Qt Location: The APIs underwent some changes from the 4.8 mobility API,
but the module got a good review during Nokia times.



I’ll get to reviewing the added files now, but others feel free to have a
look as well.

Cheers,
Lars

{\rtf1\ansi\ansicpg1252\cocoartf1344\cocoasubrtf720
{\fonttbl\f0\fnil\fcharset0 Consolas;}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab720
\pard\pardeftab720


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Marc Mutz
On Thursday 11 June 2015 12:29:06 Knoll Lars wrote:
 Qt Location: The APIs underwent some changes from the 4.8 mobility API,
 but the module got a good review during Nokia times.

The QtMultimedia changes I uploaded and described in my previous mail show 
what - IMHO - needs to be done to each of the QtLocation classes. I won't have 
time to look at QtLocation myself, but the changes are fairly trivial.

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread André Pönitz
On Thu, Jun 11, 2015 at 08:55:24AM +, Knoll Lars wrote:
 On Tuesday 09 June 2015 13:35:14 Oswald Buddenhagen wrote:
  On Tue, Jun 09, 2015 at 10:59:32AM +, Heikkinen Jani wrote:
   Hi,
   
   I tried to create error reports about the findings to be able to
   follow-up the progress. Please create new one if something is missing.
  
  the point was about the entirely new headers that were not in the diffs,
  i.e., entirely new apis. it's a quite different (and much bigger) task
  than ensuring compatibility with existing api revisions.
  
  i can create a task, but it's not up to me to actually schedule it. lars
  (or multiple other maintainers) need to make that call.
 
 Any news on this? Will we set aside time to look at the new API in more
 depth 
 before publishing or will we rush out 5.5 with known and unknown API
 issues?
 
 (yes, this question is meant to be suggestive :)
 
 Well, afaik the new APIs have been reviewed, but maybe not as widely as we
 should have. But so far, I haven’t seen bigger issues apart from the one
 in Qt Network.
 
 We’ll have to weight things against each other. Looking at that, I don’t
 believe delaying 5.5 is a good option as we’re getting extremely close to
 the summer break. I don’t think releasing in August is a better idea.
 
 So I propose we’ll sit down here in the office today and tomorrow with a
 few people and go through the new APIs to be certain we didn’t miss any
 big issues. That’s the fastest way to get some certainty without too large
 risks to delay our release.

I'd guess that's pretty much the best solution for now.

Looking a bit further: (More or less) consistent API used to be one of
the core values of Qt. Right now introducing new API in a consistent
way seems to work mostly by inertia - *if* it works.

I also doubt it will work that way for eternity, as accidents (and worse,
intentional deviations from established patterns and conventions by some
approvers) accumulate.

To be blunt: Even though some of the existing patterns and conventions
*are* unfashionable in 2015, consistency is a value by itself. Any
*partial* modernization of the API destroys that consistency, and
therefore value. So even if use pattern B instead of A is
uncontroversial when considered isolated, it's not a given that using
B instead of A in new Qt API is a win. And that ignores the fact that
there's rarely an situaion of a B being *uniformly* better than an A.

Sitting down with a few people *is* a way to fix things up last minute,
but I'd feel more comfortable if something to the same effect was formal
part of the process.

I am not sure about the concrete abilities of gerrit infrastructure, but
having a bot adding a specific user (or two, or three) to any change
introducing new API does not seem completely impossible.

Regarding the specific user(s): Less is more. Looking back, the time
it worked best for me was when it was clear who the single person to
ask about names and conventions was. Yes, that's a bottleneck for the
process, but getting uniformity by simulated annealing is extremely
unlikely if the initial solution is immutable. Such as our API after
the first release.

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread André Somers
Marc Mutz schreef op 11-6-2015 om 16:33:
 BTW: Can someone send a summary of Qt 5.6 vs. C++11 to the ML, for 
 those that couldn't attend?

I made notes. Available from here:

https://wiki.qt.io/QtCS2015_ModernCpp

André

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Knoll Lars
On 11/06/15 16:26, Marc Mutz marc.m...@kdab.com wrote:

On Thursday 11 June 2015 13:56:12 Knoll Lars wrote:
 - QAbstractVideoFilter should re-use QObject::d_ptr instead of adding
its
 own
   (though its unclear why it's inheriting QObject in the first place).
 
 It could, since the module depends on private apis in Qt Core anyway.
 Still, no show stopper for me.

Can't be changed later, as it would be BiC. And since it only adds a
bool, 
having its own d_ptr is kinda _really_, _really_ overkill.

 And it’s a QObject, because it gets exposed
 to QML.

That's not a reason, is it? There's other ways (Q_GADGET?) to get stuff
into 
QML without carrying the baggage of a QObject around, aren't there?

The semantics for gadgets and objects in QML are different. The QObject
makes sense here. I don’t see a big problem, as you’ll never instantiate
thousands of these objects anyway.

Lars

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Knoll Lars
On 11/06/15 16:33, Marc Mutz marc.m...@kdab.com wrote:

On Thursday 11 June 2015 13:43:15 Knoll Lars wrote:
 Well, QSslEllipticCurve is problematic IMO. The class only contains one
 int and accesses it inline. Since we might have other backends than
 openssl implementing this in the future, I’d like have this non inline
and
 a qint64 as data type (so we could replace it with a d pointer later on
if
 required).

Please read the discussion on https://codereview.qt-project.org/94022

TL;DR:
There will never be more than a few dozen elliptic curves. They will
never be 
mutable. So their state can be kept in a read-only location with the int
indexing into it.

The urge to hide everything behind a d-pointer is strong in Qt, but here,
it 
makes no sense.

Ok for me. Just wanted to make sure we’re all fine with this.


 The presharedkey authenticator is missing a copy constructor taking a
 rvalue ref, but that’s minor and can be fixed BC in 5.6 as well.

Can't have an inline move ctor, as it's using QSharedDataPointer. Can't
have 
an out-of-line move ctor, since that's currently forbidden. Maybe in 5.6,
if 
we require rvalue refs.

BTW: Can someone send a summary of Qt 5.6 vs. C++11 to the ML, for those
that 
couldn't attend?

The short summary (full one will hopefully still come from whoever took
notes): 

Compiler wise we’ll have VS2012 and gcc 4.7 as a baseline. It’s ok to use
the C++11 language features supported by these compilers unconditionally
in Qt (both in headers and implementations). This also means we can remove
some ifdefs for rvalue refs, Q_DECL_OVERRIDE etc. Some care is still
required when using STL features that might cause BC issues for us.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Marc Mutz
On Thursday 11 June 2015 13:56:12 Knoll Lars wrote:
 - QAbstractVideoFilter should re-use QObject::d_ptr instead of adding its
 own
   (though its unclear why it's inheriting QObject in the first place).
 
 It could, since the module depends on private apis in Qt Core anyway.
 Still, no show stopper for me.

Can't be changed later, as it would be BiC. And since it only adds a bool, 
having its own d_ptr is kinda _really_, _really_ overkill.

 And it’s a QObject, because it gets exposed
 to QML.

That's not a reason, is it? There's other ways (Q_GADGET?) to get stuff into 
QML without carrying the baggage of a QObject around, aren't there?

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Marc Mutz
On Thursday 11 June 2015 13:43:15 Knoll Lars wrote:
 Well, QSslEllipticCurve is problematic IMO. The class only contains one
 int and accesses it inline. Since we might have other backends than
 openssl implementing this in the future, I’d like have this non inline and
 a qint64 as data type (so we could replace it with a d pointer later on if
 required).

Please read the discussion on https://codereview.qt-project.org/94022

TL;DR:
There will never be more than a few dozen elliptic curves. They will never be 
mutable. So their state can be kept in a read-only location with the int 
indexing into it.

The urge to hide everything behind a d-pointer is strong in Qt, but here, it 
makes no sense.

 The presharedkey authenticator is missing a copy constructor taking a
 rvalue ref, but that’s minor and can be fixed BC in 5.6 as well.

Can't have an inline move ctor, as it's using QSharedDataPointer. Can't have 
an out-of-line move ctor, since that's currently forbidden. Maybe in 5.6, if 
we require rvalue refs.

BTW: Can someone send a summary of Qt 5.6 vs. C++11 to the ML, for those that 
couldn't attend?

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Marc Mutz
On Thursday 11 June 2015 22:07:00 André Pönitz wrote:
 To be blunt: Even though some of the existing patterns and conventions
 are unfashionable in 2015, consistency is a value by itself. Any
 partial modernization of the API destroys that consistency, and
 therefore value. So even if use pattern B instead of A is
 uncontroversial when considered isolated, it's not a given that using
 B instead of A in new Qt API is a win. And that ignores the fact that
 there's rarely an situaion of a B being uniformly better than an A.

Would you mind being more specific about what Pattern A and Pattern B you have 
in mind?

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Marc Mutz
On Friday 12 June 2015 00:28:05 Marc Mutz wrote:
 On Thursday 11 June 2015 22:07:00 André Pönitz wrote:
  To be blunt: Even though some of the existing patterns and conventions
  are unfashionable in 2015, consistency is a value by itself. Any
  partial modernization of the API destroys that consistency, and
  therefore value. So even if use pattern B instead of A is
  uncontroversial when considered isolated, it's not a given that using
  B instead of A in new Qt API is a win. And that ignores the fact that
  there's rarely an situaion of a B being uniformly better than an A.
 
 Would you mind being more specific about what Pattern A and Pattern B you
 have in mind?

Nevermind, just saw your other mail...

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-11 Thread Marc Mutz
On Tuesday 09 June 2015 13:35:14 Oswald Buddenhagen wrote:
 On Tue, Jun 09, 2015 at 10:59:32AM +, Heikkinen Jani wrote:
  Hi,
  
  I tried to create error reports about the findings to be able to
  follow-up the progress. Please create new one if something is missing.
 
 the point was about the entirely new headers that were not in the diffs,
 i.e., entirely new apis. it's a quite different (and much bigger) task
 than ensuring compatibility with existing api revisions.
 
 i can create a task, but it's not up to me to actually schedule it. lars
 (or multiple other maintainers) need to make that call.

Any news on this? Will we set aside time to look at the new API in more depth 
before publishing or will we rush out 5.5 with known and unknown API issues?

(yes, this question is meant to be suggestive :)

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-09 Thread Oswald Buddenhagen
On Tue, Jun 09, 2015 at 07:35:45AM +, Knoll Lars wrote:
 On 08/06/15 23:58, 
 development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
 Thiago Macieira 
 development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
 thiago.macie...@intel.com wrote:
 
 On Monday 08 June 2015 22:31:15 Marc Mutz wrote:
  It would probably be a good idea to do an additional header diff (incl. 
  new 
  headers) on the ML after the alpha. I don't follow the development of
  modules other than QtBase closely, nor do I want to, and apparently I'm too
  strict a reviewer to be regularly invited on new API
 
 Agree. Let's put this into our planning for 5.6. One header diff/review at 
 the time we branch 5.6, and a final one to cross-check before the RC.
 
 
 
 Well, that's exactly the kind of people we want reviewing our APIs...
 
 Thiago's right. If there's one place we want to be very strict it's on our 
 APIs. Everything else we can still fix later on, but APIs are out there and 
 will stick for a long time, so we better get them right.
 
wouldn't that mean pulling the emergency brake on 5.5 and allowing a
further ~two week slip in the schedule to actually fix the problem now
that we are aware of it? i think we already have enough experience with
how well next time works in practice ...
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtCore.diff

2015-06-09 Thread Olivier Goffart
On Monday 8. June 2015 17:57:23 Thiago Macieira wrote:
 On Monday 08 June 2015 15:58:23 Olivier Goffart wrote:
There is no reason to stop improving qmetatype.
   
   The qFatal was there for a good reason.
  
  It was there for a good reason for the existing flags.
  But for new flags of course it does not make sens.
 
 It did make sense: the idea was that registering new flags would cause the
 very incompatibility we're seeing here. I'm not entirely convinced that we
 discussed all scenarios at QtCS, so I'm still skeptical about allowing the
 IsGadget flag. I insist that we \omitvalue for now, until we understand the
 consequences better.

No, the qFatal is there because a change in the other flags like the 
MovableType is binary incompatible.
A change in the IsGadget flag is fine.

Old code did not need this flag. And code that relies on it requires anyway 
that the code that register the types register the isGadget flag.

Even if one could build a complicated use case that breaks, it would be very 
unlikely to happen.
And any change is dangerous. When we fix any small bug, there can always be 
applications that breaks because it was relying on the bug for something.


Anyway, let us summarize the problem in that case.

In Qt = 5.4, QtLocation was using QML Private API to basically creates 
QObject wrapper around QGeoCoordinate so it can be exposed in QML. But in Qt 
5.5, one does not need private API, everybody can expose value types to QML 
just by adding Q_GADGET to it and registering Q_PROPERTY or Q_INVOKABLE.
So QGeoCoordinate became a Q_GADGET.  But for QML to be able to take advantage 
of it, the type needs to be registered with the QMetaType::IsGadget flag. This 
is automatic. But if the metatype is registered by code compiled with Qt 5.4 
or before, the IsGadget flag is not present.
This is what is happening in a application that was compiled against Qt 5.4,  
QGeoCoordinate was used in signal and slot and registered as a metatype by the 
application. QMetaType will detect the difference in the flags on the second 
registration and do a qFatal. 
The solution is obviously not to do a qFatal, but take the new flags in 
addition. And then everything works as expected.

Now the problem is: could there be code that relies in IsGadget that is run 
and that the type is only registered by old code but not by new code. i.e: 
could loading an old plugin compiled with an old code suddenly break a new 
application using these new feature. 
In theory this is possible, but in practice I don't think this will ever 
happen. 

Let's suppose an application called App 1.0 which has this code:

mystruct.h:
 struct MyStruct {
int myValue;
 };
 Q_DECLARE_METATYPE(MyStruct);

myitem_p.h
 class MyItem : public QObject {
   Q_OBJECT
   Q_INVOKABLE extractValue(const QVariant v) {
  return qvariant_castMyStruct(v).myValue; 
   } 
 };
 
foo.qml:
 MyItem {
   function foobar(someObject) {
  return extractValue(someObject.myStructProperty);
   }
 }

someObject is an object coming from a plugin which has a property 
myStructProperty of type MyStruct.

Now, App 1.1 gets released and they simplify the code:

mystruct.h:
 struct MyStruct {
Q_GADGET;
Q_PROPERTY(int myValue MEMBER myValue)
  public:
int myValue;
 };
 
foo.qml:
 MyItem {
   function foobar(someObject) {
  // now that myStruct is a Q_GADGET i don't need the helper
  return someObject.myStructProperty.myValue;
   }
 }

Then yes, if the MyStruct was only registered by the plugin we get a binary 
compatibility problem in the application.  But this is a problem for the 
application, not Qt. And the solution is to make sure that MyStruct is 
registered by manually registering it using qRegisterMetaType
 
 And it's not just the flag. I'm not convinced about the template detection
 either. You had to apply two late fixes to the detection so that we wouldn't
 break source compatibility or create unnecessary warnings.

Yes, I had to apply fixes after the beta was released and it got tested in the 
wild. But is that not what beta releases are for?

   The freeze stays: no new flags in QMetaType until Qt 6, no more messing
   with the template black magic.
  
  You can't mandate that.
 
 Yes, I can. As the maintainer, I have the authority and mandate to oversee
 the changes to the module I maintain and that includes blocking changes I
 am unsatisfied with.
 
 A mailing list consensus can overrule me, as can the Chief Maintainer.
 
 We stay frozen until further notice. If you have new flags you want to
 propose, you can do it, but we'll need a mailing list discussion before the
 change is allowed.

Well, then it will be reviewed as usual.
There are few improvements that can be done to QMetaType that we were 
discussing at the summit, like the ability to modify list types (append and 
such) or including some of the C++11 features. I bet one can simplify 
qmetatype.h when we require C++11's decltype and proper SFINAE rules




Re: [Development] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-09 Thread Marc Mutz
On Tuesday 09 June 2015 00:27:40 Thiago Macieira wrote:
 But Qt API that doesn't explicitly need an array for the data should
 continue  to use QList.

I disagree insofar as it concerns new types.

Either a new type put into a QList is optimally efficient (sizeof == sizeof 
void* and at least Q_MOVABLE_TYPE), or the new type is not put into QList. For 
existing types, I think we agree to keep them, unless a change is relatively 
painless (like the FormatRange in QTextEngine/QTextLayout) or the problem is 
relatively painful (also FormatRange) or other parts of Qt already keep the 
type in QVector (again, FormatRange).

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-09 Thread Heikkinen Jani
Hi,

I tried to create error reports about the findings to be able to follow-up the 
progress. Please create new one if something is missing. I have also linked all 
to the Qt5.5.0-RC blocker list so please try to close all as soon as possible. 
I'll ask LEs from responsible persons today to be able to estimate RC schedule

Here is the errors I created:

 QTBUG-46555 not Qt-like API in QtGUI 
 QTBUG-46556 Retroactive deprecations are not allowed. 
 QTBUG-46557 QtTest.diff : API isn't finished 
 QTBUG-46558 Some methods in wrong class 
 QTBUG-46559 Q_DECL_OVERRIDEs missing from QtQuickWidgets API 
 QTBUG-46560 QtQML: Rename qqmfile.h into qqmlfile_p.h. 
 QTBUG-46561 Header Diff related issues in QtCore 
 QTBUG-46562 Header diff issues in QtLocation 
 QTBUG-46563 Header diff issues in QtMultimedia
 QTBUG-46564 Header diff issues in QtBluetooth 

br,
Jani


-Original Message-
From: development-bounces+jani.heikkinen=theqtcompany.com@qt-
project.org [mailto:development-
bounces+jani.heikkinen=theqtcompany@qt-project.org] On Behalf Of
Oswald Buddenhagen
Sent: 9. kesäkuuta 2015 12:49
To: development@qt-project.org
Subject: Re: [Development] Qt 5.5.0 header diff

On Tue, Jun 09, 2015 at 07:35:45AM +, Knoll Lars wrote:
 On 08/06/15 23:58, development-
bounces+lars.knoll=theqtcompany@qt-project.org on behalf of Thiago
Macieira development-bounces+lars.knoll=theqtcompany.com@qt-
project.org on behalf of thiago.macie...@intel.com wrote:

 On Monday 08 June 2015 22:31:15 Marc Mutz wrote:
  It would probably be a good idea to do an additional header diff (incl. 
  new
  headers) on the ML after the alpha. I don't follow the development of
  modules other than QtBase closely, nor do I want to, and apparently I'm
too
  strict a reviewer to be regularly invited on new API

 Agree. Let's put this into our planning for 5.6. One header diff/review at 
 the
time we branch 5.6, and a final one to cross-check before the RC.


 
 Well, that's exactly the kind of people we want reviewing our APIs...

 Thiago's right. If there's one place we want to be very strict it's on our 
 APIs.
Everything else we can still fix later on, but APIs are out there and will 
stick for a
long time, so we better get them right.

wouldn't that mean pulling the emergency brake on 5.5 and allowing a
further ~two week slip in the schedule to actually fix the problem now
that we are aware of it? i think we already have enough experience with
how well next time works in practice ...
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-09 Thread Oswald Buddenhagen
On Tue, Jun 09, 2015 at 10:59:32AM +, Heikkinen Jani wrote:
 Hi,
 
 I tried to create error reports about the findings to be able to follow-up 
 the progress. Please create new one if something is missing.

the point was about the entirely new headers that were not in the diffs,
i.e., entirely new apis. it's a quite different (and much bigger) task
than ensuring compatibility with existing api revisions.

i can create a task, but it's not up to me to actually schedule it. lars
(or multiple other maintainers) need to make that call.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-09 Thread Knoll Lars

On 08/06/15 23:58, 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
Thiago Macieira 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
thiago.macie...@intel.com wrote:

On Monday 08 June 2015 22:31:15 Marc Mutz wrote:
 It would probably be a good idea to do an additional header diff (incl. new 
 headers) on the ML after the alpha. I don't follow the development of
 modules other than QtBase closely, nor do I want to, and apparently I'm too
 strict a reviewer to be regularly invited on new API

Agree. Let's put this into our planning for 5.6. One header diff/review at the 
time we branch 5.6, and a final one to cross-check before the RC.



Well, that's exactly the kind of people we want reviewing our APIs...

Thiago's right. If there's one place we want to be very strict it's on our 
APIs. Everything else we can still fix later on, but APIs are out there and 
will stick for a long time, so we better get them right.

Cheers,
Lars



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


Re: [Development] Qt 5.5.0 header diff

2015-06-09 Thread Thiago Macieira
On Tuesday 09 June 2015 07:35:45 Knoll Lars wrote:
 On 08/06/15 23:58, development-bounces+lars.knoll=theqtcompany.com@qt-
project.org on behalf of Thiago Macieira development-
bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
thiago.macie...@intel.com wrote:
 On Monday 08 June 2015 22:31:15 Marc Mutz wrote:
  It would probably be a good idea to do an additional header diff (incl.
  new
  headers) on the ML after the alpha. I don't follow the development of
  modules other than QtBase closely, nor do I want to, and apparently I'm
  too
  strict a reviewer to be regularly invited on new API
 
 Agree. Let's put this into our planning for 5.6. One header diff/review at
 the time we branch 5.6, and a final one to cross-check before the RC.

I don't think this is a header diff review.

This is an API review, where we have people who've written new classes to come 
and present their API. They should do that in fact even as the feature is 
being finalised and is getting integrated.

We can initiate it by doing a dump of new classes in the release. That should 
be easy, all we need is to compare include/QtXxxx/ file listing.

We'd still need a header diff for new functions in existing classes. Usually, 
those are minor additions.

-- 
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] Qt 5.5.0 header diff: QtCore.diff

2015-06-09 Thread Thiago Macieira
On Tuesday 09 June 2015 12:10:02 Olivier Goffart wrote:
 A change in the IsGadget flag is fine.
 
 Old code did not need this flag. And code that relies on it requires anyway
 that the code that register the types register the isGadget flag.
 
 Even if one could build a complicated use case that breaks, it would be very
 unlikely to happen.

And yet it did happen, or we wouldn't be having this conversation. If Alex 
could do it in qtconnectivity, why can't others do it in other circumstances?

 And any change is dangerous. When we fix any small bug, there can always be
 applications that breaks because it was relying on the bug for something.

The problem is the associated risk because this code is complex and varies 
depending on factors we usually don't think about. This isn't about your 
standard class that operates on data.

 Anyway, let us summarize the problem in that case.
 
 In Qt = 5.4, QtLocation was using QML Private API to basically creates
 QObject wrapper around QGeoCoordinate so it can be exposed in QML. But in Qt
 5.5, one does not need private API, everybody can expose value types to QML
 just by adding Q_GADGET to it and registering Q_PROPERTY or Q_INVOKABLE. So
 QGeoCoordinate became a Q_GADGET.  But for QML to be able to take advantage
 of it, the type needs to be registered with the QMetaType::IsGadget flag.
 This is automatic. But if the metatype is registered by code compiled with
 Qt 5.4 or before, the IsGadget flag is not present.
 This is what is happening in a application that was compiled against Qt 5.4,
 QGeoCoordinate was used in signal and slot and registered as a metatype by
 the application. QMetaType will detect the difference in the flags on the
 second registration and do a qFatal.
 The solution is obviously not to do a qFatal, but take the new flags in
 addition. And then everything works as expected.

And register the metatype for the Q_GADGET, which it hadn't done before.

My point is that you had not thought of this when you wrote the feature. 
Therefore, there shall be no more such features without major discussion 
because we are failing to see all the possible consequences. And I am not 
convinced yet we've found them all.

What are the consequences of overriding the flag and the metatype? Could it be 
that the user did intentionally break compatibility, yet failed to recompile 
one module? That's what the qFatal was there for: a reminder. We're removing 
it.

  And it's not just the flag. I'm not convinced about the template detection
  either. You had to apply two late fixes to the detection so that we
  wouldn't break source compatibility or create unnecessary warnings.
 
 Yes, I had to apply fixes after the beta was released and it got tested in
 the wild. But is that not what beta releases are for?

The problem is the precedent. We are not finding everything and this code is 
extremely complex. The more we add to it, the more complex it becomes 
(exponentially so).

 Well, then it will be reviewed as usual.
 There are few improvements that can be done to QMetaType that we were
 discussing at the summit, like the ability to modify list types (append and
 such) or including some of the C++11 features. I bet one can simplify
 qmetatype.h when we require C++11's decltype and proper SFINAE rules

We will have to discuss each modification in the mailing list.

And note that replacing the rules with C++11 simpler rules may have side-
effects too, so you should not simplify for the sake of simplification.

-- 
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] Qt 5.5.0 header diff: QtWidgets.diff

2015-06-09 Thread Sorvig Morten

 On 08 Jun 2015, at 11:07, Marc Mutz marc.m...@kdab.com wrote:
 
 On Friday 05 June 2015 10:11:27 Frederik Gladhorn wrote:
 diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
 b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h index a98d30f..5920c1f
 100644
 --- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
 +++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
 @@ -52,7 +52,6 @@ public:
 NSView *nativeView() const;
 
 protected:
 -void init(NSView *parentView);
 bool event(QEvent *ev);
 
 private:
 
 This diff seems wrong. In Qt 5.5, the header 

That diff is actually for src/widgets/widgets/qmacnativewidget_mac.h .

Change in question is cf5e5570.

Morten


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


Re: [Development] Qt 5.5.0 header diff: QtWidgets.diff

2015-06-09 Thread Marc Mutz
On Tuesday 09 June 2015 17:40:59 Sorvig Morten wrote:
  On 08 Jun 2015, at 11:07, Marc Mutz marc.m...@kdab.com wrote:
  
  On Friday 05 June 2015 10:11:27 Frederik Gladhorn wrote:
  diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
  b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h index
  a98d30f..5920c1f 100644
  --- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
  +++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
  
  @@ -52,7 +52,6 @@ public:
  NSView *nativeView() const;
  
  protected:
  -void init(NSView *parentView);
  
  bool event(QEvent *ev);
  
  private:
  This diff seems wrong. In Qt 5.5, the header
 
 That diff is actually for src/widgets/widgets/qmacnativewidget_mac.h .
 
 Change in question is cf5e5570.

Ok, looks good then (ftr: no definition was present for the function)

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-09 Thread Knoll Lars
On 09/06/15 16:41, 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
Thiago Macieira 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
thiago.macie...@intel.com wrote:



On Tuesday 09 June 2015 07:35:45 Knoll Lars wrote:
 On 08/06/15 23:58, development-bounces+lars.knoll=theqtcompany.com@qt-
project.org on behalf of Thiago Macieira development-
bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
thiago.macie...@intel.com wrote:
 On Monday 08 June 2015 22:31:15 Marc Mutz wrote:
  It would probably be a good idea to do an additional header diff (incl.
  new
  headers) on the ML after the alpha. I don't follow the development of
  modules other than QtBase closely, nor do I want to, and apparently I'm
  too
  strict a reviewer to be regularly invited on new API
 
 Agree. Let's put this into our planning for 5.6. One header diff/review at
 the time we branch 5.6, and a final one to cross-check before the RC.

I don't think this is a header diff review.

This is an API review, where we have people who've written new classes to come 
and present their API. They should do that in fact even as the feature is 
being finalised and is getting integrated.

We can initiate it by doing a dump of new classes in the release. That should 
be easy, all we need is to compare include/QtXxxx/ file listing.

We'd still need a header diff for new functions in existing classes. Usually, 
those are minor additions.

Sorry, maybe bad wording from my side. But with a header diff I meant a full 
diff that would include also new files/classes.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff: QtDeclarative.diff

2015-06-09 Thread Alan Alpert
I started working on something that would diff QML API changes a while
ago: https://codereview.qt-project.org/#/c/52625/

It's a little tricky, but it basically is just diffing the
plugins.qmltypes files. After regenerating them and having old full
copies because of the manual editing that occurs sometimes. And you
need to diff the parsed tree because the order of lines changes
sometimes. But I suppose the biggest hurdle to getting that tool in is
that I wanted it to run as an autotest and fail if new symbols appear
which aren't properly versioned (a little more work than just listing
changes).

--
Alan Alpert

On Sat, Jun 6, 2015 at 2:23 AM, Liang Qi cavendish...@gmail.com wrote:
 On 6 June 2015 at 10:52, Allan Sandfeld Jensen k...@carewolf.com wrote:

 On Friday 05 June 2015, Frederik Gladhorn wrote:
 

 Would there be any way to generate diffs or changes for QML APIs?


 Perhaps a diff for all plugins.qmltypes files? But I guess that not all were
 updated yet.

 --
 http://www.qiliang.net

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

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


Re: [Development] Qt 5.5.0 header diff: QtTest.diff

2015-06-08 Thread Marc Mutz
On Monday 08 June 2015 15:29:46 Thiago Macieira wrote:
 On Monday 08 June 2015 15:26:26 Marc Mutz wrote:
  On Saturday 06 June 2015 10:11:45 Thiago Macieira wrote:
   return a QTemporaryDir (which
   implies passing in by output parameter)
 
  
 
  Or simply return QSharedPointerQTemporaryDir...
 
 Right, but no one has done it yet.

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

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff

2015-06-08 Thread Marc Mutz
On Monday 08 June 2015 15:36:21 Thiago Macieira wrote:
 On Thursday 04 June 2015 15:29:10 Frederik Gladhorn wrote:
  It's time for the header diffs, please help review the changes (Qt 5.4.2
  to 5.5.0) to make sure nothing that was added to the public headers
  slipped through when it shouldn't be there.
 
 We seem to be doing API reviews and finding mistakes in the code. Please
 note that the header diff does not include new files, so we're not doing
 API reviews on any new classes.
 
 API reviews should have been done twice already, before RC stage. It needs
 to be done once before the API is merged and once again between the alpha
 and beta releases.
 
 Are we skimping on our processes?

Looking at some of the classes in modules other than QtBase, I get the feeling 
they were not widely reviewed, no.

It would probably be a good idea to do an additional header diff (incl. new 
headers) on the ML after the alpha. I don't follow the development of modules 
other than QtBase closely, nor do I want to, and apparently I'm too strict a 
reviewer to be regularly invited on new API :)

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Thiago Macieira
On Monday 08 June 2015 15:40:01 Milian Wolff wrote:
 On Monday 08 June 2015 09:32:42 Thiago Macieira wrote:
  On Monday 08 June 2015 14:57:19 Joerg Bornemann wrote:
   On 08-Jun-15 15:38, Marc Mutz wrote:
QListQSize should be QVectorQSize
   
   Speaking of that, should we adjust the following recommendation in the
   docs?
   
   For most purposes, QList is the right class to use. Its index-based API
   is more convenient than QLinkedList's iterator-based API, and it is
   usually faster than QVector because of the way it stores its items in
   memory. It also expands to less code in your executable.
  
  No.
 
 Why not? It's simply a bad recommendation.

See the other email: we want to keep QList in the API.

We could expand the recommendation with more uses, though.

-- 
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] Qt 5.5.0 header diff: QtCore.diff

2015-06-08 Thread Thiago Macieira
On Monday 08 June 2015 15:58:23 Olivier Goffart wrote:
   There is no reason to stop improving qmetatype.
 
  
 
  The qFatal was there for a good reason.
 
 It was there for a good reason for the existing flags. 
 But for new flags of course it does not make sens.

It did make sense: the idea was that registering new flags would cause the very 
incompatibility we're seeing here. I'm not entirely convinced that we 
discussed all scenarios at QtCS, so I'm still skeptical about allowing the 
IsGadget flag. I insist that we \omitvalue for now, until we understand the 
consequences better.

And it's not just the flag. I'm not convinced about the template detection 
either. You had to apply two late fixes to the detection so that we wouldn't 
break source compatibility or create unnecessary warnings.

  The freeze stays: no new flags in QMetaType until Qt 6, no more messing
  with the template black magic.
 
 You can't mandate that.

Yes, I can. As the maintainer, I have the authority and mandate to oversee the 
changes to the module I maintain and that includes blocking changes I am 
unsatisfied with.

A mailing list consensus can overrule me, as can the Chief Maintainer.

We stay frozen until further notice. If you have new flags you want to propose, 
you can do it, but we'll need a mailing list discussion before the change is 
allowed.

-- 
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] Qt 5.5.0 header diff

2015-06-08 Thread Thiago Macieira
On Monday 08 June 2015 22:31:15 Marc Mutz wrote:
 It would probably be a good idea to do an additional header diff (incl. new 
 headers) on the ML after the alpha. I don't follow the development of
 modules other than QtBase closely, nor do I want to, and apparently I'm too
 strict a reviewer to be regularly invited on new API

Well, that's exactly the kind of people we want reviewing our APIs...
-- 
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] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Alex Montgomery
On Mon, Jun 8, 2015 at 3:27 PM, Thiago Macieira thiago.macie...@intel.com
wrote:

 On Tuesday 09 June 2015 00:12:47 Milian Wolff wrote:
  Sorry Thiago, but imo your answers are not on topic: The documentation is
  /wrong/. QList is _not_ the right container class to use for most
  purposes. If, inside Qt, it is currently (ab)used for historical
 reasons,
  well then fine. But can be /please/ get rid of the prominent endorsement
 in
  the documentation? Saying it should be preferred when interacting with
  existing (Qt) API is something altogether different than saying it should
  be used by default. It is *not* usually faster than QVector, and that is
  /especially/ because of the way it stores items in memory. That it
 expands
  to less code is afaik true, but only to a small margin, according to the
  measurements done by e.g. Volker Krause on KF5 code.

 Fair enough, go ahead and change it.


+1 for not lying to Qt users. Our company has had to change a lot of our
critical-path code to use QVector in recent months, and we probably
would've started that way if not for the offending documentation.

Regards,
Alex Montgomery

Director of Tools Technology
Telltale Games
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Thiago Macieira
On Tuesday 09 June 2015 00:12:47 Milian Wolff wrote:
 Sorry Thiago, but imo your answers are not on topic: The documentation is
 /wrong/. QList is _not_ the right container class to use for most
 purposes. If, inside Qt, it is currently (ab)used for historical reasons,
 well then fine. But can be /please/ get rid of the prominent endorsement in
 the documentation? Saying it should be preferred when interacting with
 existing (Qt) API is something altogether different than saying it should
 be used by default. It is *not* usually faster than QVector, and that is
 /especially/ because of the way it stores items in memory. That it expands
 to less code is afaik true, but only to a small margin, according to the
 measurements done by e.g. Volker Krause on KF5 code.

Fair enough, go ahead and change it.

But Qt API that doesn't explicitly need an array for the data should continue 
to use QList.

-- 
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] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Milian Wolff
On Monday 08 June 2015 17:50:31 Thiago Macieira wrote:
 On Monday 08 June 2015 15:40:01 Milian Wolff wrote:
  On Monday 08 June 2015 09:32:42 Thiago Macieira wrote:
   On Monday 08 June 2015 14:57:19 Joerg Bornemann wrote:
On 08-Jun-15 15:38, Marc Mutz wrote:
 QListQSize should be QVectorQSize

Speaking of that, should we adjust the following recommendation in the
docs?

For most purposes, QList is the right class to use. Its index-based
API
is more convenient than QLinkedList's iterator-based API, and it is
usually faster than QVector because of the way it stores its items in
memory. It also expands to less code in your executable.
   
   No.
  
  Why not? It's simply a bad recommendation.
 
 See the other email: we want to keep QList in the API.
 
 We could expand the recommendation with more uses, though.

Sorry Thiago, but imo your answers are not on topic: The documentation is 
/wrong/. QList is _not_ the right container class to use for most purposes. 
If, inside Qt, it is currently (ab)used for historical reasons, well then 
fine. But can be /please/ get rid of the prominent endorsement in the 
documentation? Saying it should be preferred when interacting with existing 
(Qt) API is something altogether different than saying it should be used by 
default. It is *not* usually faster than QVector, and that is /especially/ 
because of the way it stores items in memory. That it expands to less code is 
afaik true, but only to a small margin, according to the measurements done by 
e.g. Volker Krause on KF5 code.

Bye

-- 
Milian Wolff | milian.wo...@kdab.com | Software Engineer
KDAB (Deutschland) GmbHCo KG, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt Experts

smime.p7s
Description: S/MIME cryptographic signature
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtPositioning.diff

2015-06-08 Thread Blasche Alexander
 -Original Message-
 Thiago Macieira
 On Friday 05 June 2015 10:10:50 Frederik Gladhorn wrote:
  -qreal distanceTo(const QGeoCoordinate other) const;
  -qreal azimuthTo(const QGeoCoordinate other) const;
  +Q_INVOKABLE qreal distanceTo(const QGeoCoordinate other) const;
  +Q_INVOKABLE qreal azimuthTo(const QGeoCoordinate other) const;
 
 
 From C++, the module looks good.
 
 From QML, should there be some Q_REVISION above?

It is not required. The above two functions existed in Qt 5.4 already. We 
merely swap the C++ object handling the QML representation for QGeoCoordinate. 
QGeoCoordinate is the new C++ handler and it needs to make the functionality 
available via Q_INVOKABLE.

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


Re: [Development] Qt 5.5.0 header diff: QtWidgets.diff

2015-06-08 Thread Marc Mutz
On Monday 08 June 2015 11:07:26 Marc Mutz wrote:
 On Friday 05 June 2015 10:11:27 Frederik Gladhorn wrote:
  diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
  b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h index a98d30f..5920c1f
  100644
  --- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
  +++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
  
  @@ -52,7 +52,6 @@ public:
   NSView *nativeView() const;
   
   protected:
  -void init(NSView *parentView);
  
   bool event(QEvent *ev);
   
   private:
 This diff seems wrong. In Qt 5.5, the header
 src/widgets/widgets/qmaccocoaviewcontainer_mac.h looks like this:
 
 QT_BEGIN_NAMESPACE
 
 class QMacCocoaViewContainerPrivate;
 class Q_WIDGETS_EXPORT QMacCocoaViewContainer : public QWidget
 {
 Q_OBJECT
 public:
 QMacCocoaViewContainer(NSView *cocoaViewToWrap, QWidget *parent = 0);
 virtual ~QMacCocoaViewContainer();
 
 void setCocoaView(NSView *view);
 NSView *cocoaView() const;
 
 private:
 Q_DECLARE_PRIVATE(QMacCocoaViewContainer)
 };
 
 QT_END_NAMESPACE

There's no actual diff between 5.4 and 5.5 in this header file.

Rest looks good, too, though I'd have made QSpacerItem::sizePolicy() const 
inline: https://codereview.qt-project.org/113873

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtWidgets.diff

2015-06-08 Thread Marc Mutz
On Friday 05 June 2015 10:11:27 Frederik Gladhorn wrote:
 diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
 b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h index a98d30f..5920c1f
 100644
 --- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
 +++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.h
 @@ -52,7 +52,6 @@ public:
  NSView *nativeView() const;
  
  protected:
 -void init(NSView *parentView);
  bool event(QEvent *ev);
  
  private:

This diff seems wrong. In Qt 5.5, the header 
src/widgets/widgets/qmaccocoaviewcontainer_mac.h looks like this:

QT_BEGIN_NAMESPACE

class QMacCocoaViewContainerPrivate;
class Q_WIDGETS_EXPORT QMacCocoaViewContainer : public QWidget
{
Q_OBJECT
public:
QMacCocoaViewContainer(NSView *cocoaViewToWrap, QWidget *parent = 0);
virtual ~QMacCocoaViewContainer();

void setCocoaView(NSView *view);
NSView *cocoaView() const;

private:
Q_DECLARE_PRIVATE(QMacCocoaViewContainer)
};

QT_END_NAMESPACE


-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtCore.diff

2015-06-08 Thread Olivier Goffart
On Saturday 6. June 2015 11:17:30 Thiago Macieira wrote:
 On Friday 05 June 2015 10:11:28 Frederik Gladhorn wrote:
 
 
 I can't tell if the qmetatype.h template magic is binary compatible or not.
 As evidenced by a recent push [1] about the IsGadget flag, it isn't.
 
 I'm going to put a stop to this. qmetatype.h template magic is now frozen as
 of Qt 5.5 and until Qt 6.0, aside from bugfixes or pure additions that do
 not modify existing template classes.
 
 [1] https://codereview.qt-project.org/113652

The problem here is the qFail. We can just remove the qFail in this case (what 
the patch does) and we will be fine.

There is no reason to stop improving qmetatype.

   Q_DECLARE_FLAGS(LoadHints, LoadHint)
  
  +Q_FLAG(LoadHint)
  +Q_FLAG(LoadHints)
 
 Do we need both Q_FLAG? That looks like a mistake.


The code was just moved from Q_FLAGS to Q_FLAG.  Both were there before and I 
kept it like that.

It cannot really be changed otherwise code like 
staticQtMetaObject.indexOfEnumerator(LoadHint) or 
staticQtMetaObject.indexOfEnumerator(LoadHints) will break.

The use of Q_ENUMS and Q_FLAGS with QFlags types is not really consistent 
within Qt.  

-- 
Olivier 

Woboq - Qt services and support - http://woboq.com - http://code.woboq.org

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


Re: [Development] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Marc Mutz
On Friday 05 June 2015 10:10:52 Frederik Gladhorn wrote:
 +typedef QPairqreal, qreal FrameRateRange;

Should be a struct, not a QPair:

   FrameRateChange chg = ...;
   chg.first... // what's first???
   chg.second... // what's second???

  enum Status {
  UnavailableStatus,
  UnloadedStatus,
 @@ -169,6 +172,21 @@ public:
  void setViewfinder(QGraphicsVideoItem *viewfinder);
  void setViewfinder(QAbstractVideoSurface *surface);
  
 +QCameraViewfinderSettings viewfinderSettings() const;
 +void setViewfinderSettings(const QCameraViewfinderSettings settings);
 +
 +QListQCameraViewfinderSettings supportedViewfinderSettings(
 +const QCameraViewfinderSettings settings =
 QCameraViewfinderSettings()) const;

QCameraViewFinderSettings isn't marked as movable, so should be held in 
QVector instead.

 +QListQSize supportedViewfinderResolutions(
 +const QCameraViewfinderSettings settings =
 QCameraViewfinderSettings()) const;

QListQSize should be QVectorQSize


 +QListFrameRateRange supportedViewfinderFrameRateRanges(
 +const QCameraViewfinderSettings settings =

QListFrameRateChange should be QVectorFrameRateChange

 QCameraViewfinderSettings()) const; +
 +QListQVideoFrame::PixelFormat supportedViewfinderPixelFormats(
 +const QCameraViewfinderSettings settings =
 QCameraViewfinderSettings()) const;

QListPixelFormat should be QVectorPixelFormat (enum PixelFormat)

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Joerg Bornemann
On 08-Jun-15 15:38, Marc Mutz wrote:

 QListQSize should be QVectorQSize

Speaking of that, should we adjust the following recommendation in the docs?

For most purposes, QList is the right class to use. Its index-based API 
is more convenient than QLinkedList's iterator-based API, and it is 
usually faster than QVector because of the way it stores its items in 
memory. It also expands to less code in your executable.


BR,

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


Re: [Development] Qt 5.5.0 header diff: QtCore.diff

2015-06-08 Thread Olivier Goffart
On Monday 8. June 2015 09:34:30 Thiago Macieira wrote:
 On Monday 08 June 2015 11:28:48 Olivier Goffart wrote:
  On Saturday 6. June 2015 11:17:30 Thiago Macieira wrote:
   On Friday 05 June 2015 10:11:28 Frederik Gladhorn wrote:
   
   
   I can't tell if the qmetatype.h template magic is binary compatible or
   not.
   As evidenced by a recent push [1] about the IsGadget flag, it isn't.
   
   I'm going to put a stop to this. qmetatype.h template magic is now
   frozen
   as of Qt 5.5 and until Qt 6.0, aside from bugfixes or pure additions
   that
   do not modify existing template classes.
   
   [1] https://codereview.qt-project.org/113652
  
  The problem here is the qFail. We can just remove the qFail in this case
  (what the patch does) and we will be fine.
  
  There is no reason to stop improving qmetatype.
 
 The qFatal was there for a good reason.

It was there for a good reason for the existing flags. 
But for new flags of course it does not make sens.
 
 The freeze stays: no new flags in QMetaType until Qt 6, no more messing with
 the template black magic.

You can't mandate that.

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


Re: [Development] Qt 5.5.0 header diff: QtQml.diff

2015-06-08 Thread Marc Mutz
On Friday 05 June 2015 10:11:30 Frederik Gladhorn wrote:
 +static bool startTcpDebugServer(int port, bool block = false,
 +const QString hostName = QString());

boolean argument should be an enum.

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtTest.diff

2015-06-08 Thread Thiago Macieira
On Monday 08 June 2015 15:26:26 Marc Mutz wrote:
 On Saturday 06 June 2015 10:11:45 Thiago Macieira wrote:
  return a QTemporaryDir (which
  implies passing in by output parameter)
 
 Or simply return QSharedPointerQTemporaryDir...

Right, but no one has done it yet.
-- 
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] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Oswald Buddenhagen
On Mon, Jun 08, 2015 at 01:17:26PM +, Lopes Yoann wrote:
 
  On 08 Jun 2015, at 15:38, Marc Mutz marc.m...@kdab.com wrote:
  
  On Friday 05 June 2015 10:10:52 Frederik Gladhorn wrote:
  +typedef QPairqreal, qreal FrameRateRange;
  
  Should be a struct, not a QPair:
  
FrameRateChange chg = ...;
chg.first... // what's first???
chg.second... // what's second???
 
 It’s …Range, not “…Change ;) 
 I think having ‘first’ and ‘second’ for a range is pretty self-explanatory.
 
well, lower bound and upper bound are more natural.
also, it's more consistent to standardize on no QPair in the api.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtLocation.diff

2015-06-08 Thread Marc Mutz
On Friday 05 June 2015 10:10:37 Frederik Gladhorn wrote:
 diff --git a/src/location/maps/qgeocodereply.h
 b/src/location/maps/qgeocodereply.h index a30a863..f713e42 100644
 --- a/src/location/maps/qgeocodereply.h
 +++ b/src/location/maps/qgeocodereply.h
 @@ -56,7 +59,7 @@ class QGeoServiceProviderPrivate;
  class Q_LOCATION_EXPORT QGeoServiceProvider : public QObject
  {
  Q_OBJECT
 -
 +Q_ENUMS(Error)
  public:
  enum Error {
  NoError,

Should be Q_ENUM(Error) after the enum Error?

But can be fixed in BC way.

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtTest.diff

2015-06-08 Thread Marc Mutz
On Saturday 06 June 2015 10:11:45 Thiago Macieira wrote:
 return a QTemporaryDir (which 
 implies passing in by output parameter)

Or simply return QSharedPointerQTemporaryDir...

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Thiago Macieira
On Monday 08 June 2015 15:38:21 Marc Mutz wrote:
  +QListQSize supportedViewfinderResolutions(
  +const QCameraViewfinderSettings settings =
  QCameraViewfinderSettings()) const;
 
 QListQSize should be QVectorQSize

We know that QList is defective, but let's keep it in API. We'll get a chance 
to fix QList for Qt 6.
-- 
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] Qt 5.5.0 header diff: QtBluetooth.diff

2015-06-08 Thread Marc Mutz
On Friday 05 June 2015 10:11:25 Frederik Gladhorn wrote:
 +bool operator==(const QBluetoothHostInfo other) const;
 +bool operator!=(const QBluetoothHostInfo other) const;
 +

should be non-member (friends, if needed)

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtTest.diff

2015-06-08 Thread Oswald Buddenhagen
On Mon, Jun 08, 2015 at 03:26:26PM +0200, Marc Mutz wrote:
 On Saturday 06 June 2015 10:11:45 Thiago Macieira wrote:
  return a QTemporaryDir (which 
  implies passing in by output parameter)
 
 Or simply return QSharedPointerQTemporaryDir...
 
smart pointers in the api are not liked by binding authors ...
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Thiago Macieira
On Monday 08 June 2015 14:57:19 Joerg Bornemann wrote:
 On 08-Jun-15 15:38, Marc Mutz wrote:
  QListQSize should be QVectorQSize
 
 Speaking of that, should we adjust the following recommendation in the docs?
 
 For most purposes, QList is the right class to use. Its index-based API
 is more convenient than QLinkedList's iterator-based API, and it is
 usually faster than QVector because of the way it stores its items in
 memory. It also expands to less code in your executable.

No.
-- 
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] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Milian Wolff
On Monday 08 June 2015 09:32:42 Thiago Macieira wrote:
 On Monday 08 June 2015 14:57:19 Joerg Bornemann wrote:
  On 08-Jun-15 15:38, Marc Mutz wrote:
   QListQSize should be QVectorQSize
  
  Speaking of that, should we adjust the following recommendation in the
  docs?
  
  For most purposes, QList is the right class to use. Its index-based API
  is more convenient than QLinkedList's iterator-based API, and it is
  usually faster than QVector because of the way it stores its items in
  memory. It also expands to less code in your executable.
 
 No.

Why not? It's simply a bad recommendation.
-- 
Milian Wolff | milian.wo...@kdab.com | Software Engineer
KDAB (Deutschland) GmbHCo KG, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtCore.diff

2015-06-08 Thread Thiago Macieira
On Monday 08 June 2015 11:28:48 Olivier Goffart wrote:
 On Saturday 6. June 2015 11:17:30 Thiago Macieira wrote:
  On Friday 05 June 2015 10:11:28 Frederik Gladhorn wrote:
  
  
  I can't tell if the qmetatype.h template magic is binary compatible or
  not.
  As evidenced by a recent push [1] about the IsGadget flag, it isn't.
  
  I'm going to put a stop to this. qmetatype.h template magic is now frozen
  as of Qt 5.5 and until Qt 6.0, aside from bugfixes or pure additions that
  do not modify existing template classes.
  
  [1] https://codereview.qt-project.org/113652
 
 The problem here is the qFail. We can just remove the qFail in this case
 (what the patch does) and we will be fine.
 
 There is no reason to stop improving qmetatype.

The qFatal was there for a good reason.

The freeze stays: no new flags in QMetaType until Qt 6, no more messing with 
the template black magic.

-- 
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] Qt 5.5.0 header diff

2015-06-08 Thread Thiago Macieira
On Thursday 04 June 2015 15:29:10 Frederik Gladhorn wrote:
 It's time for the header diffs, please help review the changes (Qt 5.4.2 to
 5.5.0) to make sure nothing that was added to the public headers slipped
 through when it shouldn't be there.

We seem to be doing API reviews and finding mistakes in the code. Please note 
that the header diff does not include new files, so we're not doing API reviews 
on any new classes.

API reviews should have been done twice already, before RC stage. It needs to 
be done once before the API is merged and once again between the alpha and 
beta releases.

Are we skimping on our processes?
-- 
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] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-08 Thread Lopes Yoann

 On 08 Jun 2015, at 15:38, Marc Mutz marc.m...@kdab.com wrote:
 
 On Friday 05 June 2015 10:10:52 Frederik Gladhorn wrote:
 +typedef QPairqreal, qreal FrameRateRange;
 
 Should be a struct, not a QPair:
 
   FrameRateChange chg = ...;
   chg.first... // what's first???
   chg.second... // what's second???

It’s …Range, not “…Change ;) 
I think having ‘first’ and ‘second’ for a range is pretty self-explanatory.

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


Re: [Development] Qt 5.5.0 header diff: QtQuickWidgets.diff

2015-06-07 Thread Knoll Lars
On 06/06/15 10:04, 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
Thiago Macieira 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
thiago.macie...@intel.com wrote:



On Friday 05 June 2015 10:10:46 Frederik Gladhorn wrote:
 +#ifndef QT_NO_DRAGANDDROP
 +virtual void dragEnterEvent(QDragEnterEvent *);
 +virtual void dragMoveEvent(QDragMoveEvent *);
 +virtual void dragLeaveEvent(QDragLeaveEvent *);
 +virtual void dropEvent(QDropEvent *);
 +#endif
 +

Is this a public libary?

Yes.
 

Are the above overrides or not? If they are overrides, add Q_DECL_OVERRIDE.

The methods are overrides. 

The change looks good except for the missing Q_DECL_OVERRIDE. So far the drag 
events have been catched in the generic ::event() reimplementation, so nobody 
could have subclassed these methods in any meaningful way anyway.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff: QtSvg.diff

2015-06-07 Thread Olivier Goffart
On Saturday 6. June 2015 10:04:09 Thiago Macieira wrote:
 On Friday 05 June 2015 10:10:44 Frederik Gladhorn wrote:
 
 No changes, good.
 
 We ought to stop revving the version number for libraries that did not
 update at all...

Maybe there was no API, But if you look a git loog, you will see several 
commits that adds feature, fix bugs, or optimize QtSvg.

-- 
Olivier 

Woboq - Qt services and support - http://woboq.com - http://code.woboq.org
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtNetwork.diff

2015-06-07 Thread Knoll Lars

On 06/06/15 15:26, 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
Thiago Macieira 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
thiago.macie...@intel.com wrote:

On Saturday 06 June 2015 14:22:20 Giuseppe D'Angelo wrote:
 Il 06/06/2015 13:27, Thiago Macieira ha scritto:
  Then why do we need them in QSslSocket?
 
 Technically they are be needed there, indeed, but I didn't want to cause
 an API asymmetry with the other functions for ciphers, certificates and
 so on, that's all.

The symmetry only existed because we added them to QSslSocket before 
QSslCertificate existed.

I'd rather new API existed only in QSslConfiguration. That way, we don't need 
to duplicate in QSslSocket.

In that case you should probably also deprecate the methods in QSslSocket.

Cheers,
Lars

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


Re: [Development] Qt 5.5.0 header diff: QtTest.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:47 Frederik Gladhorn wrote:
 +Q_TESTLIB_EXPORT QString qExtractTestData(const QString dirName);
  

This API isn't finished. The function needs to return a QTemporaryDir (which 
implies passing in by output parameter) so that the caller properly cleans up 
the extracted test data.

The rest looks good. I'd have put the qgpu_features function inside the QTest 
namespace, like everything else, though.
-- 
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] Qt 5.5.0 header diff: QtDeclarative.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:49 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtScript.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:51 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtPositioning.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:50 Frederik Gladhorn wrote:
 -qreal distanceTo(const QGeoCoordinate other) const;
 -qreal azimuthTo(const QGeoCoordinate other) const;
 +Q_INVOKABLE qreal distanceTo(const QGeoCoordinate other) const;
 +Q_INVOKABLE qreal azimuthTo(const QGeoCoordinate other) const;
  

From C++, the module looks good.

From QML, should there be some Q_REVISION above?
-- 
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] Qt 5.5.0 header diff: QtMultimedia.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:52 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtDeclarative.diff

2015-06-06 Thread Allan Sandfeld Jensen
On Friday 05 June 2015, Frederik Gladhorn wrote:
 

Would there be any way to generate diffs or changes for QML APIs?

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


Re: [Development] Qt 5.5.0 header diff: QtX11Extras.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:54 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtScriptTools.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:22 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtWebSockets.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:19 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtMultimediaWidgets.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:53 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtPrintSupport.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:21 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtQuick.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:20 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtQuickTest.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:37 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtLocation.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:37 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtSensors.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:34 Frederik Gladhorn wrote:
 

No changes, good.
-- 
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] Qt 5.5.0 header diff: QtWebChannel.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:43 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtSvg.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:44 Frederik Gladhorn wrote:
 
No changes, good.

We ought to stop revving the version number for libraries that did not update 
at all...
-- 
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] Qt 5.5.0 header diff: QtSerialPort.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:47 Frederik Gladhorn wrote:
 +#if QT_DEPRECATED_SINCE(5, 2)
 +QT_DEPRECATED void dataErrorPolicyChanged(QSerialPort::DataErrorPolicy
 policy); 
 +#endif
  void dataTerminalReadyChanged(bool set);
  void requestToSendChanged(bool set);
  void error(QSerialPort::SerialPortError serialPortError);
 -void settingsRestoredOnCloseChanged(bool restore);
 +#if QT_DEPRECATED_SINCE(5, 3)
 +QT_DEPRECATED void settingsRestoredOnCloseChanged(bool restore);
 +#endif

Retroactive deprecations are not allowed. Please change the macros to (5,5), 
even if the functions had been marked as deprecated in the documentation.

-- 
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] Qt 5.5.0 header diff: QtXmlPatterns.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:45 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtQuickWidgets.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:46 Frederik Gladhorn wrote:
 +#ifndef QT_NO_DRAGANDDROP
 +virtual void dragEnterEvent(QDragEnterEvent *);
 +virtual void dragMoveEvent(QDragMoveEvent *);
 +virtual void dragLeaveEvent(QDragLeaveEvent *);
 +virtual void dropEvent(QDropEvent *);
 +#endif
 +

Is this a public libary? 

Are the above overrides or not? If they are overrides, add Q_DECL_OVERRIDE.
-- 
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] Qt 5.5.0 header diff: QtSql.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:26 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtOpenGL.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:23 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtBluetooth.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:25 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtGui.diff

2015-06-06 Thread Allan Sandfeld Jensen
On Friday 05 June 2015, Frederik Gladhorn wrote:
 
Something is wrong with the diff. The qpen.h diff is listed as 
src/gui/painting/qpdfwriter.h.

On the topic of qpen.h, I am a little concerned about the addition of 
Q_DECL_NOTHROW to the two non-inlined methods QPen(const QPen pen) and
QPen operator=(const QPen pen). Q_DECL_NOEXCEPT should be fine I think, but 
throw() is represented in the C++ mangled name with MSVC.

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


Re: [Development] Qt 5.5.0 header diff: QtOpenGLExtensions.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:35 Frederik Gladhorn wrote:
 
No changes, good.
-- 
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] Qt 5.5.0 header diff: QtMultimediaQuick_p.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:42 Frederik Gladhorn wrote:
 
Private library.
-- 
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] Qt 5.5.0 header diff: QtGui.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:38 Frederik Gladhorn wrote:
 +++ b/src/gui/accessible/qaccessible.h
 @@ -60,7 +60,6 @@ class QTextCursor;
  class Q_GUI_EXPORT QAccessible
 @@ -635,6 +636,12 @@ public:
  static const QString showMenuAction();
  static const QString setFocusAction();
  static const QString toggleAction();
 +static const QString scrollLeftAction();
 +static const QString scrollRightAction();
 +static const QString scrollUpAction();
 +static const QString scrollDownAction();
 +static const QString nextPageAction();
 +static const QString previousPageAction();
  };

This is not Qt-like API. The strings are initialised on first use (all of them) 
but they are translated, which means they will not obey a change in 
translation settings.

The old ones can't be fixed now, but we should fix the new ones not to return a 
const reference.

Reviewed up to math3d and it was good up to that.

-- 
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] Qt 5.5.0 header diff: QtConcurrent.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:39 Frederik Gladhorn wrote:
 
Looks good.
-- 
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] Qt 5.5.0 header diff: QtNfc.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:10:41 Frederik Gladhorn wrote:
 +//TODO Qt 6 the mimetype should be QString as it is UTF-8

Looks good, except the comment. We usually use ### Qt6 as a marker, not 
TODO.
-- 
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] Qt 5.5.0 header diff: QtCore.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:28 Frederik Gladhorn wrote:
 

I can't tell if the qmetatype.h template magic is binary compatible or not. As 
evidenced by a recent push [1] about the IsGadget flag, it isn't.

I'm going to put a stop to this. qmetatype.h template magic is now frozen as 
of Qt 5.5 and until Qt 6.0, aside from bugfixes or pure additions that do not 
modify existing template classes.

[1] https://codereview.qt-project.org/113652

 +++ b/src/corelib/plugin/qfactoryinterface.h
  Q_DECLARE_FLAGS(LoadHints, LoadHint)
 +Q_FLAG(LoadHint)
 +Q_FLAG(LoadHints)

Do we need both Q_FLAG? That looks like a mistake.

 +// ### Qt6: check if there's a better way
 +class QStringList : public QListQString
[...]
 -inline void sort(Qt::CaseSensitivity cs = Qt::CaseSensitive);
 -inline int removeDuplicates();

The above works only because:
 1) QStringList is not exported
 2) the functions in question are inlines

However, if someone derives from QStringList and exports a class, using MSVC, 
then this may be binary incompatible. See qvector_msvc.h.

I have not and will not investigate this further, so I don't know if this is 
real or not. If there's a bug reported on this, I will probably close it with 
you're committing too many mistakes (using MSVC and deriving from 
QStirngList).

The rest looks good, but I hope I didn't miss anything in the Q_DECL_NOTHROW, 
Q_DECL_OVERRIDE and Q_DECL_CONSTEXPR noise.

-- 
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] Qt 5.5.0 header diff: QtQml.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 12:24:36 Simon Hausmann wrote:
 Those changes were not on qqmlerror.h but on qqmlfile.h. However the class
 in  question - while exported - is marked as \internal in the docs.
 
 If it's ok with everyone, then I'll rename qqmfile.h into qqmlfile_p.h.

If it is not used, sure.

There's a bug in the script that it reports the wrong header sometimes.
-- 
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] Qt 5.5.0 header diff: QtDeclarative.diff

2015-06-06 Thread Liang Qi
On 6 June 2015 at 10:52, Allan Sandfeld Jensen k...@carewolf.com wrote:

 On Friday 05 June 2015, Frederik Gladhorn wrote:
 

 Would there be any way to generate diffs or changes for QML APIs?


Perhaps a diff for all plugins.qmltypes files? But I guess that not all
were updated yet.

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


Re: [Development] Qt 5.5.0 header diff: QtNetwork.diff

2015-06-06 Thread Thiago Macieira
On Saturday 06 June 2015 14:22:20 Giuseppe D'Angelo wrote:
 Il 06/06/2015 13:27, Thiago Macieira ha scritto:
  Then why do we need them in QSslSocket?
 
 Technically they are be needed there, indeed, but I didn't want to cause
 an API asymmetry with the other functions for ciphers, certificates and
 so on, that's all.

The symmetry only existed because we added them to QSslSocket before 
QSslCertificate existed.

I'd rather new API existed only in QSslConfiguration. That way, we don't need 
to duplicate in QSslSocket.

-- 
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] Qt 5.5.0 header diff: QtNetwork.diff

2015-06-06 Thread Giuseppe D'Angelo

Il 06/06/2015 11:20, Thiago Macieira ha scritto:

These should be in QSslConfiguration, not QSslSocket.


They're in both, just like ciphers, certificates etc.

--
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer
KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908
KDAB - The Qt Experts



smime.p7s
Description: Firma crittografica S/MIME
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtXml.diff

2015-06-06 Thread Knoll Lars
Looks good.

Cheers,
Lars




On 05/06/15 10:11, 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
Frederik Gladhorn 
development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
frederik.gladh...@theqtcompany.com wrote:


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


Re: [Development] Qt 5.5.0 header diff: QtNetwork.diff

2015-06-06 Thread Giuseppe D'Angelo

Il 06/06/2015 13:27, Thiago Macieira ha scritto:

Then why do we need them in QSslSocket?


Technically they are be needed there, indeed, but I didn't want to cause 
an API asymmetry with the other functions for ciphers, certificates and 
so on, that's all.


--
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer
KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908
KDAB - The Qt Experts



smime.p7s
Description: Firma crittografica S/MIME
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.5.0 header diff: QtGui.diff

2015-06-06 Thread Thiago Macieira
On Saturday 06 June 2015 11:03:43 Allan Sandfeld Jensen wrote:
 On the topic of qpen.h, I am a little concerned about the addition of 
 Q_DECL_NOTHROW to the two non-inlined methods QPen(const QPen pen) and
 QPen operator=(const QPen pen). Q_DECL_NOEXCEPT should be fine I think,
 but  throw() is represented in the C++ mangled name with MSVC.

The mangling scheme supports throw(), but I don't think that MSVC adds it to 
the functions.

Unless you've actually seen it used in the wild.
-- 
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] Qt 5.5.0 header diff: QtNetwork.diff

2015-06-06 Thread Thiago Macieira
On Saturday 06 June 2015 11:30:39 Giuseppe D'Angelo wrote:
 Il 06/06/2015 11:20, Thiago Macieira ha scritto:
  These should be in QSslConfiguration, not QSslSocket.
 
 They're in both, just like ciphers, certificates etc.

Then why do we need them in QSslSocket?
-- 
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] Qt 5.5.0 header diff: QtNetwork.diff

2015-06-06 Thread Thiago Macieira
On Friday 05 June 2015 10:11:29 Frederik Gladhorn wrote:
 +// EC settings.
 +QVectorQSslEllipticCurve ellipticCurves() const;
 +void setEllipticCurves(const QVectorQSslEllipticCurve curves);
 +static void setDefaultEllipticCurves(const QVectorQSslEllipticCurve
 curves); +static QVectorQSslEllipticCurve defaultEllipticCurves();
 +static QVectorQSslEllipticCurve supportedEllipticCurves();
 +

These should be in QSslConfiguration, not QSslSocket.

-- 
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] Qt 5.5.0 header diff

2015-06-05 Thread Simon Hausmann
On Thursday, June 04, 2015 03:29:10 PM Frederik Gladhorn wrote:
[...]
 Modules for which Git failed to retrieve changes:
[...]
 QtWebEngine
 QtWebEngineWidgets

Oops, I suppose we do need to look at the diffs for those though?


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


Re: [Development] Qt 5.5.0 header diff

2015-06-05 Thread Giuseppe D'Angelo

Il 04/06/2015 15:29, Frederik Gladhorn ha scritto:

I'll send mails in reply to this one with the diffs attached (that will take a
while).


I see that a ton of changes are simply style refactorings -- adding 
Q_DECL_OVERRIDE, dropping Q_NO_USING, moving Q_ENUMS to Q_ENUM.


Any chance of getting a diff without the noise from those? :\

Anyhow, thank you for taking charge of this.

Cheers,
--
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer
KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908
KDAB - The Qt Experts



smime.p7s
Description: Firma crittografica S/MIME
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


  1   2   >