mirror of
https://github.com/izzy2lost/xenia-edge.git
synced 2026-07-06 00:20:26 -07:00
[UI] Use game icon as the app icon -- fix regression introduced by Qt
This commit is contained in:
@@ -13,9 +13,11 @@
|
||||
#include <QCloseEvent>
|
||||
#include <QCursor>
|
||||
#include <QGuiApplication>
|
||||
#include <QIcon>
|
||||
#include <QKeyEvent>
|
||||
#include <QMenuBar>
|
||||
#include <QMouseEvent>
|
||||
#include <QPixmap>
|
||||
#include <QResizeEvent>
|
||||
#include <QThread>
|
||||
#include <QTimer>
|
||||
@@ -282,6 +284,28 @@ void QtWindow::ApplyNewTitle() {
|
||||
}
|
||||
}
|
||||
|
||||
void QtWindow::LoadAndApplyIcon(const void* buffer, size_t size,
|
||||
bool can_apply_state_in_current_phase) {
|
||||
if (!qwindow_) {
|
||||
return;
|
||||
}
|
||||
|
||||
bool reset = !buffer || !size;
|
||||
|
||||
if (reset) {
|
||||
// Reset to default/no icon
|
||||
qwindow_->setWindowIcon(QIcon());
|
||||
} else {
|
||||
// Load icon from buffer (typically from game executable)
|
||||
QPixmap pixmap;
|
||||
if (pixmap.loadFromData(static_cast<const uchar*>(buffer),
|
||||
static_cast<uint>(size))) {
|
||||
QIcon icon(pixmap);
|
||||
qwindow_->setWindowIcon(icon);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void QtWindow::ApplyNewMainMenu(MenuItem* old_main_menu) {
|
||||
if (!qwindow_) return;
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@ class QtWindow : public Window {
|
||||
|
||||
void ApplyNewFullscreen() override;
|
||||
void ApplyNewTitle() override;
|
||||
void LoadAndApplyIcon(const void* buffer, size_t size,
|
||||
bool can_apply_state_in_current_phase) override;
|
||||
void ApplyNewMainMenu(MenuItem* old_main_menu) override;
|
||||
void ApplyNewCursorVisibility(
|
||||
CursorVisibility old_cursor_visibility) override;
|
||||
|
||||
Reference in New Issue
Block a user