maemo-leste / bugtracker

Issue tracking repository
62 stars 3 forks source link

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

Open MerlijnWajer opened 6 years ago

MerlijnWajer commented 6 years ago

Tasks:

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 commented 6 years ago

@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)

jonwil commented 6 years ago

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 commented 6 years ago

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)

freemangordon commented 6 years ago

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...

MerlijnWajer commented 5 years ago

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 commented 5 years ago

Moving to beta as requested by @freemangordon

MerlijnWajer commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

MerlijnWajer commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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