bugtracker icon indicating copy to clipboard operation
bugtracker copied to clipboard

Finish qt5 port (virtual keyboard, examples, fix bugs)

Open MerlijnWajer opened this issue 7 years ago • 14 comments

Tasks:

  • [ ] https://github.com/maemo-leste/bugtracker/issues/677
  • [ ] https://github.com/maemo-leste/bugtracker/issues/678
  • [ ] https://github.com/maemo-leste/bugtracker/issues/679
  • [ ] https://github.com/maemo-leste/bugtracker/issues/680

Is this the right repo, and how much do we need to backport?

https://github.com/community-ssu/qt-x11-maemo

This is useful for lots of other packages that we want to import.

MerlijnWajer avatar Feb 01 '18 23:02 MerlijnWajer

@freemangordon - can we assign this one to you? Or is there someone else who might want to pick this up? (Or do you know someone who might)

MerlijnWajer avatar Feb 18 '18 20:02 MerlijnWajer

What we should do for QT is to take the latest Maemo QT code from https://github.com/community-ssu/qt-x11-maemo/tree/master and the upstream 4.7.4 repository at https://github.com/qt/qt/tree/v4.7.4 Then we compare the logs of both and look for all the commits in the Maemo tree not in the upstream tree. Then we can remove any commits from that list that don't matter (i.e. merge commits and anything that's a back port from upstream and will therefore already be there in newer upstream), analyze the rest and forward port them one by one on top of the Debian/Devuan QT 4.x source (which is 4.8.7 with some Debian-local patches on top that we most definitely want for Leste like the OpenSSL 1.1.0 support)

Oh and we need to see if there is anything Maemo related in the upstream 4.7.4 tree that later got removed (in the same way as Mozilla removed Maemo bits from the Gecko tree sometime after Firefox 24)

jonwil avatar Jun 25 '18 21:06 jonwil

There will also be packaging bits we need to look at (in terms of changes to be made to the current Debian/Devuan packaging for QT to e.g. pull in Maemo dependencies)

jonwil avatar Jun 25 '18 21:06 jonwil

I turned out maemo qt 4.7.4 is a nogo, it requires gstreamer-0.10. The same goes for any qt4 so I decided to try to port maemo stuff to qt5. lets see...

freemangordon avatar Aug 27 '18 19:08 freemangordon

It would be good to have some plan so that others can also contribute. I'm happy to pick some of this up after a new round of images and nexus 5 support.

MerlijnWajer avatar Oct 25 '18 00:10 MerlijnWajer

Moving to beta as requested by @freemangordon

MerlijnWajer avatar Feb 23 '19 05:02 MerlijnWajer

So the current code can be found here:

https://github.com/maemo-leste/qtstyleplugins/

It contains both styling and widgets.

The following things need to be done:

  1. Port the code at qtstylewidgets to 'beowulf' qt.
  2. grep https://github.com/community-ssu/qt-x11-maemo and make a list of what might still need to be ported
  3. Finish porting widgets that are still missing, port other things like application menu
  4. Test example qt hildon applications

MerlijnWajer avatar Mar 27 '20 20:03 MerlijnWajer

So the current version is available in beowulf devel repo, but I don't know how we are going to add all the X11 atoms and other core changes without forking qtbase.

@freemangordon -- did you figure out a way to do all of this as plugins, or should we look at forking qt5 for Maemo?

MerlijnWajer avatar Mar 31 '20 20:03 MerlijnWajer

With some help, this branch has a "maemo5" platform plugin, which inherits from the default X11/Xcb plugin:

https://github.com/maemo-leste/qtstyleplugins/tree/qt-platform-abstraction

If you set this:

# cat /etc/profile.d/qt-style.sh
export QT_STYLE_OVERRIDE=maemo5
export QT_QPA_PLATFORM=maemo5

Then all applications will start with maemo5 theme, and maemo5 platform abstraction, which doesn't do anything special, yet.

MerlijnWajer avatar Apr 01 '20 15:04 MerlijnWajer

There is now a stub module for input, which doesn't work yet (as it is a stub), but it can be set using this:

export QT_IM_MODULE=him

I will try to do an initial port, but have to figure out how to get the X11 events that HIM uses to the input module.

MerlijnWajer avatar Apr 02 '20 12:04 MerlijnWajer

http://qnetman.garage.maemo.org/ Might a fun porting target.

MerlijnWajer avatar Apr 04 '20 09:04 MerlijnWajer

I've pushed to maemo-plus-xcb-him; a lot of it is still wip, but the big change is that I took the Xcb platform plugin, renamed a few bits so it doesn't conflict, "fixed/backported" the keyboard focus bug, and added my (very much work in progress) him on top of that.

I suppose that maybe we don't even want platform plugins in qtstyleplugins, but that should be easy to separate out once everything works.

MerlijnWajer avatar Apr 06 '20 22:04 MerlijnWajer

I forgot to update this issue.

A lot more components are now in place, with the qt-platform-maemo package. It's not finished yet, but we're getting closer. Stackable windows now work, the hildon menu button works, the progress indicators work, dialogs render OK now, too.

We still need to tweak some themes, make sure maemo-launcher (with qt preloading) works, and look at other parts that need porting. At least the virtual keyboard still needs porting. And there's probably a big tail of small things that need to be ported over as well.

MerlijnWajer avatar Aug 26 '20 10:08 MerlijnWajer

I will try to give a more detailed status overview in the upcoming Leste news post.

MerlijnWajer avatar Aug 26 '20 10:08 MerlijnWajer