Recent changes to the ekr-qt branch

41 views
Skip to first unread message

Edward K. Ream

unread,
Apr 11, 2021, 5:31:59 AM4/11/21
to leo-editor
The following changes should have zero impact on qt4 and qt5 users. They may have impact on qt6 users and devs:

1. leoQt6.py no longer imports any optional Qt modules. This means that plugins won't have to deal with the "import munging" that happened when Leo imported PyQt5.

2. Leo now detects if the printsupport module doesn't exist. The Qt docs imply that this is a required module, but it doesn't seem to exist on my PyQt6 6.0.2 build on Windows. This is a mystery that googling has not resolved.

3. I have just fixed #1886, a crasher in the stickynotes plugin.

4. I have just fixed some problems in the VR3 plugin. It now loads properly, but I make no claim that it works in all respect. I don't remember who wrote VR3, but we'll have to work out a way to support qt6.

That's all for now. Keep those bug reports coming.

Edward

tbp1...@gmail.com

unread,
Apr 11, 2021, 10:29:53 AM4/11/21
to leo-editor
On Sunday, April 11, 2021 at 5:31:59 AM UTC-4 Edward K. Ream wrote:

4. I have just fixed some problems in the VR3 plugin. It now loads properly, but I make no claim that it works in all respect. I don't remember who wrote VR3, but we'll have to work out a way to support qt6.

That's me.  I had hoped/intended to avoid qt6 until it had been out longer, but I suppose I'll have to bite the bullet pretty soon.

Edward K. Ream

unread,
Apr 11, 2021, 7:54:42 PM4/11/21
to leo-editor
Thanks for checking in, Thomas. I don't think there is much rush just yet.

I'm hoping that the new philosophy of not trying to load optional modules (in qt6) will simplify matters for those who want to do special things. Let me know what you think.

Edward

tbp1...@gmail.com

unread,
Apr 11, 2021, 10:19:25 PM4/11/21
to leo-editor
I think it's always good not to import things you don't need.  OTOH, if qt-ish things are going to need wrappers, then a plugin (say) that wants to use one of those optional modules will need to construct the wrapper as well.  I'm not very clear on how that should work, if the wrappers don't exist until wanted later.

Edward K. Ream

unread,
Apr 11, 2021, 11:40:54 PM4/11/21
to leo-editor
On Sun, Apr 11, 2021 at 9:19 PM tbp1...@gmail.com <tbp1...@gmail.com> wrote:
I think it's always good not to import things you don't need.  OTOH, if qt-ish things are going to need wrappers, then a plugin (say) that wants to use one of those optional modules will need to construct the wrapper as well.  I'm not very clear on how that should work, if the wrappers don't exist until wanted later.

I'm not clear either. The only thing I know is that being too clever with wrappers (as in leoQt5.py) is asking for trouble.

Edward

tbp1...@gmail.com

unread,
Apr 11, 2021, 11:51:44 PM4/11/21
to leo-editor
I just incorporated your qt6/qt5 changes into my newer version of VR3.  You have probably seen the PR by now.  In addition to your changes, I have added new functionality.  This was so I could compile/run Julia programs.  My approach is to use an ini file to specify which external program to run for a specific language.  There is also a simplified  capability to specify command line parameters for that external processor.  You can only specify params that come before the name of your file on the command line, but that probably covers a lot of common cases.

Julia and sql are now allowed languages, and there is a new sql.py file in modes to do  the sql colorization.

Of course, this version doesn't work in the devel branch yet, only the ekr-qt one.

Edward K. Ream

unread,
Apr 12, 2021, 9:21:57 AM4/12/21
to leo-editor
On Sun, Apr 11, 2021 at 10:51 PM tbp1...@gmail.com <tbp1...@gmail.com> wrote:
I just incorporated your qt6/qt5 changes into my newer version of VR3.  You have probably seen the PR by now. 

Yes. I approved the PR. I just merged your branch into ekr-qt. I did this "by hand" because the checks seem to have taken forever to complete.

Edward
Reply all
Reply to author
Forward
0 new messages