diff options
| author | 2017-02-19 12:13:52 -0800 | |
|---|---|---|
| committer | 2017-02-19 12:13:52 -0800 | |
| commit | 7628f3a6fcc166ee123ff26936fbd2e0fed1c4cd (patch) | |
| tree | ac713d61d2691408d9363c8acb4d666f054248bb /src/citra_qt/main.cpp | |
| parent | OpenGL: Check if uniform block exists before updating it (#2581) (diff) | |
| parent | Qt: Move some connections from .ui file to code (diff) | |
| download | yuzu-7628f3a6fcc166ee123ff26936fbd2e0fed1c4cd.tar.gz yuzu-7628f3a6fcc166ee123ff26936fbd2e0fed1c4cd.tar.xz yuzu-7628f3a6fcc166ee123ff26936fbd2e0fed1c4cd.zip | |
Merge pull request #2580 from yuriks/qt-cleanup2
Qt cleanups 2
Diffstat (limited to 'src/citra_qt/main.cpp')
| -rw-r--r-- | src/citra_qt/main.cpp | 115 |
1 files changed, 63 insertions, 52 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 717552468..513da8001 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp | |||
| @@ -59,13 +59,14 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { | |||
| 59 | statusBar()->hide(); | 59 | statusBar()->hide(); |
| 60 | 60 | ||
| 61 | InitializeWidgets(); | 61 | InitializeWidgets(); |
| 62 | InitializeDebugMenuActions(); | 62 | InitializeDebugWidgets(); |
| 63 | InitializeRecentFileMenuActions(); | 63 | InitializeRecentFileMenuActions(); |
| 64 | InitializeHotkeys(); | 64 | InitializeHotkeys(); |
| 65 | 65 | ||
| 66 | SetDefaultUIGeometry(); | 66 | SetDefaultUIGeometry(); |
| 67 | RestoreUIState(); | 67 | RestoreUIState(); |
| 68 | 68 | ||
| 69 | ConnectMenuEvents(); | ||
| 69 | ConnectWidgetEvents(); | 70 | ConnectWidgetEvents(); |
| 70 | 71 | ||
| 71 | setWindowTitle(QString("Citra | %1-%2").arg(Common::g_scm_branch, Common::g_scm_desc)); | 72 | setWindowTitle(QString("Citra | %1-%2").arg(Common::g_scm_branch, Common::g_scm_desc)); |
| @@ -93,74 +94,85 @@ void GMainWindow::InitializeWidgets() { | |||
| 93 | 94 | ||
| 94 | game_list = new GameList(); | 95 | game_list = new GameList(); |
| 95 | ui.horizontalLayout->addWidget(game_list); | 96 | ui.horizontalLayout->addWidget(game_list); |
| 97 | } | ||
| 98 | |||
| 99 | void GMainWindow::InitializeDebugWidgets() { | ||
| 100 | connect(ui.action_Create_Pica_Surface_Viewer, &QAction::triggered, this, | ||
| 101 | &GMainWindow::OnCreateGraphicsSurfaceViewer); | ||
| 102 | |||
| 103 | QMenu* debug_menu = ui.menu_View_Debugging; | ||
| 96 | 104 | ||
| 97 | profilerWidget = new ProfilerWidget(this); | 105 | profilerWidget = new ProfilerWidget(this); |
| 98 | addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); | 106 | addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); |
| 99 | profilerWidget->hide(); | 107 | profilerWidget->hide(); |
| 108 | debug_menu->addAction(profilerWidget->toggleViewAction()); | ||
| 100 | 109 | ||
| 101 | #if MICROPROFILE_ENABLED | 110 | #if MICROPROFILE_ENABLED |
| 102 | microProfileDialog = new MicroProfileDialog(this); | 111 | microProfileDialog = new MicroProfileDialog(this); |
| 103 | microProfileDialog->hide(); | 112 | microProfileDialog->hide(); |
| 113 | debug_menu->addAction(microProfileDialog->toggleViewAction()); | ||
| 104 | #endif | 114 | #endif |
| 105 | 115 | ||
| 106 | disasmWidget = new DisassemblerWidget(this, emu_thread.get()); | 116 | disasmWidget = new DisassemblerWidget(this, emu_thread.get()); |
| 107 | addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); | 117 | addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); |
| 108 | disasmWidget->hide(); | 118 | disasmWidget->hide(); |
| 119 | debug_menu->addAction(disasmWidget->toggleViewAction()); | ||
| 120 | connect(this, &GMainWindow::EmulationStarting, disasmWidget, | ||
| 121 | &DisassemblerWidget::OnEmulationStarting); | ||
| 122 | connect(this, &GMainWindow::EmulationStopping, disasmWidget, | ||
| 123 | &DisassemblerWidget::OnEmulationStopping); | ||
| 109 | 124 | ||
| 110 | registersWidget = new RegistersWidget(this); | 125 | registersWidget = new RegistersWidget(this); |
| 111 | addDockWidget(Qt::RightDockWidgetArea, registersWidget); | 126 | addDockWidget(Qt::RightDockWidgetArea, registersWidget); |
| 112 | registersWidget->hide(); | 127 | registersWidget->hide(); |
| 128 | debug_menu->addAction(registersWidget->toggleViewAction()); | ||
| 129 | connect(this, &GMainWindow::EmulationStarting, registersWidget, | ||
| 130 | &RegistersWidget::OnEmulationStarting); | ||
| 131 | connect(this, &GMainWindow::EmulationStopping, registersWidget, | ||
| 132 | &RegistersWidget::OnEmulationStopping); | ||
| 113 | 133 | ||
| 114 | callstackWidget = new CallstackWidget(this); | 134 | callstackWidget = new CallstackWidget(this); |
| 115 | addDockWidget(Qt::RightDockWidgetArea, callstackWidget); | 135 | addDockWidget(Qt::RightDockWidgetArea, callstackWidget); |
| 116 | callstackWidget->hide(); | 136 | callstackWidget->hide(); |
| 137 | debug_menu->addAction(callstackWidget->toggleViewAction()); | ||
| 117 | 138 | ||
| 118 | graphicsWidget = new GPUCommandStreamWidget(this); | 139 | graphicsWidget = new GPUCommandStreamWidget(this); |
| 119 | addDockWidget(Qt::RightDockWidgetArea, graphicsWidget); | 140 | addDockWidget(Qt::RightDockWidgetArea, graphicsWidget); |
| 120 | graphicsWidget->hide(); | 141 | graphicsWidget->hide(); |
| 142 | debug_menu->addAction(graphicsWidget->toggleViewAction()); | ||
| 121 | 143 | ||
| 122 | graphicsCommandsWidget = new GPUCommandListWidget(this); | 144 | graphicsCommandsWidget = new GPUCommandListWidget(this); |
| 123 | addDockWidget(Qt::RightDockWidgetArea, graphicsCommandsWidget); | 145 | addDockWidget(Qt::RightDockWidgetArea, graphicsCommandsWidget); |
| 124 | graphicsCommandsWidget->hide(); | 146 | graphicsCommandsWidget->hide(); |
| 147 | debug_menu->addAction(graphicsCommandsWidget->toggleViewAction()); | ||
| 125 | 148 | ||
| 126 | graphicsBreakpointsWidget = new GraphicsBreakPointsWidget(Pica::g_debug_context, this); | 149 | graphicsBreakpointsWidget = new GraphicsBreakPointsWidget(Pica::g_debug_context, this); |
| 127 | addDockWidget(Qt::RightDockWidgetArea, graphicsBreakpointsWidget); | 150 | addDockWidget(Qt::RightDockWidgetArea, graphicsBreakpointsWidget); |
| 128 | graphicsBreakpointsWidget->hide(); | 151 | graphicsBreakpointsWidget->hide(); |
| 152 | debug_menu->addAction(graphicsBreakpointsWidget->toggleViewAction()); | ||
| 129 | 153 | ||
| 130 | graphicsVertexShaderWidget = new GraphicsVertexShaderWidget(Pica::g_debug_context, this); | 154 | graphicsVertexShaderWidget = new GraphicsVertexShaderWidget(Pica::g_debug_context, this); |
| 131 | addDockWidget(Qt::RightDockWidgetArea, graphicsVertexShaderWidget); | 155 | addDockWidget(Qt::RightDockWidgetArea, graphicsVertexShaderWidget); |
| 132 | graphicsVertexShaderWidget->hide(); | 156 | graphicsVertexShaderWidget->hide(); |
| 157 | debug_menu->addAction(graphicsVertexShaderWidget->toggleViewAction()); | ||
| 133 | 158 | ||
| 134 | graphicsTracingWidget = new GraphicsTracingWidget(Pica::g_debug_context, this); | 159 | graphicsTracingWidget = new GraphicsTracingWidget(Pica::g_debug_context, this); |
| 135 | addDockWidget(Qt::RightDockWidgetArea, graphicsTracingWidget); | 160 | addDockWidget(Qt::RightDockWidgetArea, graphicsTracingWidget); |
| 136 | graphicsTracingWidget->hide(); | 161 | graphicsTracingWidget->hide(); |
| 162 | debug_menu->addAction(graphicsTracingWidget->toggleViewAction()); | ||
| 163 | connect(this, &GMainWindow::EmulationStarting, graphicsTracingWidget, | ||
| 164 | &GraphicsTracingWidget::OnEmulationStarting); | ||
| 165 | connect(this, &GMainWindow::EmulationStopping, graphicsTracingWidget, | ||
| 166 | &GraphicsTracingWidget::OnEmulationStopping); | ||
| 137 | 167 | ||
| 138 | waitTreeWidget = new WaitTreeWidget(this); | 168 | waitTreeWidget = new WaitTreeWidget(this); |
| 139 | addDockWidget(Qt::LeftDockWidgetArea, waitTreeWidget); | 169 | addDockWidget(Qt::LeftDockWidgetArea, waitTreeWidget); |
| 140 | waitTreeWidget->hide(); | 170 | waitTreeWidget->hide(); |
| 141 | } | ||
| 142 | |||
| 143 | void GMainWindow::InitializeDebugMenuActions() { | ||
| 144 | auto graphicsSurfaceViewerAction = new QAction(tr("Create Pica Surface Viewer"), this); | ||
| 145 | connect(graphicsSurfaceViewerAction, SIGNAL(triggered()), this, | ||
| 146 | SLOT(OnCreateGraphicsSurfaceViewer())); | ||
| 147 | |||
| 148 | QMenu* debug_menu = ui.menu_View->addMenu(tr("Debugging")); | ||
| 149 | debug_menu->addAction(graphicsSurfaceViewerAction); | ||
| 150 | debug_menu->addSeparator(); | ||
| 151 | debug_menu->addAction(profilerWidget->toggleViewAction()); | ||
| 152 | #if MICROPROFILE_ENABLED | ||
| 153 | debug_menu->addAction(microProfileDialog->toggleViewAction()); | ||
| 154 | #endif | ||
| 155 | debug_menu->addAction(disasmWidget->toggleViewAction()); | ||
| 156 | debug_menu->addAction(registersWidget->toggleViewAction()); | ||
| 157 | debug_menu->addAction(callstackWidget->toggleViewAction()); | ||
| 158 | debug_menu->addAction(graphicsWidget->toggleViewAction()); | ||
| 159 | debug_menu->addAction(graphicsCommandsWidget->toggleViewAction()); | ||
| 160 | debug_menu->addAction(graphicsBreakpointsWidget->toggleViewAction()); | ||
| 161 | debug_menu->addAction(graphicsVertexShaderWidget->toggleViewAction()); | ||
| 162 | debug_menu->addAction(graphicsTracingWidget->toggleViewAction()); | ||
| 163 | debug_menu->addAction(waitTreeWidget->toggleViewAction()); | 171 | debug_menu->addAction(waitTreeWidget->toggleViewAction()); |
| 172 | connect(this, &GMainWindow::EmulationStarting, waitTreeWidget, | ||
| 173 | &WaitTreeWidget::OnEmulationStarting); | ||
| 174 | connect(this, &GMainWindow::EmulationStopping, waitTreeWidget, | ||
| 175 | &WaitTreeWidget::OnEmulationStopping); | ||
| 164 | } | 176 | } |
| 165 | 177 | ||
| 166 | void GMainWindow::InitializeRecentFileMenuActions() { | 178 | void GMainWindow::InitializeRecentFileMenuActions() { |
| @@ -215,41 +227,40 @@ void GMainWindow::RestoreUIState() { | |||
| 215 | ui.action_Single_Window_Mode->setChecked(UISettings::values.single_window_mode); | 227 | ui.action_Single_Window_Mode->setChecked(UISettings::values.single_window_mode); |
| 216 | ToggleWindowMode(); | 228 | ToggleWindowMode(); |
| 217 | 229 | ||
| 218 | ui.actionDisplay_widget_title_bars->setChecked(UISettings::values.display_titlebar); | 230 | ui.action_Display_Dock_Widget_Headers->setChecked(UISettings::values.display_titlebar); |
| 219 | OnDisplayTitleBars(ui.actionDisplay_widget_title_bars->isChecked()); | 231 | OnDisplayTitleBars(ui.action_Display_Dock_Widget_Headers->isChecked()); |
| 220 | } | 232 | } |
| 221 | 233 | ||
| 222 | void GMainWindow::ConnectWidgetEvents() { | 234 | void GMainWindow::ConnectWidgetEvents() { |
| 223 | connect(game_list, SIGNAL(GameChosen(QString)), this, SLOT(OnGameListLoadFile(QString)), | 235 | connect(game_list, SIGNAL(GameChosen(QString)), this, SLOT(OnGameListLoadFile(QString))); |
| 224 | Qt::DirectConnection); | ||
| 225 | connect(game_list, SIGNAL(OpenSaveFolderRequested(u64)), this, | 236 | connect(game_list, SIGNAL(OpenSaveFolderRequested(u64)), this, |
| 226 | SLOT(OnGameListOpenSaveFolder(u64)), Qt::DirectConnection); | 237 | SLOT(OnGameListOpenSaveFolder(u64))); |
| 227 | connect(ui.action_Configure, SIGNAL(triggered()), this, SLOT(OnConfigure())); | 238 | |
| 228 | connect(ui.action_Load_File, SIGNAL(triggered()), this, SLOT(OnMenuLoadFile()), | ||
| 229 | Qt::DirectConnection); | ||
| 230 | connect(ui.action_Load_Symbol_Map, SIGNAL(triggered()), this, SLOT(OnMenuLoadSymbolMap())); | ||
| 231 | connect(ui.action_Select_Game_List_Root, SIGNAL(triggered()), this, | ||
| 232 | SLOT(OnMenuSelectGameListRoot())); | ||
| 233 | connect(ui.action_Start, SIGNAL(triggered()), this, SLOT(OnStartGame())); | ||
| 234 | connect(ui.action_Pause, SIGNAL(triggered()), this, SLOT(OnPauseGame())); | ||
| 235 | connect(ui.action_Stop, SIGNAL(triggered()), this, SLOT(OnStopGame())); | ||
| 236 | connect(ui.action_Single_Window_Mode, SIGNAL(triggered(bool)), this, SLOT(ToggleWindowMode())); | ||
| 237 | |||
| 238 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), disasmWidget, | ||
| 239 | SLOT(OnEmulationStarting(EmuThread*))); | ||
| 240 | connect(this, SIGNAL(EmulationStopping()), disasmWidget, SLOT(OnEmulationStopping())); | ||
| 241 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), registersWidget, | ||
| 242 | SLOT(OnEmulationStarting(EmuThread*))); | ||
| 243 | connect(this, SIGNAL(EmulationStopping()), registersWidget, SLOT(OnEmulationStopping())); | ||
| 244 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), render_window, | 239 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), render_window, |
| 245 | SLOT(OnEmulationStarting(EmuThread*))); | 240 | SLOT(OnEmulationStarting(EmuThread*))); |
| 246 | connect(this, SIGNAL(EmulationStopping()), render_window, SLOT(OnEmulationStopping())); | 241 | connect(this, SIGNAL(EmulationStopping()), render_window, SLOT(OnEmulationStopping())); |
| 247 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), graphicsTracingWidget, | 242 | } |
| 248 | SLOT(OnEmulationStarting(EmuThread*))); | 243 | |
| 249 | connect(this, SIGNAL(EmulationStopping()), graphicsTracingWidget, SLOT(OnEmulationStopping())); | 244 | void GMainWindow::ConnectMenuEvents() { |
| 250 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), waitTreeWidget, | 245 | // File |
| 251 | SLOT(OnEmulationStarting(EmuThread*))); | 246 | connect(ui.action_Load_File, &QAction::triggered, this, &GMainWindow::OnMenuLoadFile); |
| 252 | connect(this, SIGNAL(EmulationStopping()), waitTreeWidget, SLOT(OnEmulationStopping())); | 247 | connect(ui.action_Load_Symbol_Map, &QAction::triggered, this, |
| 248 | &GMainWindow::OnMenuLoadSymbolMap); | ||
| 249 | connect(ui.action_Select_Game_List_Root, &QAction::triggered, this, | ||
| 250 | &GMainWindow::OnMenuSelectGameListRoot); | ||
| 251 | connect(ui.action_Exit, &QAction::triggered, this, &QMainWindow::close); | ||
| 252 | |||
| 253 | // Emulation | ||
| 254 | connect(ui.action_Start, &QAction::triggered, this, &GMainWindow::OnStartGame); | ||
| 255 | connect(ui.action_Pause, &QAction::triggered, this, &GMainWindow::OnPauseGame); | ||
| 256 | connect(ui.action_Stop, &QAction::triggered, this, &GMainWindow::OnStopGame); | ||
| 257 | connect(ui.action_Configure, &QAction::triggered, this, &GMainWindow::OnConfigure); | ||
| 258 | |||
| 259 | // View | ||
| 260 | connect(ui.action_Single_Window_Mode, &QAction::triggered, this, | ||
| 261 | &GMainWindow::ToggleWindowMode); | ||
| 262 | connect(ui.action_Display_Dock_Widget_Headers, &QAction::triggered, this, | ||
| 263 | &GMainWindow::OnDisplayTitleBars); | ||
| 253 | } | 264 | } |
| 254 | 265 | ||
| 255 | void GMainWindow::OnDisplayTitleBars(bool show) { | 266 | void GMainWindow::OnDisplayTitleBars(bool show) { |
| @@ -612,7 +623,7 @@ void GMainWindow::closeEvent(QCloseEvent* event) { | |||
| 612 | UISettings::values.microprofile_visible = microProfileDialog->isVisible(); | 623 | UISettings::values.microprofile_visible = microProfileDialog->isVisible(); |
| 613 | #endif | 624 | #endif |
| 614 | UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked(); | 625 | UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked(); |
| 615 | UISettings::values.display_titlebar = ui.actionDisplay_widget_title_bars->isChecked(); | 626 | UISettings::values.display_titlebar = ui.action_Display_Dock_Widget_Headers->isChecked(); |
| 616 | UISettings::values.first_start = false; | 627 | UISettings::values.first_start = false; |
| 617 | 628 | ||
| 618 | game_list->SaveInterfaceLayout(); | 629 | game_list->SaveInterfaceLayout(); |