forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright 2015 Dolphin Emulator Project
 | 
						|
// Licensed under GPLv2+
 | 
						|
// Refer to the license.txt file included.
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include <QMenu>
 | 
						|
#include <QMenuBar>
 | 
						|
 | 
						|
class MenuBar final : public QMenuBar
 | 
						|
{
 | 
						|
  Q_OBJECT
 | 
						|
 | 
						|
public:
 | 
						|
  explicit MenuBar(QWidget* parent = nullptr);
 | 
						|
 | 
						|
signals:
 | 
						|
  // File
 | 
						|
  void Open();
 | 
						|
  void Exit();
 | 
						|
 | 
						|
  // Emulation
 | 
						|
  void Play();
 | 
						|
  void Pause();
 | 
						|
  void Stop();
 | 
						|
  void Reset();
 | 
						|
  void Fullscreen();
 | 
						|
  void FrameAdvance();
 | 
						|
  void Screenshot();
 | 
						|
  void StateLoad();
 | 
						|
  void StateSave();
 | 
						|
  void StateLoadSlot();
 | 
						|
  void StateSaveSlot();
 | 
						|
  void StateLoadSlotAt(int slot);
 | 
						|
  void StateSaveSlotAt(int slot);
 | 
						|
  void StateLoadUndo();
 | 
						|
  void StateSaveUndo();
 | 
						|
  void StateSaveOldest();
 | 
						|
  void SetStateSlot(int slot);
 | 
						|
 | 
						|
  // View
 | 
						|
  void ShowTable();
 | 
						|
  void ShowList();
 | 
						|
 | 
						|
  void ShowAboutDialog();
 | 
						|
 | 
						|
public slots:
 | 
						|
  void EmulationStarted();
 | 
						|
  void EmulationPaused();
 | 
						|
  void EmulationStopped();
 | 
						|
  void UpdateStateSlotMenu();
 | 
						|
 | 
						|
private:
 | 
						|
  void AddFileMenu();
 | 
						|
 | 
						|
  void AddEmulationMenu();
 | 
						|
  void AddStateLoadMenu(QMenu* emu_menu);
 | 
						|
  void AddStateSaveMenu(QMenu* emu_menu);
 | 
						|
  void AddStateSlotMenu(QMenu* emu_menu);
 | 
						|
 | 
						|
  void AddViewMenu();
 | 
						|
  void AddGameListTypeSection(QMenu* view_menu);
 | 
						|
  void AddTableColumnsMenu(QMenu* view_menu);
 | 
						|
 | 
						|
  void AddHelpMenu();
 | 
						|
 | 
						|
  // File
 | 
						|
  QAction* m_open_action;
 | 
						|
  QAction* m_exit_action;
 | 
						|
 | 
						|
  // Emulation
 | 
						|
  QAction* m_play_action;
 | 
						|
  QAction* m_pause_action;
 | 
						|
  QAction* m_stop_action;
 | 
						|
  QAction* m_reset_action;
 | 
						|
  QAction* m_fullscreen_action;
 | 
						|
  QAction* m_frame_advance_action;
 | 
						|
  QAction* m_screenshot_action;
 | 
						|
  QMenu* m_state_load_menu;
 | 
						|
  QMenu* m_state_save_menu;
 | 
						|
  QMenu* m_state_slot_menu;
 | 
						|
  QActionGroup* m_state_slots;
 | 
						|
  QMenu* m_state_load_slots_menu;
 | 
						|
  QMenu* m_state_save_slots_menu;
 | 
						|
};
 |