Re: [Interest] QT Creator consistency

2022-12-08 Thread Yves Maurischat


On 05.12.22 16:48, Thiago Macieira wrote:
> On Monday, 5 December 2022 01:23:06 PST Christian Kandeler via Interest wrote:
>> On 12/5/22 09:52, Yves Maurischat wrote:
>>> - 'Follow symbol under cursor' for signals in a *.cpp does not jump to the
>>> header where the signal was declared but to the *.moc files instead
>> I cannot reproduce that. Please file a bug report with an example project.
> I can. The very first signal I tried showed it. I opened qiodevice.cpp and
> searched for "emit ". There's only one.
>
> But this is not *wrong*. Signals are functions and they have a body. However,
> if Qt Creator can be made to give preference to the declaration in case
> definition is in a generated file, it might improve UX.

Yeah, it would be nice to have an option to prioritize whether the 
implementation should be preferred to the declaration or always the 
declaration in the headers.

>>> - 'Refactoring -> Rename Symbol under cursor' does not include headers
>>> anymore, instead you have to check them on in the search pane,
>> You probably forgot to add you headers in the project file, so they are
>> not considered part of the project.
> I've seen the refactor example not tick some boxes but didn't try to discern a
> pattern on why some weren't checked. I do remember it being correct for my
> purposes, though.
But the symbols are found even in non-project files, so those files 
could be considered to maybe be part of the project anyway because they 
are in a subdirectory or included as headers in the *.cpp files. So I 
would like to have an option like "Include non-project files in 
subdirectories" or "Always include header files in subdirectories" or 
something like that, and then there would at least be a way to choose 
which behavior is preferred.


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] QT Creator consistency

2022-12-05 Thread Yves Maurischat
On 05.12.22 10:23, Christian Kandeler via Interest wrote:
> On 12/5/22 09:52, Yves Maurischat wrote:
>> - 'Follow symbol under cursor' for signals in a *.cpp does not jump 
>> to the header where the signal was declared but to the *.moc files 
>> instead
>
> I cannot reproduce that. Please file a bug report with an example 
> project.
>
>> - 'Refactoring -> Rename Symbol under cursor' does not include 
>> headers anymore, instead you have to check them on in the search pane,
>
> You probably forgot to add you headers in the project file, so they 
> are not considered part of the project.

Good point, that might also be the source of the problem above.


>
>> - running a test and then trying to run the same test again using 
>> "Run test under cursor" chrashes QtCreator
> Again, you should add a bug report for that.

I'll try to create a minimal example.


>
>
> Christian
>
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] QT Creator consistency

2022-12-05 Thread Yves Maurischat
I also noticed a few things:

- 'Follow symbol under cursor' for signals in a *.cpp does not jump to the 
header where the signal was declared but to the *.moc files instead

- 'Refactoring -> Rename Symbol under cursor' does not include headers anymore, 
instead you have to check them on in the search pane, which is infuriating if 
you try to refactor large chunks of a software and have to click the small 
check boxes for dozens of header files each time.

- running a test and then trying to run the same test again using "Run test 
under cursor" chrashes QtCreator

I generally have the impression that QtCreator gets many new features with each 
release, but the releases are rushed and testing is insufficient, so each new 
version contains dozens if not hundreds of new bugs. I've been using Qt and 
QtCreator for 20 years and never had that many problems with it as I do now.

Yves


On 03.12.22 01:24, Turtle Creek Software wrote:
The last few updates to QT Creator have made small changes to the user 
interface, annoyingly.

Using the latest, I weirdly kept seeing preprocessor output. Huh?  Turns out 
Follow Symbol Under Cursor moved from #2 to #3 in the right-click menu.  When 
using a command 50 times a day, one clicks by position not by reading text. 
Minor changes have big impact. If I remember right, it was somewhere else a few 
updates back, and that also required adjusting.  Was it also renamed at some 
point?

Follow Symbol Under Cursor in source files used to jump to that function in the 
header.  That stopped working a few updates ago.

The pull-down menu of function names went from alphabetical to page-order a few 
updates ago.  Sometimes it's better but sometimes not.  Being able to switch 
between would be very helpful.

We have a lot of old code that has #pragma mark -, which insets a separator in 
other IDEs.  QTC says (Unnamed Group) instead.

In general, each update becomes an adventure in figuring out how to be 
productive again.

?

Casey McDermott
TurtleSoft.com



___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D/C++: How to disable rendering while makeing changes to the the Scenegraph

2022-06-20 Thread Yves Maurischat





Am 20.06.22 um 10:08 schrieb Mike Krus:

Hi



On 20 Jun 2022, at 08:37, Yves Maurischat  wrote:

Hi all,

I've got a C++/QWidgets application with 2 Qt3DWindow embedded. The 3D windows 
can be hidden (i.e. the user switches to another view), while work is done in 
other parts of the application. Whenever the user switches back to the view 
with the embedded Qt3DWindow there are a lot of changes to be made to the 
scenegraph.

Rendering is set to OnDemand, but whenever the view is switched back to the 3D 
windows there is a big lag, up to several seconds. Profiling the application 
has shown that a lot of work is done for rendering at that point because the 
scenegraph is changing (most time is spent in the material classes).

My working theory is, that each change to the scenegraph (i.e. removing 
entities, adding a new ones) causes a separate render update, which leads to 
the lag due to the amount of separate changes.

that is not correct, updates are batched on a per-frame basis. If you’re not 
scheduling frames, no updates will be made.

If you are using Qt version 5.15.0 or later this should be pretty fast. Prior 
version had a slower update mechanism.


I'm on Qt 5.14.2 for the application, but this is a reason to switch to 
Qt 5.15.x




One thing to keep in mind though is that changing materials will lead shaders 
needing to be recompiled, potentially textures to be updates, etc. Changing 
geometry means bounding volumes need updating, buffers need to be uploaded, etc.
So the time might just be due to the GL state needing to be updated. You should 
take care to minimise such changes.


I see. Currently large parts of the scenegraph are removed for an update 
but I guess I could optimize changes so only the absolute necessary 
parts are modified. Thanks!





Another thing to note, if you have 2 Qt3DWindows, then you have 2 underlying 
Qt3DEngine instances. These do not share resources so everything might be done 
twice.

Of course it’s impossible to provide accurate feedback without profiling the 
actual code.


Mike



So my question is: Is there a way to disable all render updates until the scenegraph has 
been updated/modified completely? What would be the "correct" way to make such 
changes? Is there  something similar to the beginResetModel() and endResetModel() methods 
in QAbstractItemModel?


Thanks!

Yves



___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


[Interest] Qt3D/C++: How to disable rendering while makeing changes to the the Scenegraph

2022-06-20 Thread Yves Maurischat

Hi all,

I've got a C++/QWidgets application with 2 Qt3DWindow embedded. The 3D 
windows can be hidden (i.e. the user switches to another view), while 
work is done in other parts of the application. Whenever the user 
switches back to the view with the embedded Qt3DWindow there are a lot 
of changes to be made to the scenegraph.


Rendering is set to /OnDemand/, but whenever the view is switched back 
to the 3D windows there is a big lag, up to several seconds. Profiling 
the application has shown that a lot of work is done for rendering at 
that point because the scenegraph is changing (most time is spent in the 
material classes).


My working theory is, that each change to the scenegraph (i.e. removing 
entities, adding a new ones) causes a separate render update, which 
leads to the lag due to the amount of separate changes.


So my question is: Is there a way to disable all render updates until 
the scenegraph has been updated/modified completely? What would be the 
"correct" way to make such changes? Is there something similar to the 
beginResetModel() and endResetModel() methods in QAbstractItemModel?



Thanks!

Yves


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


[Interest] QWindows and objectNames

2021-09-24 Thread Yves Maurischat

Hello,

I've got an application (Qt 5.14.2 on Windows) with a MainWindow class 
derived from QWidget and with the flag Qt::Window set. In the MainWindow 
constructor the objectName is set to "myMainWindow". When iterating over 
all application windows using QGuiApplication::allWindows() (there is 
just one) and printing out out their objectNames I get 
"myMainWindowWindow" (i.e. an additional "Window" added to the 
objectName) for my main window.


Is this expected behaviour or a bug? (IMHO it's the latter one, but I 
might have missed something here).


Kind regards,
*Yves Maurischat*


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Windows installer for Qt programs

2020-04-21 Thread Yves Maurischat

Am 21.04.2020 um 10:55 schrieb alexander golks:

...
For Qt itself it may be great, for other (differentyl structured)
projects it's often not worth the hassle.
...


besides, is there an easy offline upgrade way available now using IFW?


Not sure, as I haven't had that requirement yet. In my current project 
/upgrade /means: install a new version with a different version number 
into the same directory, leaving the old one in place (for which I had 
to go at great lengths to work around the problems I mentioned before, 
no solution for the registry thing though).


Mit freundlichen Grüßen | Kind regards,

*Yves Maurischat*
Senior Software Engineer

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 870 589 -144 | Fax: -199
yves.maurisc...@basyskom.com | www.basyskom.com

Handelsregister: Darmstadt HRB 9352
Geschaeftsfuehrende Partner: Heike Ziegler, Alexander Sorg
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Windows installer for Qt programs

2020-04-21 Thread Yves Maurischat
I wouldn't recommend the Qt Installer Framework, due to its complexity 
and some problematic features. It's targeted at installing Qt, but can 
be a PITA for projects with a different apporach:


On Windows it always creates registry entries pointing at the 
(automagically generated) uninstaller. You cannot disable this. This is 
especially problematic i.e. if you have a collection of independent 
packages (maybe the same library in different versions or different 
libraies taht all should go into the same directory) and dont want to 
ship them all in the same installer, but one package per installer. Qt 
IFW doesn't allow installing into a directory that already has an 
uninstaller of anothzer package in it. Deleting an uninstaller does not 
remove the registry entry, and finding ist manually or using a script is 
basically impossible as it creates an unknown UUID key in the registry, 
that you cannot get ahold of while installing the package.


Another problem is, that unassisted installations without UI (i.e. on a 
remote machine without an X-Server) are not possible, but I guess  
that's only a problem on non-Windows systems.


Also Qt IFW has a kinda backwards approach to installation steps: you 
actively have to remove steps/UIs you dont want to use, instead of 
adding those you actually want to use.


For Qt itself it may be great, for other (differentyl structured) 
projects it's often not worth the hassle.


Mit freundlichen Grüßen | Kind regards,

*Yves Maurischat*
Senior Software Engineer

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 870 589 -144 | Fax: -199
yves.maurisc...@basyskom.com | www.basyskom.com

Handelsregister: Darmstadt HRB 9352
Geschaeftsfuehrende Partner: Heike Ziegler, Alexander Sorg

Am 21.04.2020 um 09:36 schrieb Dmitriy Purgin:

Hello Alexander,

you could try Qt Installer Framework: 
https://doc.qt.io/qtinstallerframework/index.html


Cheers
Dmitriy

On Tue, Apr 21, 2020 at 9:20 AM "Alexander Carôt" 
mailto:alexander_ca...@gmx.net>> wrote:


Hello all,

I consider shipping my Qt built software with a conventional
installer on Windows.

Can anyone give me a recommendation of a solid freeware for this
purpose ?

Thanks in advance,
best

Alex

--
http://www.carot.de
Email : alexan...@carot.de
Tel.: +49 (0)177 5719797

___
Interest mailing list
Interest@qt-project.org <mailto:Interest@qt-project.org>
https://lists.qt-project.org/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] QVariant compare operator

2020-04-20 Thread Yves Maurischat

Hi Yuri,

I assume you're implementing a QSortFilterProxyModel for sorting and 
filtering: you can reimplement QSortFilterProxyModel::lessThan() 
<https://doc.qt.io/qt-5/qsortfilterproxymodel.html#lessThan>. Basically 
you'll do the following (in pseudo code):


bool  YourSortModel::lessThan(constQModelIndex <https://doc.qt.io/qt-5/qmodelindex.html>  
&/source_left/, constQModelIndex <https://doc.qt.io/qt-5/qmodelindex.html>  
&/source_right/)
{
auto left =/source_left.data(someRole);/
auto right=/source_right//.data(///someRole/);/

return (left.toByteArray() < right.toByteArray());
}



Mit freundlichen Grüßen | Kind regards,

*Yves Maurischat*
Senior Software Engineer

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 870 589 -144 | Fax: -199
yves.maurisc...@basyskom.com | www.basyskom.com

Handelsregister: Darmstadt HRB 9352
Geschaeftsfuehrende Partner: Heike Ziegler, Alexander Sorg


Am 18.04.2020 um 11:43 schrieb evilruff:

Hi Thiago,

I am happy ro redesign my code, but how then sorting/filtering models 
will work? As data() returns QVariant. Or you plan to use setSorting 
based on lambda's and std::function to provide strict types sorting?


And what if from API point of view user want just to specify column 
without aware of data types.


Am I missing something? Woukd really appreceate if you can point me to 
some direction to look at.



Regards,
Yuri


Relational comparisons with QVariant are deprecated in 5.15 and will be
removed because they are a misfeaure. Redesign your code so your 
question does

not need to be asked.






___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Licensing questions for iOS and Android

2019-10-08 Thread Yves Maurischat
Let me answer that shortly with the gist of severeal other threads on 
this list: "It depends. Please contact the sales representatives of The 
Qt Company."


I dont think that you'll get a definitive answer from this list as 
licensing seems to depend on your project, the mood of the sales rep, 
whether Mars and Jupiter align and a million other things. You'll have 
to work it out with someone from TQtC as their licensing scheme changes 
often, is mostly not really shared with outsiders (even with partners) 
and often applied on a case to case base.



Mit freundlichen Grüßen | Kind regards,

*Yves Maurischat*
Senior Software Engineer

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 870 589 -144 | Fax: -199
yves.maurisc...@basyskom.com | www.basyskom.com

Handelsregister: Darmstadt HRB 9352
Geschaeftsfuehrende Partner: Heike Ziegler, Alexander Sorg


Am 08.10.2019 um 09:16 schrieb Vyacheslav Lanovets:

I hope to hear expert opinions on the following.

Let's say the company has 10 developers who develop a Mobile app for
consumer phones.

2 persons use *Mac* to make the app work on iOS (static linking!).
Another 2 persons work from PCs on supporting Android specifics
(shared linking).
All 10 have primary PC with Microsoft Visual Studio for regular
development because it is faster.
Also there is 2 build machines:
1 PC for generating Android builds.
1 Mac for generating iOS builds.

So, how many licenses should the company pay for?
13 licenses (~4 euro a year)? Or 12? Or 10? Or just for 3 Macs? Or
maybe only for 2 developer Macs?

Has anyone investigated the case with the legals?
Opinions?
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Handling XML Schemas in Qt without QXmlSchemaValidator

2019-05-20 Thread Yves Maurischat


Am 20.05.2019 um 15:27 schrieb Bernhard Lindner:

The QXmlStream[..] classes are part of the Core module. We were talking about 
the
QXmlSchema[..] classes, that are part of the XmlPatterns module.

Sorry, confused the modules. Read "Xml" and "Deprecated" and thought of the XML 
DOM classes.
  
Since when is the XmlPatterns module deprected? Is that written somewhere? Qt XML Patterns main page doesn't mentioned that.

That one would hit me hard as well should it ever be removed.



See here: https://wiki.qt.io/New_Features_in_Qt_5.13

Quote:

   *Deprecated Modules*

   The following modules are part of Qt 5.12 release, but deprecated
   and considered for removal in subsequent releases of Qt:

 * Qt Script
 * Qt Quick Controls 1
 * Qt XmlPatterns



Mit freundlichen Grüßen | Kind regards,

*Yves Maurischat*
Senior Software Engineer

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 870 589 0| Fax: -199
yves.maurisc...@basyskom.com | www.basyskom.com

Handelsregister: Darmstadt HRB 9352
Geschaeftsfuehrung: Heike Ziegler
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Handling XML Schemas in Qt without QXmlSchemaValidator

2019-05-20 Thread Yves Maurischat


Am 20.05.2019 um 14:42 schrieb Bernhard Lindner:

regarding the 'deprecated' state of XmlPatterns: There wont be an further 
development
for this module, but I also doubt that it will be removed before Qt 6.

I hope that will never happen. It would be a disaster.

The streaming classes can NOT replace the DOM based classes for important use 
cases.
Removing them (without an equal replacement) would destroy a lot of 
applications.


The QXmlStream[..] classes are part of the Core module. We were talking 
about the QXmlSchema[..] classes, that are part of the XmlPatterns module.



Mit freundlichen Grüßen | Kind regards,

*Yves Maurischat*
Senior Software Engineer

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 870 589 0 | Fax: -199
yves.maurisc...@basyskom.com | www.basyskom.com

Handelsregister: Darmstadt HRB 9352
Geschaeftsfuehrung: Heike Ziegler
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Handling XML Schemas in Qt without QXmlSchemaValidator

2019-05-20 Thread Yves Maurischat

Hi Jakob,

regarding the 'deprecated' state of XmlPatterns: There wont be an 
further development for this module, but I also doubt that it will be 
removed before Qt 6. So as long as you're using Qt 5 you're safe to use 
XmlPatterns. Qt 6 might be still 2 years away, and as you're using it 
professionally, I assume that you'll probably wait at least till the 
release of Qt 6.1 (or even longer) anyway before upgrading your project 
to it. Until then there might be another Qt (conforming) solution to the 
problem.


So in my opinion you've got 2 options (depending on the scope and 
lifecycle of your project):
a) use the Xml Schema related classes from the XmlPatterns module and 
worry about it going away (much) later, and maybe even have a Qt 
(conforming) solution by then, or
b) use an external library like CodeSynthesis XSD or something similar 
and worry about their API changes and usage and naming patterns that 
differ from Qt's patterns etc.


IMHO using the Qt modules while they are still available is usually the 
better option.


Mit freundlichen Grüßen | Kind regards,

*Yves Maurischat*
Senior Software Engineer

basysKom GmbH
Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
Tel: +49 6151 870 589 0| Fax: -199
yves.maurisc...@basyskom.com | www.basyskom.com

Handelsregister: Darmstadt HRB 9352
Geschaeftsfuehrung: Heike Ziegler

Am 16.05.2019 um 09:31 schrieb Jakob Lettenbichler:


Hiho,

This is my first mail to the mailing list, so please be gentle with me…

We are using QXmlStreamReader and –writer for handling our xml files 
(QDom seems to be dead, if I interpret the lines in the documentation 
correctly: https://doc.qt.io/qt-5/qtxml-index.html ).


Qt seems to have a nice bunch of classes for Xml Schemas in the Xml 
patterns module (https://doc.qt.io/qt-5/qtxmlpatterns-index.html ) but 
using them seems to be dangerous, since the release notes mark them as 
deprecated: (https://wiki.qt.io/New_Features_in_Qt_5.13)


I do not find any comparable class in the Qt documentation, therefore 
I would like to ask the professionals here, how to work with Xml 
Schemas in Qt without that module.


Many thanks in advance for helping me out,

Cheers,

Jakob

P.S.: My colleague has asked a similar question in the forum 
(https://forum.qt.io/topic/102834/proper-successor-for-qxmlschemavalidator 
), but they sent us here. So please don’t send us back…




Dr. Jakob Lettenbichler

A TECH GMBH  ...we make it move...

Marksteinergasse 13, 1210 Vienna, Austria

Tel.: *+43 1 2720001- 67*  Fax.: +43 1 2720001-11

mailto:jakob.lettenbichler@artech.athttp://www.artech.at 
<http://www.artech.at/>


FN 181686 k. HG Wien, UID-Nr. ATU 47056901, zertifiziert nach ISO 
9001:2000 Nr. 4036/0


Der Inhalt dieser E-Mail ist vertraulich und ausschließlich für den 
bezeichneten Adressaten bestimmt. Wenn Sie nicht der vorgesehene 
Adressat dieser E-Mail oder dessen Vertreter sein sollten, so beachten 
Sie bitte, dass jede Form der Kenntnisnahme, Veröffentlichung, 
Vervielfältigung oder Weitergabe des Inhaltes dieser E-Mail unzulässig 
ist. Wir bitten Sie, sich in diesem Fall mit dem Absender der E-Mail 
in Verbindung zu setzen und die E-Mail zu vernichten. Für 
Übermittlungsfehler oder sonstige Irrtümer bei der Übermittlung 
besteht keine Haftung.


This e-mail is intended solely for the person to whom it is addressed 
and may contain confidential or legally privileged information. Access 
to this e-mail by anyone else is unauthorized. If an addressing or 
transmission error has misdirected this e-mail, please notify the 
author by replying to this e-mail and destroy this e-mail and any 
attachments. E-mail may be susceptible to data corruption, 
interception, unauthorized amendment, viruses and delays or the 
consequences thereof. If you are not the intended recipient, be 
advised that you have received this e-mail in error and that any use, 
dissemination, forwarding, printing or copying of this e-mail is 
strictly prohibited.



___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest