Re: [Development] Qt5.15 deprecating & Qt6 removing QProcess::setupChildProcess

2020-02-29 Thread Thiago Macieira
On Friday, 28 February 2020 10:42:54 PST Thiago Macieira wrote:
> On Thursday, 27 February 2020 11:50:02 PST Simon Hausmann wrote:
> > Hi,
> > 
> > Declarative in 5.15 (5.14?) has public API taking a std::function and that
> > appears to be okay so far :)
> 
> Good to know. I see it in two public headers in 5.14.
> 
> We've just found out that std::mutex is missing on a non-insignificant
> platform: MinGW (at least some builds of it). I just hope that people using
> those platforms simply hadn't skipped qtdeclarative in 5.14.

Pushed as https://codereview.qt-project.org/c/qt/qtbase/+/292539

The previous four changes in the same line of fixes need to be approved before 
this gets in, though.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products



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


Re: [Development] A modest proposal: disable lower-case keywords (emit, foreach, forever, signals, slots) by default

2020-02-29 Thread Ville Voutilainen
On Fri, 28 Feb 2020 at 22:35, Lars Knoll  wrote:
> >> You'd see instead:
> >>this->emptied().emit(...);
> >>connect(foo, foo->emptied(), ...);
> > I like this, then we could finally (and without hacks) have protected and 
> > private signals like in Qt 4.
> > Would also solve the need for qOverload ?
> This is all nice and fun to bike shed about, but I don’t think those proposed 
> solutions match the scope of the original problem (which was relatively 
> small). I don’t think a massive source compatibility breakage is what we 
> want, just because there is one std header using emit as a method name.
>
> And most of Qt’s signals are named in a way that makes it rather obvious it’s 
> a signal we’re looking at (e.g. fooChanged() or clicked()), so there’s no 
> need for an ‘emit’ in front to be clear. Some names are less obvious and the 
> ‘emit’ does help readability of our source code.
>
> So to shortcut this discussion a bit: I am completely opposed to a massive 
> SIC changes/efforts for our signals (like giving them ugly names like 
> emitClicked(), or signal objects).

Just turning signals into objects seems SC to me. But nothing will be
SC if it has the whole-token "emit" in it.
So if we want to introduce some sort of a more-structured C++
approach, we need to pick a different name for it to coexist
with emit.

> If people feel strongly, I am open to trying to find a way to keep some sort 
> of ‘emit’ prefix (whether that’s Q_EMIT or a [[qt::emit]] attribute), but I 
> do agree with Marc that we should in the long term try to get away from 
> having emit/signals/slots defined as macros (at least by default).

Agreed.
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


[Development] Infra problems - CI is down

2020-02-29 Thread Heikki Halmet
Hi,

We have problems with our infra and for that reason our CI is currently down. 
Unfortunately no estimation yet when we have system up and running again.


Ystävällisin terveisin / Kind regards,

Heikki Halmet
Software Engineer | CI Lead
Release and Test Automation | CI Team
The Qt Company | Finland | Oulu


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


Re: [Development] A modest proposal: disable lower-case keywords (emit, foreach, forever, signals, slots) by default

2020-02-29 Thread Allan Sandfeld Jensen
On Friday, 28 February 2020 16:28:34 CET Matthew Woehlke wrote:
> On 27/02/2020 17.03, Allan Sandfeld Jensen wrote:
> > On Thursday, 27 February 2020 21:51:18 CET Matthew Woehlke wrote:
> >> On 26/02/2020 07.42, Tor Arne Vestbø wrote:
> >>> As others have argued, a signal is not special, in the sense that any
> >>> function can do anything, including emitting signals, so annotating it
> >>> doesn’t seem critical, as we apparently are fine without in all other
> >>> cases.
> >> 
> >> Taking a step back... I think some of the reason for the current
> >> situation has to do with API design. Which of these is easier to
> >> understand?>> 
> >>   if (map.empty())
> >>   
> >> emptied();
> >> 
> >> - vs. -
> >> 
> >>   if (map.isEmpty())
> >>   
> >> emit emptied();
> >> 
> >> One reads like plain English. The other is missing words in a way that
> >> can confuse readers.
> > 
> > That is how I see it too. It essentially violates Qt code guidelines. If
> > it
> > was a normal method we would name it "emitEmptied()", so far we have just
> > lived with "emit emptied()" instead.
> 
> I still have to disagree. *The signal* is "emptied". It is *not*
> "emitEmptied".
> 
> If we had to do it over again, it might make sense to follow Python and
> make signals *objects* instead of *methods*. Then the code would look like:
> 
>   this->emptied.emit(...);
> 
> But I *equally do not* want to write:
> 
>   connect(foo, ::emitEmptied, ...);

I agree with the latter. We would need another syntax for connecting if the 
method names all began with emit. The old SIGNAL() macro could easily be 
adapted, but the modern syntax would be a problem.

'Allan



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