-
Notifications
You must be signed in to change notification settings - Fork 132
feat(qt): Port win_taskbar_progress to Qt6 #215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 29.x-knots
Are you sure you want to change the base?
feat(qt): Port win_taskbar_progress to Qt6 #215
Conversation
|
I think this would be easier to review if the Qt6 depends changes were split to a separate PR, and the fixups squashed. |
3c0a6ca to
9757d00
Compare
|
I've split this PR as requested:
|
|
My thought was more of having this PR just port win_taskbar_progress to native Windows, and have the Qt6 PR independently change depends builds, neither depending on each other. |
9757d00 to
8986737
Compare
|
Gotcha @luke-jr I've updated both PRs to reflect. |
bdc4742 to
52502ef
Compare
52502ef to
0dc86b2
Compare
0dc86b2 to
b895717
Compare
b895717 to
c527b35
Compare
| "Qt${WITH_QT_VERSION}::WinExtras" | ||
| $<$<PLATFORM_ID:Windows>:dwmapi> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are still needed?
| $<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${BITCOIN_QT_WIN_TASKBAR}>>:wintaskbarprogress.cpp> | ||
| $<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${BITCOIN_QT_WIN_TASKBAR}>>:wintaskbarprogress.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably cleaner to just move this below with the if(WITH_TASKBAR_PROGRESS)?
| #pragma comment(lib, "ole32.lib") | ||
| #pragma comment(lib, "shell32.lib") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be necessary, right?
| QWindow* m_window = nullptr; | ||
| int m_value = 0; | ||
| bool m_visible = false; | ||
| void* m_taskbar_button = nullptr; // ITaskbarList3* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this a void*? Better to avoid casting
Replace QtWinExtras (removed in Qt6) with native Windows ITaskbarList3 COM API, making the Windows taskbar progress feature compatible with both Qt5 and Qt6.
Closes #191
Changes
Implementation
The new
WinTaskbarProgressclass uses WindowsITaskbarList3directly, maintaining full feature parity with the Qt5 implementation while working with both Qt5 and Qt6.