123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #pragma once
- #include <memory>
- #include <QMainWindow>
- #include "Core/Core.h"
- #include "DolphinQt/GameList/GameTracker.h"
- #include "DolphinQt/VideoInterface/RenderWidget.h"
- namespace Ui
- {
- class DMainWindow;
- }
- class DMainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- explicit DMainWindow(QWidget* parent_widget = nullptr);
- ~DMainWindow();
-
- bool RenderWidgetHasFocus() const { return m_render_widget->isActiveWindow(); }
- DRenderWidget* GetRenderWidget() { return m_render_widget.get(); }
- signals:
- void CoreStateChanged(Core::EState state);
- public slots:
-
- bool OnStop();
- private slots:
-
- void StartGame(const QString filename);
- void OnCoreStateChanged(Core::EState state);
-
- void OnOpen();
- void OnBrowse();
- void OnExit();
- void OnPlay();
- void OnReset();
-
- void OnGameListStyleChanged();
-
- void OnOpenWebsite();
- void OnOpenDocs();
- void OnOpenGitHub();
- void OnOpenSystemInfo();
- void OnOpenAbout();
- void OnOpenAboutQt();
-
- void UpdateIcons();
- private:
- void closeEvent(QCloseEvent* ce);
- std::unique_ptr<Ui::DMainWindow> m_ui;
- DGameTracker* m_game_tracker;
-
- QString RequestBootFilename();
- QString ShowFileDialog();
- QString ShowFolderDialog();
- void DoStartPause();
- bool Stop();
- std::unique_ptr<DRenderWidget> m_render_widget;
- bool m_isStopping = false;
- };
- extern DMainWindow* g_main_window;
|