Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-06 Thread Rutledge Shawn
> On 4 Dec 2015, at 09:01, André Somers wrote: > I'd like to add a new alternative (though it does not exclude a change now > either): > > - Deprecate the behaviour and remove in Qt 6. > > I have never thought this feature to lead to good design. It makes for > "magic" in the sense that it is

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread Matthew Woehlke
On 2015-12-04 03:01, André Somers wrote: > On 2015-12-03 21:00, Thiago Macieira wrote: >> Note that for widgets, the order is not pure luck. The order of >> children of a QWidget implies the tabbing order. Therefore, it is >> usually well-defined. > > There are explicit methods for setting the tab

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread Benjamin TERRIER
2015-12-04 10:30 GMT+01:00 Marc Mutz : > This is precisely the reason why connectSlotsByName is a bad idea in the first > place; changing the name of a widget breaks connections (at runtime, not at > compile time as with QObject::connect()). > > Just don't use it. Then we can let the function r.i.p

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread Giuseppe D'Angelo
On Fri, Dec 4, 2015 at 12:05 AM, Benjamin TERRIER wrote: > > My proposal is to change the behavior of connectSlotsByName to do a > breadth-first search. In this case, if a direct child is a match it > will be used > for the connection regardless of possible matches deeper in the > hierarchy. Doing

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread Thiago Macieira
On Friday 04 December 2015 08:16:43 André Somers wrote: > >But I'd expect that the flattening of the tree produces depth-first. > >Breadth- > >first could result in a violation of the principle of least surprise. > > Why? That is not my expectation at all. If you ask somebody if he has a > child n

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread Marc Mutz
On Friday 04 December 2015 00:05:19 Benjamin TERRIER wrote: > In my opinion it also breaks encapsulation as the naming in a widget > can alter the signal/slot connections in another widget. This is precisely the reason why connectSlotsByName is a bad idea in the first place; changing the name of

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread Marc Mutz
On Friday 04 December 2015 09:04:18 Thiago Macieira wrote: > > The tab order is set with QWidget::setTabOrder and does not depends on > > the order of the children. > > You're right. I seem to remember the order being important for tabbing, but > I guess it's something from before Qt 4 then. > >

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread André Somers
>If we do decide to change the order, I have a follow-up question: > do we change it only in connectSlotsByName, or do we change > QObject::findChildren to reflect the new order? Both. A breath first search makes sense there as well. I don't think the order of the children is specifie

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread Thiago Macieira
On Friday 04 December 2015 08:39:55 Olivier Goffart wrote: > > Note that for widgets, the order is not pure luck. The order of children > > of > > a QWidget implies the tabbing order. Therefore, it is usually > > well-defined. > > The tab order is set with QWidget::setTabOrder and does not depends

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-04 Thread André Somers
-- Original Message -- From: "Thiago Macieira" To: development@qt-project.org Sent: 04/12/2015 03:00:15 Subject: Re: [Development] Proposal to change connectSlotsByName behavior On Friday 04 December 2015 00:27:09 Olivier Goffart wrote: I don't think it will

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-03 Thread Ziller Eike
> On Dec 4, 2015, at 00:05, Benjamin TERRIER wrote: > > Hi everyone, > > This message follows an exchange I've had with Thiago on a bug report: >https://bugreports.qt.io/browse/QTBUG-49749 > > > In the current state, QMetaObject::connectSlotsByName() tries to find, > for each slot named "

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-03 Thread Olivier Goffart
On Thursday 3. December 2015 18:00:15 Thiago Macieira wrote: > On Friday 04 December 2015 00:27:09 Olivier Goffart wrote: > > I don't think it will break too many applications because anyone who was > > relying on the order of instentiation for that has just its application > > working out of pure

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-03 Thread Thiago Macieira
On Friday 04 December 2015 00:27:09 Olivier Goffart wrote: > I don't think it will break too many applications because anyone who was > relying on the order of instentiation for that has just its application > working out of pure luck. (And i'm pretty sure that your proposal is always > the intende

Re: [Development] Proposal to change connectSlotsByName behavior

2015-12-03 Thread Olivier Goffart
On Friday 4. December 2015 00:05:19 Benjamin TERRIER wrote: > Hi everyone, > > This message follows an exchange I've had with Thiago on a bug report: > https://bugreports.qt.io/browse/QTBUG-49749 > > > In the current state, QMetaObject::connectSlotsByName() tries to find, > for each slot nam

[Development] Proposal to change connectSlotsByName behavior

2015-12-03 Thread Benjamin TERRIER
Hi everyone, This message follows an exchange I've had with Thiago on a bug report: https://bugreports.qt.io/browse/QTBUG-49749 In the current state, QMetaObject::connectSlotsByName() tries to find, for each slot named "on__" in a given object, a child object named " and connect the signal t