forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright 2014 Dolphin Emulator Project
 | |
| // Licensed under GPLv2
 | |
| // Refer to the license.txt file included.
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <memory>
 | |
| #include <QMainWindow>
 | |
| 
 | |
| #include "Core/Core.h"
 | |
| 
 | |
| #include "DolphinQt/GameList/GameTracker.h"
 | |
| #include "DolphinQt/VideoInterface/RenderWidget.h"
 | |
| 
 | |
| // Predefinitions
 | |
| namespace Ui
 | |
| {
 | |
| class DMainWindow;
 | |
| }
 | |
| 
 | |
| class DMainWindow : public QMainWindow
 | |
| {
 | |
| 	Q_OBJECT
 | |
| 
 | |
| public:
 | |
| 	explicit DMainWindow(QWidget* parent_widget = nullptr);
 | |
| 	~DMainWindow();
 | |
| 
 | |
| 	// DRenderWidget
 | |
| 	bool RenderWidgetHasFocus() const { return m_render_widget->isActiveWindow(); }
 | |
| 	DRenderWidget* GetRenderWidget() { return m_render_widget.get(); }
 | |
| 
 | |
| signals:
 | |
| 	void CoreStateChanged(Core::EState state);
 | |
| 
 | |
| public slots:
 | |
| 	// Main toolbar (also used by DRenderWidget)
 | |
| 	bool OnStop();
 | |
| 
 | |
| private slots:
 | |
| 	// Emulation
 | |
| 	void StartGame(const QString filename);
 | |
| 	void OnCoreStateChanged(Core::EState state);
 | |
| 
 | |
| 	// Main toolbar
 | |
| 	void OnOpen();
 | |
| 	void OnPlay();
 | |
| 
 | |
| 	// View menu
 | |
| 	void OnGameListStyleChanged();
 | |
| 
 | |
| 	// Help menu
 | |
| 	void OnOpenWebsite();
 | |
| 	void OnOpenDocs();
 | |
| 	void OnOpenGitHub();
 | |
| 	void OnOpenSystemInfo();
 | |
| 	void OnOpenAbout();
 | |
| 
 | |
| 	// Misc.
 | |
| 	void UpdateIcons();
 | |
| 
 | |
| private:
 | |
| 	std::unique_ptr<Ui::DMainWindow> m_ui;
 | |
| 	DGameTracker* m_game_tracker;
 | |
| 
 | |
| 	// Emulation
 | |
| 	QString RequestBootFilename();
 | |
| 	QString ShowFileDialog();
 | |
| 	void DoStartPause();
 | |
| 
 | |
| 	std::unique_ptr<DRenderWidget> m_render_widget;
 | |
| 	bool m_isStopping = false;
 | |
| };
 | |
| 
 | |
| // Pointer to the only instance of DMainWindow, used by Host_*
 | |
| extern DMainWindow* g_main_window;
 |