Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
c40d43f
build: scaffold C++23 Qt6/QML tree with CMake, CPM, ccache and QCoro;…
PyXiion Oct 15, 2026
f2d1e36
feat(core): port domain logic, services and CoreContext to C++23 with…
PyXiion Oct 15, 2026
146f649
feat(ui): port Qt Widgets/QML UI, plugins and composition root to C++23
PyXiion Oct 15, 2026
4b8b827
fix(core,ui): drop organizer context seam, share one QApplication acr…
PyXiion Oct 15, 2026
2da0871
chore: remove legacy Python tree; move tooling, CI, packaging and doc…
PyXiion Oct 15, 2026
ffc073f
test: avoid range-loop copy warning
PyXiion Oct 15, 2026
d345034
refactor: put all code in px::modrim
PyXiion Oct 16, 2026
8c74e0b
refactor: use .hpp for headers
PyXiion Oct 16, 2026
97d47c7
refactor: camelCase functions and variables, m_ member prefix, kConst…
PyXiion Oct 16, 2026
029a1fc
style: Google-based clang-format, naming lint, docs and tooling for t…
PyXiion Oct 16, 2026
dca30b1
build: just run-native and run-none for the Workshop variants
PyXiion Oct 16, 2026
cb21401
build: just run builds only the app target
PyXiion Oct 16, 2026
9a3f55d
fix: stale names in code compiled only for other variants and platforms
PyXiion Oct 16, 2026
a74ef1f
refactor: clean-room rewrite of the RimSort-derived modules (xml, con…
PyXiion Oct 16, 2026
85fceed
fix(core): use the declared Platform enumerators and drop the invalid…
PyXiion Oct 16, 2026
a161fdb
build: UI-off tests, CMake 3.24 presets, macOS bundle run path, QCoro…
PyXiion Oct 16, 2026
c6b04c8
fix(workshop): await catalog and Steam downloader coroutines on shutdown
PyXiion Oct 16, 2026
4c12c9e
fix(organizer): validate folder moves against the committed tree
PyXiion Oct 16, 2026
491968f
fix(checker): resolve alternative package ids per dependency
PyXiion Oct 16, 2026
e39dac9
fix(ui): initialize plugins when the game path is configured after fi…
PyXiion Oct 16, 2026
aee02f3
fix(ui): restrict the Steam browser bridge to Steam origins and deact…
PyXiion Oct 16, 2026
3213e37
fix(ui): keep Organizer focus and range anchor across folder expansion
PyXiion Oct 16, 2026
f8a1889
fix(backend): ack after requeue, empty collections, picked version ta…
PyXiion Oct 16, 2026
44f56f5
docs: changelog entries for the review fixes
PyXiion Oct 16, 2026
cbfb6f5
refactor(workshop): simplify downloader and catalog internals
PyXiion Oct 16, 2026
41bccdb
refactor(organizer): drop allocating helpers in the service and resolver
PyXiion Oct 16, 2026
bca800f
refactor(services): trim copies in metadata cache, update and process…
PyXiion Oct 16, 2026
2895a77
refactor(core): simplify checker sort keys, provider scanning and cac…
PyXiion Oct 16, 2026
58aad02
refactor(core): avoid copies in config, context, mod service and mods…
PyXiion Oct 16, 2026
80ca55e
refactor(ui): simplify plugin models, views and Steam bridge scripts
PyXiion Oct 16, 2026
604b1d4
refactor(ui): simplify list models, info panel and window helpers
PyXiion Oct 16, 2026
379b9af
refactor(qml): reuse lookups in ModTree, RuleEditor and TagPicker
PyXiion Oct 16, 2026
ecc7548
refactor(backend): consolidate dependency traversal and queue acknowl…
PyXiion Oct 16, 2026
42ffb78
chore: merge main into cpp-rewrite
PyXiion Oct 16, 2026
d895a4c
ci: pin Qt 6.10.3 and drop base-package modules from aqtinstall
PyXiion Oct 16, 2026
b9a765f
ci: fix QCoro QmlPrivate lookup, ZLIB target clash on vcpkg and Ubunt…
PyXiion Oct 16, 2026
d783a4b
ci: install Ubuntu zipcmp, zipmerge and ziptool for libzip-dev CMake …
PyXiion Oct 16, 2026
06b66b5
fix: build on libc++, clang, GCC 13 and MSVC; pin clang-format in CI
PyXiion Oct 16, 2026
e658863
fix: link zlib directly and include windows.h before tlhelp32.h
PyXiion Oct 16, 2026
f2e9a23
ci: pin clang-tidy, filter GCC-only flags for lint; fix macOS test as…
PyXiion Oct 16, 2026
8999a5e
ci: build Windows in Release so it links against prebuilt QCoro
PyXiion Oct 16, 2026
d896856
fix(steam): complete the download future through the callback queue; …
PyXiion Oct 16, 2026
9c454dc
fix(steam): order download completion behind queued callbacks; test: …
PyXiion Oct 16, 2026
8d6450c
refactor(workshop): inline empty QStringList arguments
PyXiion Oct 16, 2026
28bc14a
ci: pin third-party actions to immutable commits
PyXiion Oct 16, 2026
0badf2f
fix(workshop): use ES2022 own-property checks
PyXiion Oct 16, 2026
63845a0
fix(workshop): resolve injection static-analysis warnings
PyXiion Oct 16, 2026
d106d50
ci(release): build with GCC 13, PowerShell NSIS, keep macOS framework…
PyXiion Oct 16, 2026
81d4616
docs: record release packaging workflow fixes
PyXiion Oct 16, 2026
96510ef
fix(release): bundle libssl on Linux; prune unused Qt pieces and smok…
PyXiion Oct 17, 2026
809c6e7
fix(release): smoke test without GNU timeout, which macOS lacks
PyXiion Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 35 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
Language: Cpp
BasedOnStyle: Google
Standard: c++20

# Google puts everything in <> that has no dot into the "C++ standard library" group, which
# would swallow every Qt header. Regroup explicitly: std, Qt, other libraries, then ours.
# The header a .cpp implements stays first (priority 0 is automatic).
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<[a-z_0-9]+(\.h)?>$'
Priority: 1
- Regex: '^<Q'
Priority: 2
- Regex: '^<'
Priority: 3
- Regex: '^"'
Priority: 4

StatementMacros:
- Q_OBJECT
- Q_GADGET
- Q_NAMESPACE
- Q_UNUSED
- QML_ELEMENT
- QML_ANONYMOUS
- QML_SINGLETON
- QML_UNCREATABLE
- QML_NAMED_ELEMENT
- Q_DISABLE_COPY
- Q_DISABLE_COPY_MOVE
- Q_INTERFACES
ForEachMacros:
- foreach
- Q_FOREACH
42 changes: 42 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
# Naming only. The formatter handles layout; this check enforces (and, with --fix, applies)
# the identifier style.
Checks: '-*,readability-identifier-naming'
WarningsAsErrors: 'readability-identifier-naming'
HeaderFilterRegex: '.*/(src|tests)/.*'
CheckOptions:
readability-identifier-naming.NamespaceCase: lower_case

readability-identifier-naming.ClassCase: CamelCase
readability-identifier-naming.StructCase: CamelCase
readability-identifier-naming.UnionCase: CamelCase
readability-identifier-naming.EnumCase: CamelCase
readability-identifier-naming.TypeAliasCase: CamelCase
readability-identifier-naming.TypedefCase: CamelCase
readability-identifier-naming.TemplateParameterCase: CamelCase
readability-identifier-naming.ConceptCase: CamelCase

readability-identifier-naming.FunctionCase: camelBack
readability-identifier-naming.MethodCase: camelBack

readability-identifier-naming.VariableCase: camelBack
readability-identifier-naming.ParameterCase: camelBack
readability-identifier-naming.LocalVariableCase: camelBack

readability-identifier-naming.PrivateMemberCase: camelBack
readability-identifier-naming.PrivateMemberPrefix: m_
readability-identifier-naming.ProtectedMemberCase: camelBack
readability-identifier-naming.ProtectedMemberPrefix: m_
readability-identifier-naming.PublicMemberCase: camelBack
readability-identifier-naming.ClassMemberCase: camelBack

readability-identifier-naming.GlobalConstantCase: CamelCase
readability-identifier-naming.GlobalConstantPrefix: k
readability-identifier-naming.ConstexprVariableCase: CamelCase
readability-identifier-naming.ConstexprVariablePrefix: k
readability-identifier-naming.ClassConstantCase: CamelCase
readability-identifier-naming.ClassConstantPrefix: k
readability-identifier-naming.EnumConstantCase: CamelCase
readability-identifier-naming.EnumConstantPrefix: k

readability-identifier-naming.MacroDefinitionCase: UPPER_CASE
4 changes: 1 addition & 3 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
---
exclude_paths:
- "uv.lock"
- "**/uv.lock"
- "pnpm-lock.yaml"
- "rimsort-original/**"
- "tests/**"
Expand All @@ -10,4 +8,4 @@ exclude_paths:
- "**/*.png"
- "**/*.ico"
- "**/*.icns"
- ".codacy/**"
- ".codacy/**"
Loading
Loading