diff --git a/CMakeLists.txt b/CMakeLists.txt index 83f7b6ddf9..b5e443a680 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,10 @@ option(ENCODE_FRAMEDUMPS "Encode framedumps in AVI format" ON) option(FASTLOG "Enable all logs" OFF) option(OPROFILING "Enable profiling" OFF) option(GDBSTUB "Enable gdb stub for remote debugging." OFF) + +if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + option(SKIP_POSTPROCESS_BUNDLE "Skip postprocessing bundle for redistributability" OFF) +endif() ######################################## # Optional Targets # TODO: Add DSPSpy diff --git a/Source/Core/DolphinQt/MainWindow.cpp b/Source/Core/DolphinQt/MainWindow.cpp index 0a1d7fa469..8ad50c2ffa 100644 --- a/Source/Core/DolphinQt/MainWindow.cpp +++ b/Source/Core/DolphinQt/MainWindow.cpp @@ -33,12 +33,25 @@ DMainWindow::DMainWindow(QWidget* parent_widget) #endif Resources::Init(); - UpdateIcons(); setWindowIcon(Resources::GetIcon(Resources::DOLPHIN_LOGO)); + // Connect all the signals/slots connect(this, SIGNAL(CoreStateChanged(Core::EState)), this, SLOT(OnCoreStateChanged(Core::EState))); - emit CoreStateChanged(Core::CORE_UNINITIALIZED); // update GUI items + + connect(m_ui->actionOpen, SIGNAL(triggered()), this, SLOT(OnOpen())); + + connect(m_ui->actionPlay, SIGNAL(triggered()), this, SLOT(OnPlay())); + connect(m_ui->actionStop, SIGNAL(triggered()), this, SLOT(OnStop())); + + connect(m_ui->actionWebsite, SIGNAL(triggered()), this, SLOT(OnOpenWebsite())); + connect(m_ui->actionOnlineDocs, SIGNAL(triggered()), this, SLOT(OnOpenDocs())); + connect(m_ui->actionGitHub, SIGNAL(triggered()), this, SLOT(OnOpenGitHub())); + connect(m_ui->actionSystemInfo, SIGNAL(triggered()), this, SLOT(OnOpenSystemInfo())); + connect(m_ui->actionAbout, SIGNAL(triggered()), this, SLOT(OnOpenAbout())); + + // Update GUI items + emit CoreStateChanged(Core::CORE_UNINITIALIZED); } DMainWindow::~DMainWindow() @@ -121,12 +134,12 @@ void DMainWindow::DoStartPause() m_render_widget->setCursor(Qt::BlankCursor); } -void DMainWindow::on_actOpen_triggered() +void DMainWindow::OnOpen() { StartGame(ShowFileDialog()); } -void DMainWindow::on_actPlay_triggered() +void DMainWindow::OnPlay() { if (Core::GetState() != Core::CORE_UNINITIALIZED) { @@ -141,7 +154,7 @@ void DMainWindow::on_actPlay_triggered() } } -void DMainWindow::on_actStop_triggered() +void DMainWindow::OnStop() { if (Core::GetState() != Core::CORE_UNINITIALIZED && !m_isStopping) { @@ -192,20 +205,20 @@ void DMainWindow::OnCoreStateChanged(Core::EState state) bool is_paused = (state == Core::CORE_PAUSE); // Update the toolbar - m_ui->actPlay->setEnabled(is_not_initialized || is_running || is_paused); + m_ui->actionPlay->setEnabled(is_not_initialized || is_running || is_paused); if (is_running) { - m_ui->actPlay->setIcon(Resources::GetIcon(Resources::TOOLBAR_PAUSE)); - m_ui->actPlay->setText(tr("Pause")); + m_ui->actionPlay->setIcon(Resources::GetIcon(Resources::TOOLBAR_PAUSE)); + m_ui->actionPlay->setText(tr("Pause")); } else if (is_paused || is_not_initialized) { - m_ui->actPlay->setIcon(Resources::GetIcon(Resources::TOOLBAR_PLAY)); - m_ui->actPlay->setText(tr("Play")); + m_ui->actionPlay->setIcon(Resources::GetIcon(Resources::TOOLBAR_PLAY)); + m_ui->actionPlay->setText(tr("Play")); } - m_ui->actStop->setEnabled(!is_not_initialized); - m_ui->actOpen->setEnabled(is_not_initialized); + m_ui->actionStop->setEnabled(!is_not_initialized); + m_ui->actionOpen->setEnabled(is_not_initialized); } // DRenderWidget @@ -239,33 +252,33 @@ bool DMainWindow::RenderWidgetHasFocus() // "Resources". Call this function after changing the icon theme. void DMainWindow::UpdateIcons() { - m_ui->actOpen->setIcon(Resources::GetIcon(Resources::TOOLBAR_OPEN)); - m_ui->actStop->setIcon(Resources::GetIcon(Resources::TOOLBAR_STOP)); + // Play/Pause is handled in OnCoreStateChanged(). + m_ui->actionStop->setIcon(Resources::GetIcon(Resources::TOOLBAR_STOP)); } // Help menu -void DMainWindow::on_actWebsite_triggered() +void DMainWindow::OnOpenWebsite() { QDesktopServices::openUrl(QUrl(SL("https://dolphin-emu.org/"))); } -void DMainWindow::on_actOnlineDocs_triggered() +void DMainWindow::OnOpenDocs() { QDesktopServices::openUrl(QUrl(SL("https://dolphin-emu.org/docs/guides/"))); } -void DMainWindow::on_actGitHub_triggered() +void DMainWindow::OnOpenGitHub() { QDesktopServices::openUrl(QUrl(SL("https://github.com/dolphin-emu/dolphin/"))); } -void DMainWindow::on_actSystemInfo_triggered() +void DMainWindow::OnOpenSystemInfo() { DSystemInfo* dlg = new DSystemInfo(this); dlg->open(); } -void DMainWindow::on_actAbout_triggered() +void DMainWindow::OnOpenAbout() { DAboutDialog* dlg = new DAboutDialog(this); dlg->open(); diff --git a/Source/Core/DolphinQt/MainWindow.h b/Source/Core/DolphinQt/MainWindow.h index d01279ae6f..73817c2f5c 100644 --- a/Source/Core/DolphinQt/MainWindow.h +++ b/Source/Core/DolphinQt/MainWindow.h @@ -39,16 +39,16 @@ private slots: void OnCoreStateChanged(Core::EState state); // Main toolbar - void on_actOpen_triggered(); - void on_actPlay_triggered(); - void on_actStop_triggered(); + void OnOpen(); + void OnPlay(); + void OnStop(); // Help menu - void on_actWebsite_triggered(); - void on_actOnlineDocs_triggered(); - void on_actGitHub_triggered(); - void on_actSystemInfo_triggered(); - void on_actAbout_triggered(); + void OnOpenWebsite(); + void OnOpenDocs(); + void OnOpenGitHub(); + void OnOpenSystemInfo(); + void OnOpenAbout(); // Misc. void UpdateIcons(); diff --git a/Source/Core/DolphinQt/MainWindow.ui b/Source/Core/DolphinQt/MainWindow.ui index 884dad3714..4deb07dbc8 100644 --- a/Source/Core/DolphinQt/MainWindow.ui +++ b/Source/Core/DolphinQt/MainWindow.ui @@ -39,7 +39,7 @@ Fi&le - + @@ -65,12 +65,13 @@ Help - - - + + + - - + + + @@ -96,34 +97,35 @@ false - - - - + + - + &Website - + &Online Documentation - + &Dolphin at GitHub - + &About + + QAction::AboutRole + - + - &Open + &Open... Open file... @@ -132,21 +134,29 @@ Ctrl+O - + &System Information - + Play - + Stop + + + About Qt + + + QAction::AboutQtRole + + diff --git a/Source/Core/DolphinWX/CMakeLists.txt b/Source/Core/DolphinWX/CMakeLists.txt index 6ae5be1752..8340b39a03 100644 --- a/Source/Core/DolphinWX/CMakeLists.txt +++ b/Source/Core/DolphinWX/CMakeLists.txt @@ -1,7 +1,3 @@ -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - option(SKIP_POSTPROCESS_BUNDLE "Skip postprocessing bundle for redistributability" OFF) -endif() - set(LIBS core uicommon ${LZO}