eden-miror/src/yuzu/main.ui
crueter b9e052b3a7
[desktop] Basic grid view implementation (#3479)
Closes #3441

Basic impl of a grid view on the game list. The ideal solution here
would be to use QSortFilterProxyModel and abstract the game list model
out to a QStandardItemModel, but that is too much effort for me rn.
Adapted the "card" design from QML, can 1000% be improved but QPainter
is just such a pain to deal with. Implanting a Qt Quick scene into there
would legitimately be easier.

Anyways, margins and text sizes lgtm at all sizes, though please give
feedback on both that and the general card design.

Future TODOs:
- [ ] Auto size mode
- [ ] Refactor to use models

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3479
2026-02-06 19:51:01 +01:00

594 lines
17 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1280</width>
<height>720</height>
</rect>
</property>
<property name="windowTitle">
<string>yuzu</string>
</property>
<property name="windowIcon">
<iconset resource="yuzu.qrc">
<normaloff>:/img/eden.ico</normaloff>:/img/eden.ico</iconset>
</property>
<property name="tabShape">
<enum>QTabWidget::TabShape::Rounded</enum>
</property>
<property name="dockNestingEnabled">
<bool>true</bool>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1280</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
<property name="title">
<string>&amp;File</string>
</property>
<widget class="QMenu" name="menu_recent_files">
<property name="title">
<string>&amp;Recent Files</string>
</property>
</widget>
<widget class="QMenu" name="menuOpen_Eden_Folders">
<property name="title">
<string>Open &amp;Eden Folders</string>
</property>
<addaction name="action_Root_Data_Folder"/>
<addaction name="action_NAND_Folder"/>
<addaction name="action_SDMC_Folder"/>
<addaction name="action_Mod_Folder"/>
<addaction name="action_Log_Folder"/>
</widget>
<addaction name="action_Install_File_NAND"/>
<addaction name="separator"/>
<addaction name="action_Load_File"/>
<addaction name="action_Load_Folder"/>
<addaction name="separator"/>
<addaction name="menu_recent_files"/>
<addaction name="separator"/>
<addaction name="action_Load_Amiibo"/>
<addaction name="separator"/>
<addaction name="menuOpen_Eden_Folders"/>
<addaction name="separator"/>
<addaction name="action_Exit"/>
</widget>
<widget class="QMenu" name="menu_Emulation">
<property name="title">
<string>&amp;Emulation</string>
</property>
<addaction name="action_Pause"/>
<addaction name="action_Stop"/>
<addaction name="action_Restart"/>
<addaction name="separator"/>
<addaction name="action_Configure"/>
<addaction name="action_Configure_Current_Game"/>
</widget>
<widget class="QMenu" name="menu_View">
<property name="title">
<string>&amp;View</string>
</property>
<widget class="QMenu" name="menu_Reset_Window_Size">
<property name="title">
<string>&amp;Reset Window Size</string>
</property>
</widget>
<widget class="QMenu" name="menu_View_Debugging">
<property name="title">
<string>&amp;Debugging</string>
</property>
</widget>
<widget class="QMenu" name="menu_Game_List_Mode">
<property name="title">
<string>&amp;Game List Mode</string>
</property>
<addaction name="action_Tree_View"/>
<addaction name="action_Grid_View"/>
</widget>
<action name="action_Reset_Window_Size_720">
<property name="text">
<string>Reset Window Size to &amp;720p</string>
</property>
<property name="iconText">
<string>Reset Window Size to 720p</string>
</property>
</action>
<action name="action_Reset_Window_Size_900">
<property name="text">
<string>Reset Window Size to &amp;900p</string>
</property>
<property name="iconText">
<string>Reset Window Size to 900p</string>
</property>
</action>
<action name="action_Reset_Window_Size_1080">
<property name="text">
<string>Reset Window Size to &amp;1080p</string>
</property>
<property name="iconText">
<string>Reset Window Size to 1080p</string>
</property>
</action>
<addaction name="action_Fullscreen"/>
<addaction name="action_Single_Window_Mode"/>
<addaction name="action_Enable_Overlay_Applet"/>
<addaction name="action_Show_Filter_Bar"/>
<addaction name="action_Show_Status_Bar"/>
<addaction name="separator"/>
<addaction name="menu_Reset_Window_Size"/>
<addaction name="menu_View_Debugging"/>
<addaction name="menu_Game_List_Mode"/>
</widget>
<widget class="QMenu" name="menu_Multiplayer">
<property name="enabled">
<bool>true</bool>
</property>
<property name="title">
<string>&amp;Multiplayer</string>
</property>
<addaction name="action_View_Lobby"/>
<addaction name="action_Start_Room"/>
<addaction name="action_Connect_To_Room"/>
<addaction name="separator"/>
<addaction name="action_Show_Room"/>
<addaction name="action_Leave_Room"/>
</widget>
<widget class="QMenu" name="menu_Tools">
<property name="title">
<string>&amp;Tools</string>
</property>
<widget class="QMenu" name="menu_cabinet_applet">
<property name="title">
<string>Am&amp;iibo</string>
</property>
<addaction name="action_Launch_Cabinet_Nickname_Owner"/>
<addaction name="action_Launch_Cabinet_Eraser"/>
<addaction name="action_Launch_Cabinet_Restorer"/>
<addaction name="action_Launch_Cabinet_Formatter"/>
</widget>
<widget class="QMenu" name="menu_Applets">
<property name="title">
<string>Launch &amp;Applet</string>
</property>
<addaction name="action_Launch_QLaunch"/>
<addaction name="action_Launch_MiiEdit"/>
<addaction name="action_Launch_Controller"/>
<addaction name="action_Launch_PhotoViewer"/>
</widget>
<widget class="QMenu" name="menuTAS">
<property name="title">
<string>&amp;TAS</string>
</property>
<addaction name="action_TAS_Start"/>
<addaction name="action_TAS_Record"/>
<addaction name="action_TAS_Reset"/>
<addaction name="separator"/>
<addaction name="action_Configure_Tas"/>
</widget>
<widget class="QMenu" name="menu_Create_Shortcuts">
<property name="title">
<string>&amp;Create Home Menu Shortcut</string>
</property>
<addaction name="action_Desktop"/>
<addaction name="action_Application_Menu"/>
</widget>
<widget class="QMenu" name="menuInstall_Firmware">
<property name="title">
<string>Install &amp;Firmware</string>
</property>
<addaction name="action_Firmware_From_Folder"/>
<addaction name="action_Firmware_From_ZIP"/>
</widget>
<addaction name="action_Install_Keys"/>
<addaction name="menuInstall_Firmware"/>
<addaction name="action_Verify_installed_contents"/>
<addaction name="action_Data_Manager"/>
<addaction name="separator"/>
<addaction name="menu_cabinet_applet"/>
<addaction name="menu_Applets"/>
<addaction name="menu_Create_Shortcuts"/>
<addaction name="separator"/>
<addaction name="action_Capture_Screenshot"/>
<addaction name="menuTAS"/>
</widget>
<widget class="QMenu" name="menu_Help">
<property name="title">
<string>&amp;Help</string>
</property>
<addaction name="action_Report_Compatibility"/>
<addaction name="action_Open_Mods_Page"/>
<addaction name="action_Open_Quickstart_Guide"/>
<addaction name="action_Open_FAQ"/>
<addaction name="separator"/>
<addaction name="action_About"/>
<addaction name="action_Eden_Dependencies"/>
</widget>
<addaction name="menu_File"/>
<addaction name="menu_Emulation"/>
<addaction name="menu_View"/>
<addaction name="menu_Tools"/>
<addaction name="menu_Multiplayer"/>
<addaction name="menu_Help"/>
</widget>
<action name="action_Install_File_NAND">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>&amp;Install Files to NAND...</string>
</property>
</action>
<action name="action_Load_File">
<property name="text">
<string>L&amp;oad File...</string>
</property>
</action>
<action name="action_Load_Folder">
<property name="text">
<string>Load &amp;Folder...</string>
</property>
</action>
<action name="action_Exit">
<property name="text">
<string>E&amp;xit</string>
</property>
</action>
<action name="action_Pause">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Pause</string>
</property>
</action>
<action name="action_Stop">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Stop</string>
</property>
</action>
<action name="action_Verify_installed_contents">
<property name="text">
<string>&amp;Verify Installed Contents</string>
</property>
</action>
<action name="action_About">
<property name="text">
<string>&amp;About Eden</string>
</property>
</action>
<action name="action_Single_Window_Mode">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Single &amp;Window Mode</string>
</property>
</action>
<action name="action_Configure">
<property name="text">
<string>Con&amp;figure...</string>
</property>
<property name="shortcut">
<string>Ctrl+,</string>
</property>
<property name="menuRole">
<enum>QAction::MenuRole::PreferencesRole</enum>
</property>
</action>
<action name="action_Enable_Overlay_Applet">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Enable Overlay Display Applet</string>
</property>
</action>
<action name="action_Show_Filter_Bar">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Show &amp;Filter Bar</string>
</property>
</action>
<action name="action_Show_Status_Bar">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Show &amp;Status Bar</string>
</property>
<property name="iconText">
<string>Show Status Bar</string>
</property>
</action>
<action name="action_View_Lobby">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>&amp;Browse Public Game Lobby</string>
</property>
</action>
<action name="action_Start_Room">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>&amp;Create Room</string>
</property>
</action>
<action name="action_Leave_Room">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Leave Room</string>
</property>
</action>
<action name="action_Connect_To_Room">
<property name="text">
<string>&amp;Direct Connect to Room</string>
</property>
</action>
<action name="action_Show_Room">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Show Current Room</string>
</property>
</action>
<action name="action_Fullscreen">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>F&amp;ullscreen</string>
</property>
</action>
<action name="action_Restart">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Restart</string>
</property>
</action>
<action name="action_Load_Amiibo">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Load/Remove &amp;Amiibo...</string>
</property>
</action>
<action name="action_Report_Compatibility">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Report Compatibility</string>
</property>
<property name="visible">
<bool>false</bool>
</property>
</action>
<action name="action_Open_Mods_Page">
<property name="text">
<string>Open &amp;Mods Page</string>
</property>
</action>
<action name="action_Open_Quickstart_Guide">
<property name="text">
<string>Open &amp;Quickstart Guide</string>
</property>
</action>
<action name="action_Open_FAQ">
<property name="text">
<string>&amp;FAQ</string>
</property>
</action>
<action name="action_Capture_Screenshot">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Capture Screenshot</string>
</property>
</action>
<action name="action_Launch_PhotoViewer">
<property name="text">
<string>&amp;Album</string>
</property>
</action>
<action name="action_Launch_Cabinet_Nickname_Owner">
<property name="text">
<string>&amp;Set Nickname and Owner</string>
</property>
</action>
<action name="action_Launch_Cabinet_Eraser">
<property name="text">
<string>&amp;Delete Game Data</string>
</property>
</action>
<action name="action_Launch_Cabinet_Restorer">
<property name="text">
<string>&amp;Restore Amiibo</string>
</property>
</action>
<action name="action_Launch_Cabinet_Formatter">
<property name="text">
<string>&amp;Format Amiibo</string>
</property>
</action>
<action name="action_Launch_MiiEdit">
<property name="text">
<string>&amp;Mii Editor</string>
</property>
</action>
<action name="action_Configure_Tas">
<property name="text">
<string>&amp;Configure TAS...</string>
</property>
<property name="menuRole">
<enum>QAction::MenuRole::NoRole</enum>
</property>
</action>
<action name="action_Configure_Current_Game">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Configure C&amp;urrent Game...</string>
</property>
<property name="menuRole">
<enum>QAction::MenuRole::NoRole</enum>
</property>
</action>
<action name="action_TAS_Start">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Start</string>
</property>
</action>
<action name="action_TAS_Reset">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Reset</string>
</property>
</action>
<action name="action_TAS_Record">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>R&amp;ecord</string>
</property>
</action>
<action name="action_Launch_Controller">
<property name="text">
<string>Open &amp;Controller Menu</string>
</property>
</action>
<action name="action_Install_Keys">
<property name="text">
<string>Install Decryption &amp;Keys</string>
</property>
</action>
<action name="action_Launch_QLaunch">
<property name="text">
<string>&amp;Home Menu</string>
</property>
</action>
<action name="action_Desktop">
<property name="text">
<string>&amp;Desktop</string>
</property>
</action>
<action name="action_Application_Menu">
<property name="text">
<string>&amp;Application Menu</string>
</property>
</action>
<action name="action_Root_Data_Folder">
<property name="text">
<string>&amp;Root Data Folder</string>
</property>
</action>
<action name="action_NAND_Folder">
<property name="text">
<string>&amp;NAND Folder</string>
</property>
</action>
<action name="action_SDMC_Folder">
<property name="text">
<string>&amp;SDMC Folder</string>
</property>
</action>
<action name="action_Mod_Folder">
<property name="text">
<string>&amp;Mod Folder</string>
</property>
</action>
<action name="action_Log_Folder">
<property name="text">
<string>&amp;Log Folder</string>
</property>
</action>
<action name="action_Firmware_From_Folder">
<property name="text">
<string>From Folder</string>
</property>
</action>
<action name="action_Firmware_From_ZIP">
<property name="text">
<string>From ZIP</string>
</property>
</action>
<action name="action_Eden_Dependencies">
<property name="text">
<string>&amp;Eden Dependencies</string>
</property>
</action>
<action name="action_Data_Manager">
<property name="text">
<string>&amp;Data Manager</string>
</property>
</action>
<action name="action_Tree_View">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>&amp;Tree View</string>
</property>
</action>
<action name="action_Grid_View">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>&amp;Grid View</string>
</property>
</action>
</widget>
<resources>
<include location="yuzu.qrc"/>
</resources>
<connections/>
</ui>