2015-11-27 08:33:07 +00:00
|
|
|
// Copyright 2015 Dolphin Emulator Project
|
|
|
|
// Licensed under GPLv2+
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QMainWindow>
|
|
|
|
#include <QStackedWidget>
|
|
|
|
#include <QString>
|
|
|
|
#include <QToolBar>
|
|
|
|
|
2015-12-20 05:24:48 +00:00
|
|
|
#include "DolphinQt2/MenuBar.h"
|
2015-11-27 08:33:07 +00:00
|
|
|
#include "DolphinQt2/RenderWidget.h"
|
2015-12-04 04:41:17 +00:00
|
|
|
#include "DolphinQt2/ToolBar.h"
|
2015-11-27 08:33:07 +00:00
|
|
|
#include "DolphinQt2/GameList/GameList.h"
|
|
|
|
|
2016-02-10 04:42:06 +00:00
|
|
|
class PathDialog;
|
|
|
|
|
2015-11-27 08:33:07 +00:00
|
|
|
class MainWindow final : public QMainWindow
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit MainWindow();
|
2016-02-15 01:04:16 +00:00
|
|
|
~MainWindow();
|
2015-11-27 08:33:07 +00:00
|
|
|
|
|
|
|
signals:
|
|
|
|
void EmulationStarted();
|
|
|
|
void EmulationPaused();
|
|
|
|
void EmulationStopped();
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void Open();
|
|
|
|
void Play();
|
|
|
|
void Pause();
|
2015-12-22 03:46:03 +00:00
|
|
|
|
|
|
|
// May ask for confirmation. Returns whether or not it actually stopped.
|
2015-11-27 08:33:07 +00:00
|
|
|
bool Stop();
|
|
|
|
void ForceStop();
|
2015-12-22 03:46:03 +00:00
|
|
|
|
2015-11-27 08:33:07 +00:00
|
|
|
void FullScreen();
|
|
|
|
void ScreenShot();
|
|
|
|
|
|
|
|
private:
|
2016-02-10 04:42:06 +00:00
|
|
|
void CreateComponents();
|
|
|
|
|
|
|
|
void ConnectGameList();
|
|
|
|
void ConnectMenuBar();
|
|
|
|
void ConnectRenderWidget();
|
|
|
|
void ConnectStack();
|
|
|
|
void ConnectToolBar();
|
|
|
|
void ConnectPathsDialog();
|
2015-11-27 08:33:07 +00:00
|
|
|
|
2015-12-22 03:46:03 +00:00
|
|
|
void StartGame(const QString& path);
|
2015-11-27 08:33:07 +00:00
|
|
|
void ShowRenderWidget();
|
|
|
|
void HideRenderWidget();
|
|
|
|
|
2016-02-10 04:42:06 +00:00
|
|
|
void ShowPathsDialog();
|
2016-02-11 11:59:44 +00:00
|
|
|
void ShowAboutDialog();
|
2016-02-10 04:42:06 +00:00
|
|
|
|
2015-11-27 08:33:07 +00:00
|
|
|
QStackedWidget* m_stack;
|
2015-12-04 04:41:17 +00:00
|
|
|
ToolBar* m_tool_bar;
|
2015-12-20 05:24:48 +00:00
|
|
|
MenuBar* m_menu_bar;
|
2015-11-27 08:33:07 +00:00
|
|
|
GameList* m_game_list;
|
|
|
|
RenderWidget* m_render_widget;
|
|
|
|
bool m_rendering_to_main;
|
2016-02-10 04:42:06 +00:00
|
|
|
|
|
|
|
PathDialog* m_paths_dialog;
|
2015-11-27 08:33:07 +00:00
|
|
|
};
|