diff options
author | James Rowe <jroweboy@gmail.com> | 2018-01-12 03:21:20 +0100 |
---|---|---|
committer | James Rowe <jroweboy@gmail.com> | 2018-01-13 03:11:03 +0100 |
commit | ebf9a784a9f7f4148a669dbb39e7cd50df779a14 (patch) | |
tree | d585685a1c0a34b903af1d086d62560bf56bb29f /src/citra_qt/main.h | |
parent | config: Default CPU core to Unicorn. (diff) | |
download | yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.gz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.bz2 yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.lz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.xz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.zst yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.zip |
Diffstat (limited to 'src/citra_qt/main.h')
-rw-r--r-- | src/citra_qt/main.h | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h deleted file mode 100644 index d59a6d67d..000000000 --- a/src/citra_qt/main.h +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2014 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#ifndef _CITRA_QT_MAIN_HXX_ -#define _CITRA_QT_MAIN_HXX_ - -#include <memory> -#include <QMainWindow> -#include <QTimer> -#include "core/core.h" -#include "ui_main.h" - -class Config; -class EmuThread; -class GameList; -class GImageInfo; -class GPUCommandStreamWidget; -class GPUCommandListWidget; -class GraphicsBreakPointsWidget; -class GraphicsTracingWidget; -class GraphicsVertexShaderWidget; -class GRenderWindow; -class MicroProfileDialog; -class ProfilerWidget; -class RegistersWidget; -class WaitTreeWidget; - -class GMainWindow : public QMainWindow { - Q_OBJECT - - /// Max number of recently loaded items to keep track of - static const int max_recent_files_item = 10; - - // TODO: Make use of this! - enum { - UI_IDLE, - UI_EMU_BOOTING, - UI_EMU_RUNNING, - UI_EMU_STOPPING, - }; - -public: - void filterBarSetChecked(bool state); - void UpdateUITheme(); - GMainWindow(); - ~GMainWindow(); - -signals: - - /** - * Signal that is emitted when a new EmuThread has been created and an emulation session is - * about to start. At this time, the core system emulation has been initialized, and all - * emulation handles and memory should be valid. - * - * @param emu_thread Pointer to the newly created EmuThread (to be used by widgets that need to - * access/change emulation state). - */ - void EmulationStarting(EmuThread* emu_thread); - - /** - * Signal that is emitted when emulation is about to stop. At this time, the EmuThread and core - * system emulation handles and memory are still valid, but are about become invalid. - */ - void EmulationStopping(); - -private: - void InitializeWidgets(); - void InitializeDebugWidgets(); - void InitializeRecentFileMenuActions(); - void InitializeHotkeys(); - - void SetDefaultUIGeometry(); - void RestoreUIState(); - - void ConnectWidgetEvents(); - void ConnectMenuEvents(); - - bool LoadROM(const QString& filename); - void BootGame(const QString& filename); - void ShutdownGame(); - - void ShowCallouts(); - - /** - * Stores the filename in the recently loaded files list. - * The new filename is stored at the beginning of the recently loaded files list. - * After inserting the new entry, duplicates are removed meaning that if - * this was inserted from \a OnMenuRecentFile(), the entry will be put on top - * and remove from its previous position. - * - * Finally, this function calls \a UpdateRecentFiles() to update the UI. - * - * @param filename the filename to store - */ - void StoreRecentFile(const QString& filename); - - /** - * Updates the recent files menu. - * Menu entries are rebuilt from the configuration file. - * If there is no entry in the menu, the menu is greyed out. - */ - void UpdateRecentFiles(); - - /** - * If the emulation is running, - * asks the user if he really want to close the emulator - * - * @return true if the user confirmed - */ - bool ConfirmClose(); - bool ConfirmChangeGame(); - void closeEvent(QCloseEvent* event) override; - -private slots: - void OnStartGame(); - void OnPauseGame(); - void OnStopGame(); - /// Called whenever a user selects a game in the game list widget. - void OnGameListLoadFile(QString game_path); - void OnGameListOpenSaveFolder(u64 program_id); - void OnMenuLoadFile(); - /// Called whenever a user selects the "File->Select Game List Root" menu item - void OnMenuSelectGameListRoot(); - void OnMenuRecentFile(); - void OnSwapScreens(); - void OnConfigure(); - void OnToggleFilterBar(); - void OnDisplayTitleBars(bool); - void ToggleWindowMode(); - void OnCreateGraphicsSurfaceViewer(); - void OnCoreError(Core::System::ResultStatus, std::string); - -private: - void UpdateStatusBar(); - - Ui::MainWindow ui; - - GRenderWindow* render_window; - GameList* game_list; - - // Status bar elements - QLabel* message_label = nullptr; - QLabel* emu_speed_label = nullptr; - QLabel* game_fps_label = nullptr; - QLabel* emu_frametime_label = nullptr; - QTimer status_bar_update_timer; - - std::unique_ptr<Config> config; - - // Whether emulation is currently running in Citra. - bool emulation_running = false; - std::unique_ptr<EmuThread> emu_thread; - - // Debugger panes - ProfilerWidget* profilerWidget; - MicroProfileDialog* microProfileDialog; - RegistersWidget* registersWidget; - GPUCommandStreamWidget* graphicsWidget; - GPUCommandListWidget* graphicsCommandsWidget; - GraphicsBreakPointsWidget* graphicsBreakpointsWidget; - GraphicsVertexShaderWidget* graphicsVertexShaderWidget; - GraphicsTracingWidget* graphicsTracingWidget; - WaitTreeWidget* waitTreeWidget; - - QAction* actions_recent_files[max_recent_files_item]; - -protected: - void dropEvent(QDropEvent* event) override; - void dragEnterEvent(QDragEnterEvent* event) override; - void dragMoveEvent(QDragMoveEvent* event) override; -}; - -#endif // _CITRA_QT_MAIN_HXX_ |