[UI] Move AchievementDialogQt from app to ui where it belongs

This commit is contained in:
Herman S.
2025-10-25 14:58:01 +09:00
parent 43d0094e60
commit 06c3e339ad
6 changed files with 41 additions and 31 deletions
+2 -2
View File
@@ -26,7 +26,6 @@
#include <thread>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/app/achievements_dialog_qt.h"
#include "xenia/app/emulator_window.h"
#include "xenia/app/profile_dialog_qt.h"
#include "xenia/app/profile_editor_dialog_qt.h"
@@ -47,6 +46,7 @@
#include "xenia/kernel/xam/xam_state.h"
#include "xenia/kernel/xam/xdbf/gpd_info_profile.h"
#include "xenia/kernel/xam/xdbf/gpd_info_title.h"
#include "xenia/ui/achievements_dialog_qt.h"
namespace xe {
namespace app {
@@ -1332,7 +1332,7 @@ void GameListDialogQt::ShowAchievementsDialog(uint64_t xuid, uint32_t title_id,
return;
}
auto* achievements_dialog = new AchievementsDialogQt(
auto* achievements_dialog = new xe::ui::AchievementsDialogQt(
nullptr, kernel_state, &title_info.value(), profile);
achievements_dialog->setAttribute(Qt::WA_DeleteOnClose);
achievements_dialog->show();
+11
View File
@@ -27,6 +27,17 @@ project("xenia-cpu-ppc-tests")
"imgui",
"mspack",
})
-- Qt is required because xenia-kernel now uses Qt for achievements dialog
filter("platforms:Linux")
local qt_dir = os.getenv("QT_DIR")
if qt_dir then
links({
"Qt6Core",
"Qt6Gui",
"Qt6Widgets",
})
end
filter({})
files({
"ppc_testing_main.cc",
"../../../base/console_app_main_"..platform_suffix..".cc",
+3 -3
View File
@@ -21,12 +21,12 @@
#include "xenia/ui/imgui_drawer.h"
#include "xenia/ui/imgui_guest_notification.h"
#include "xenia/app/achievements_dialog_qt.h"
#include "xenia/kernel/xam/ui/create_profile_ui.h"
#include "xenia/kernel/xam/ui/gamercard_ui.h"
#include "xenia/kernel/xam/ui/passcode_ui.h"
#include "xenia/kernel/xam/ui/signin_ui.h"
#include "xenia/kernel/xam/ui/title_info_ui.h"
#include "xenia/ui/achievements_dialog_qt.h"
#include "xenia/ui/window_qt.h"
#include <QString>
@@ -1025,8 +1025,8 @@ dword_result_t XamShowAchievementsUI_entry(dword_t user_index,
if (qt_window && qt_window->qwindow()) {
auto* kernel = kernel_state();
app_context.CallInUIThread([qt_window, kernel, info, user]() {
auto* dialog = new app::AchievementsDialogQt(qt_window->qwindow(), kernel,
&info.value(), user);
auto* dialog = new xe::ui::AchievementsDialogQt(
qt_window->qwindow(), kernel, &info.value(), user);
dialog->show();
dialog->raise();
dialog->activateWindow();
@@ -7,7 +7,7 @@
******************************************************************************
*/
#include "xenia/app/achievements_dialog_qt.h"
#include "xenia/ui/achievements_dialog_qt.h"
#include <QApplication>
#include <QCheckBox>
@@ -25,7 +25,6 @@
#include <algorithm>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/app/emulator_window.h"
#include "xenia/base/chrono.h"
#include "xenia/base/logging.h"
#include "xenia/base/utf8.h"
@@ -44,7 +43,7 @@ struct Achievement;
} // namespace xe
namespace xe {
namespace app {
namespace ui {
AchievementsDialogQt::AchievementsDialogQt(
QWidget* parent, kernel::KernelState* kernel_state,
@@ -501,5 +500,5 @@ void AchievementsDialogQt::OnRefreshClicked() {
LoadAchievements();
}
} // namespace app
} // namespace ui
} // namespace xe
@@ -7,8 +7,8 @@
******************************************************************************
*/
#ifndef XENIA_APP_ACHIEVEMENTS_DIALOG_QT_H_
#define XENIA_APP_ACHIEVEMENTS_DIALOG_QT_H_
#ifndef XENIA_UI_ACHIEVEMENTS_DIALOG_QT_H_
#define XENIA_UI_ACHIEVEMENTS_DIALOG_QT_H_
#include <QCheckBox>
#include <QDialog>
@@ -35,7 +35,7 @@ class UserProfile;
} // namespace xe
namespace xe {
namespace app {
namespace ui {
class AchievementsDialogQt : public QDialog {
Q_OBJECT
@@ -81,7 +81,7 @@ class AchievementsDialogQt : public QDialog {
bool show_locked_info_;
};
} // namespace app
} // namespace ui
} // namespace xe
#endif // XENIA_APP_ACHIEVEMENTS_DIALOG_QT_H_
#endif // XENIA_UI_ACHIEVEMENTS_DIALOG_QT_H_
@@ -30,14 +30,14 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN2xe3app20AchievementsDialogQtE_t {};
struct qt_meta_tag_ZN2xe2ui20AchievementsDialogQtE_t {};
} // unnamed namespace
template <>
constexpr inline auto xe::app::AchievementsDialogQt::qt_create_metaobjectdata<
qt_meta_tag_ZN2xe3app20AchievementsDialogQtE_t>() {
constexpr inline auto xe::ui::AchievementsDialogQt::qt_create_metaobjectdata<
qt_meta_tag_ZN2xe2ui20AchievementsDialogQtE_t>() {
namespace QMC = QtMocConstants;
QtMocHelpers::StringRefStorage qt_stringData{"xe::app::AchievementsDialogQt",
QtMocHelpers::StringRefStorage qt_stringData{"xe::ui::AchievementsDialogQt",
"OnShowLockedInfoChanged", "",
"OnRefreshClicked"};
@@ -50,23 +50,23 @@ constexpr inline auto xe::app::AchievementsDialogQt::qt_create_metaobjectdata<
QtMocHelpers::UintData qt_properties{};
QtMocHelpers::UintData qt_enums{};
return QtMocHelpers::metaObjectData<
AchievementsDialogQt, qt_meta_tag_ZN2xe3app20AchievementsDialogQtE_t>(
AchievementsDialogQt, qt_meta_tag_ZN2xe2ui20AchievementsDialogQtE_t>(
QMC::MetaObjectFlag{}, qt_stringData, qt_methods, qt_properties,
qt_enums);
}
Q_CONSTINIT const QMetaObject xe::app::AchievementsDialogQt::staticMetaObject = { {
Q_CONSTINIT const QMetaObject xe::ui::AchievementsDialogQt::staticMetaObject = { {
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2xe3app20AchievementsDialogQtE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2xe3app20AchievementsDialogQtE_t>.data,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2xe2ui20AchievementsDialogQtE_t>.stringdata,
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2xe2ui20AchievementsDialogQtE_t>.data,
qt_static_metacall,
nullptr,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN2xe3app20AchievementsDialogQtE_t>.metaTypes,
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN2xe2ui20AchievementsDialogQtE_t>.metaTypes,
nullptr
} };
void xe::app::AchievementsDialogQt::qt_static_metacall(QObject* _o,
QMetaObject::Call _c,
int _id, void** _a) {
void xe::ui::AchievementsDialogQt::qt_static_metacall(QObject* _o,
QMetaObject::Call _c,
int _id, void** _a) {
auto* _t = static_cast<AchievementsDialogQt*>(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
@@ -82,20 +82,20 @@ void xe::app::AchievementsDialogQt::qt_static_metacall(QObject* _o,
(void)_a;
}
const QMetaObject* xe::app::AchievementsDialogQt::metaObject() const {
const QMetaObject* xe::ui::AchievementsDialogQt::metaObject() const {
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject()
: &staticMetaObject;
}
void* xe::app::AchievementsDialogQt::qt_metacast(const char* _clname) {
void* xe::ui::AchievementsDialogQt::qt_metacast(const char* _clname) {
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2xe3app20AchievementsDialogQtE_t>.strings))
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN2xe2ui20AchievementsDialogQtE_t>.strings))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int xe::app::AchievementsDialogQt::qt_metacall(QMetaObject::Call _c, int _id,
void** _a) {
int xe::ui::AchievementsDialogQt::qt_metacall(QMetaObject::Call _c, int _id,
void** _a) {
_id = QDialog::qt_metacall(_c, _id, _a);
if (_id < 0) return _id;
if (_c == QMetaObject::InvokeMetaMethod) {