[qt] refactor: qt_common lib #94

Merged
crueter merged 53 commits from refactor/qt_common into master 2025-09-15 17:21:19 +02:00
Owner

This is part of a series of PRs made in preparation for the QML rewrite. this PR specifically moves a bunch of utility functions from main.cpp into qt_common, with the biggest benefit being that QML can reuse the exact same code through ctx passthrough.

Also, QtCommon::Frontend is an abstraction layer over several previously Widgets-specific stuff like QMessageBox that gets used everywhere. The idea is that once QML is implemented, these functions can have a Quick version implemented for systems that don't work well with Widgets (sun) or for those on Plasma 6+ (reduces memory usage w/o Widgets linkage) although Quick from C++ is actually anal, but whatever.

Other than that this should also just kinda reduce the size of main.cpp which is a 6000-line behemoth rn, and clangd straight up gives up with it for me (likely caused by the massive amount of headers, which this DOES reduce).

In the future, I probably want to create a common strings lookup table that both Qt and QML can reference--though I'm not sure how much linguist likes that--which should give us a way to keep language consistent (use frozen-map).

TODO:

  • Docs for Qt stuff
This is part of a series of PRs made in preparation for the QML rewrite. this PR specifically moves a bunch of utility functions from main.cpp into qt_common, with the biggest benefit being that QML can reuse the exact same code through ctx passthrough. Also, QtCommon::Frontend is an abstraction layer over several previously Widgets-specific stuff like QMessageBox that gets used everywhere. The idea is that once QML is implemented, these functions can have a Quick version implemented for systems that don't work well with Widgets (sun) or for those on Plasma 6+ (reduces memory usage w/o Widgets linkage) although Quick from C++ is actually anal, but whatever. Other than that this should also just kinda reduce the size of main.cpp which is a 6000-line behemoth rn, and clangd straight up gives up with it for me (likely caused by the massive amount of headers, which this DOES reduce). In the future, I probably want to create a common strings lookup table that both Qt and QML can reference--though I'm not sure how much linguist likes that--which should give us a way to keep language consistent (use frozen-map). TODO: - [ ] Docs for Qt stuff
crueter changed title from [qt] Separate qt_common with common Desktop functionality to [qt] refactor: qt_common lib 2025-07-22 23:14:09 +02:00
crueter force-pushed refactor/qt_common from 60c967ddbb to 0f28ecbe71 2025-07-23 19:21:39 +02:00 Compare
crueter changed title from [qt] refactor: qt_common lib to WIP: [qt] refactor: qt_common lib 2025-07-24 03:11:27 +02:00
crueter force-pushed refactor/qt_common from 490758c2ce to 6f5a012cb3 2025-08-08 02:35:22 +02:00 Compare
crueter added 1 commit 2025-08-08 02:45:37 +02:00
[qt_common] update translations
All checks were successful
eden-license / license-header (pull_request) Successful in 14s
b817441c0f
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter force-pushed refactor/qt_common from b817441c0f to e5ca953f59 2025-08-31 00:20:28 +02:00 Compare
crueter added 1 commit 2025-08-31 01:48:17 +02:00
[qt_common] reorg, move more stuff out of main
Some checks failed
eden-license / license-header (pull_request) Failing after 30s
d9cbb6f0a4
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-08-31 01:50:02 +02:00
Fix license headers
All checks were successful
eden-license / license-header (pull_request) Successful in 31s
0071bf54d5
crueter force-pushed refactor/qt_common from 0071bf54d5 to d111dcecd0 2025-08-31 01:50:57 +02:00 Compare
crueter added 1 commit 2025-08-31 01:54:45 +02:00
cleanup
All checks were successful
eden-license / license-header (pull_request) Successful in 30s
0f503b0075
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-08-31 02:08:30 +02:00
fix win
All checks were successful
eden-license / license-header (pull_request) Successful in 34s
cbc626fc70
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-08-31 02:30:15 +02:00
fix
All checks were successful
eden-license / license-header (pull_request) Successful in 34s
f05856961a
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-08-31 20:56:52 +02:00
better handling for sys/vfs/rootobject
Some checks failed
eden-license / license-header (pull_request) Failing after 25s
2142082905
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-08-31 20:57:17 +02:00
Fix license headers
All checks were successful
eden-license / license-header (pull_request) Successful in 25s
dcf491fded
crueter force-pushed refactor/qt_common from dcf491fded to 2d94767f96 2025-09-13 16:25:49 +02:00 Compare
crueter added 1 commit 2025-09-13 17:39:14 +02:00
QProgressDialog abstractor, more moving
All checks were successful
eden-license / license-header (pull_request) Successful in 34s
8974aed013
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter changed title from WIP: [qt] refactor: qt_common lib to [qt] refactor: qt_common lib 2025-09-13 17:39:42 +02:00
crueter added 1 commit 2025-09-13 17:47:25 +02:00
fix headers
All checks were successful
eden-license / license-header (pull_request) Successful in 32s
b326f2e3e0
Signed-off-by: crueter <crueter@eden-emu.dev>
Author
Owner

This PR is still technically incomplete, but it's such a massive PR at this point that I think I'm done with it for the time being. Further work can be done as-needed in the QML frontend

This PR is still technically incomplete, but it's such a massive PR at this point that I think I'm done with it for the time being. Further work can be done as-needed in the QML frontend
crueter added 1 commit 2025-09-13 17:49:00 +02:00
Fix cpm-fetch
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
c70d9140a4
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-09-13 17:51:36 +02:00
fix cpm-fetch (again)
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
63961f3741
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-09-13 18:09:03 +02:00
fix msvc
All checks were successful
eden-license / license-header (pull_request) Successful in 34s
ae31504772
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-09-13 18:28:49 +02:00
fix windows
All checks were successful
eden-license / license-header (pull_request) Successful in 33s
a572ee58d3
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-09-13 19:31:26 +02:00
fix windows dir opening
All checks were successful
eden-license / license-header (pull_request) Successful in 33s
6d7820cf01
Signed-off-by: crueter <crueter@eden-emu.dev>
MaranBr approved these changes 2025-09-15 15:33:09 +02:00
Dismissed
Shinmegumi approved these changes 2025-09-15 16:09:15 +02:00
Dismissed
MaranBr force-pushed refactor/qt_common from 6d7820cf01 to 33a203159b 2025-09-15 16:28:57 +02:00 Compare
MaranBr dismissed MaranBr's review 2025-09-15 16:28:58 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

MaranBr dismissed Shinmegumi's review 2025-09-15 16:28:58 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

MaranBr added 27 commits 2025-09-15 16:43:21 +02:00
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@crueter.xyz>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
Fix license headers
Some checks failed
eden-license / license-header (pull_request) Failing after 34s
2d94767f96
QProgressDialog abstractor, more moving
All checks were successful
eden-license / license-header (pull_request) Successful in 34s
8974aed013
Signed-off-by: crueter <crueter@eden-emu.dev>
fix headers
All checks were successful
eden-license / license-header (pull_request) Successful in 32s
b326f2e3e0
Signed-off-by: crueter <crueter@eden-emu.dev>
Fix cpm-fetch
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
c70d9140a4
Signed-off-by: crueter <crueter@eden-emu.dev>
fix cpm-fetch (again)
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
63961f3741
Signed-off-by: crueter <crueter@eden-emu.dev>
fix msvc
All checks were successful
eden-license / license-header (pull_request) Successful in 34s
ae31504772
Signed-off-by: crueter <crueter@eden-emu.dev>
fix windows
All checks were successful
eden-license / license-header (pull_request) Successful in 33s
a572ee58d3
Signed-off-by: crueter <crueter@eden-emu.dev>
fix windows dir opening
All checks were successful
eden-license / license-header (pull_request) Successful in 33s
6d7820cf01
Signed-off-by: crueter <crueter@eden-emu.dev>
Minor clean up
All checks were successful
eden-license / license-header (pull_request) Successful in 36s
23f3a3d2e3
MaranBr added 1 commit 2025-09-15 16:46:54 +02:00
Remove remaining file
All checks were successful
eden-license / license-header (pull_request) Successful in 37s
65bc0364bd
MaranBr approved these changes 2025-09-15 16:49:30 +02:00
Shinmegumi approved these changes 2025-09-15 16:51:38 +02:00
crueter merged commit f4386423e8 into master 2025-09-15 17:21:19 +02:00
crueter referenced this pull request from a commit 2025-09-15 17:21:19 +02:00
crueter deleted branch refactor/qt_common 2025-09-15 17:21:20 +02:00
crueter referenced this pull request from a commit 2025-09-17 02:37:47 +02:00
Sign in to join this conversation.
No description provided.