Skip to content

[WIP] Port to QT6 (#4348)#4573

Open
authorisation wants to merge 66 commits intomonero-project:masterfrom
authorisation:master
Open

[WIP] Port to QT6 (#4348)#4573
authorisation wants to merge 66 commits intomonero-project:masterfrom
authorisation:master

Conversation

@authorisation
Copy link
Copy Markdown

@authorisation authorisation commented Mar 14, 2026

If you want to submit patches without wanting to go through the trouble of creating a github account, you can do so by sending me an email at auth@waifu.club or share them in various IRC channels have someone else forward them here


QT5 is long deprecated and is slowly being killed by pretty much every distro.
Continuation of #4407 as it seems to have stopped progress.

image

Current status: Program runs and is pretty much usable with some quirks. #4573 (comment)

auth added 4 commits March 14, 2026 01:44
the get function in XmlListModel does not exist in qt6, God knows why so this serves as a temporary fix
auth added 5 commits March 18, 2026 10:44
Imports don't have versions according to QtDocs, so remove those.
Also address several unqualified accesses (according to Qt Linter), still a couple left to do.
Was done semi automatically using tooling, check if any issues come up.

This fixes wallet creation mode aswell for some reason, idk why :)
Big changes to this thing happened
@authorisation
Copy link
Copy Markdown
Author

authorisation commented Mar 18, 2026

Status update, semi usable but daemon logic is severely broken
Monero wallet card is broken and not rendering at all

image image

@authorisation
Copy link
Copy Markdown
Author

The CI is annoying to fix, if anyone else wants to do that feel free to I cba right now

@selsta
Copy link
Copy Markdown
Collaborator

selsta commented Mar 18, 2026

Two suggested patches submitted on IRC

https://paste.debian.net/plainh/b68d7733
https://paste.debian.net/plainh/d4d596d7

@nahuhh
Copy link
Copy Markdown
Contributor

nahuhh commented Mar 18, 2026

Two suggested patches submitted on IRC

https://paste.debian.net/plainh/b68d7733
https://paste.debian.net/plainh/d4d596d7

A third: https://paste.debian.net/plainh/e6f39911
A fourth: https://paste.debian.net/plainh/858d7974

@authorisation
Copy link
Copy Markdown
Author

I wasn't aware of the existence of a chatroom and would like to clarify a couple of things regarding this PR or comment on possible issues. I'm probably not going to install matrix or the likes unless absolutely necessary so I'll just do it here.

Upstream fork repository: https://github.com/authorisation/monero-gui/tree/master


Excerpts from 2026-03-18

<j​pk68:matrix.org> The problem is, if two people are working on it, the other person might do work I already finished

Very possible, although I always push whenever I have pending changes, if it's not on my fork, I haven't worked on it yet.

<o​frnxmr:xmr.mx>: I doubt the pr is going to be merged eith its 50+ commits not squashed

I was honestly thinking the same thing and haven't really thought of a way to avoid that, maybe squashing the whole PR into one commit? That isn't really pleasant either though..

plowsof: Make feather wallet look like the gui? :P

I'd go with it :P

...
<o​frnxmr:xmr.mx>: Like why inconsist

Well an inconsistency is expected due to these commands being from two different operating systems, macos doesn't really have a native "nproc" command on the github images (not to my knowledge).
It can be manually installed if a consistent solution is preferred.

Additionally as I've stated in this comment, I'd like someone else to take over that part. The CI would ideally have to be rewritten fully from scratch as it is a total mess as of now. It also definitely needs caching support to reduce some of the static build times as it compiles Dockerfiles on each run which wastes compute (QoL).

<o​frnxmr:xmr.mx>: A couple sane changes a bunch lf random unnecessary ones dont inspire confidence for the rest of the pr

(In context to messy CI commits)
Yeah rightfully agreed, I eventually moved the commits to a seperate "testing" branch to mess around because it kept failing commit after commit and ulimately gave up on that now.

plowsof: Still(wondering): what llm does those commit titles

These are all written by my very human brain. In regards to AI usage, I exclusively use Copilot suggestions and the QML Linter to make writing code more convenient.

selsta: I would ideally like Qt 5 and 6 support simultaneously but not sure if that's possible

This is probably possible, requires more work but we should just be able to reuse old code. I would definitely advise against using qt5compat, it would make the UI look more consistent but at the cost of performance(?) and system bloat. I've already ported away from this component in this PR.

Copy link
Copy Markdown
Author

@authorisation authorisation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

auth added 5 commits March 19, 2026 20:45
implicitHeight and width were 0, so the card was rendering inside a zero width and height item
These just fail as this property was removed in qt6
Qt.quit doesn't work. Why? No idea.. worked in qt5.
@authorisation authorisation marked this pull request as ready for review April 2, 2026 23:32
@authorisation
Copy link
Copy Markdown
Author

authorisation commented Apr 2, 2026

I've tried fixing everything I could find. Feel free to review, commit or suggest changes now and obviously report any bugs I haven't found.

CI is still unfixed also.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants