From 4c4fbcfb2e440c8d903e890dadd57ef29aea66e8 Mon Sep 17 00:00:00 2001 From: Maschell Date: Wed, 19 Feb 2020 20:39:43 +0100 Subject: [PATCH] - Add missing images for opening the settings and swap the screens. - Add basic screen swapping --- data/images/layoutSwitchButton.png | Bin 0 -> 7463 bytes data/images/settingsButton.png | Bin 0 -> 10880 bytes data/sounds/settings_click_2.mp3 | Bin 0 -> 6687 bytes src/menu/MainDrcButtonsFrame.h | 10 ----- src/menu/MainWindow.cpp | 67 ++++++++++++++++++++++++++++- src/menu/MainWindow.h | 4 ++ 6 files changed, 70 insertions(+), 11 deletions(-) create mode 100644 data/images/layoutSwitchButton.png create mode 100644 data/images/settingsButton.png create mode 100644 data/sounds/settings_click_2.mp3 diff --git a/data/images/layoutSwitchButton.png b/data/images/layoutSwitchButton.png new file mode 100644 index 0000000000000000000000000000000000000000..838a8c68daaa48b2b02085fe7f726a059d3f49e5 GIT binary patch literal 7463 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 literal 0 HcmV?d00001 diff --git a/data/images/settingsButton.png b/data/images/settingsButton.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a7c69797fc23ca1700ec7f48ccb31eaa37bfd6 GIT binary patch literal 10880 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 A6aWAK literal 0 HcmV?d00001 diff --git a/src/menu/MainDrcButtonsFrame.h b/src/menu/MainDrcButtonsFrame.h index 684af2b..5cf5b17 100644 --- a/src/menu/MainDrcButtonsFrame.h +++ b/src/menu/MainDrcButtonsFrame.h @@ -61,12 +61,6 @@ public: switchLayoutButton.setEffectGrow(); switchLayoutButton.clicked.connect(this, &MainDrcButtonsFrame::OnLayoutSwithClick); append(&switchLayoutButton); - - gameImageDownloadButton.setClickable(true); - gameImageDownloadButton.setSoundClick(buttonClickSound); - gameImageDownloadButton.setTrigger(&plusTrigger); - gameImageDownloadButton.clicked.connect(this, &MainDrcButtonsFrame::OnGameImageDownloadButtonClicked); - append(&gameImageDownloadButton); } virtual ~MainDrcButtonsFrame() { @@ -78,7 +72,6 @@ public: sigslot::signal1 settingsButtonClicked; sigslot::signal1 layoutSwitchClicked; - sigslot::signal1 gameImageDownloadClicked; private: void OnSettingsButtonClick(GuiButton *button, const GuiController *controller, GuiTrigger *) { settingsButtonClicked(this); @@ -86,9 +79,6 @@ private: void OnLayoutSwithClick(GuiButton *button, const GuiController *controller, GuiTrigger *) { layoutSwitchClicked(this); } - void OnGameImageDownloadButtonClicked(GuiButton *button, const GuiController *controller, GuiTrigger *) { - gameImageDownloadClicked(this); - } GuiSound *buttonClickSound; GuiSound *screenSwitchSound; diff --git a/src/menu/MainWindow.cpp b/src/menu/MainWindow.cpp index 22cf3d3..1815a69 100644 --- a/src/menu/MainWindow.cpp +++ b/src/menu/MainWindow.cpp @@ -181,7 +181,10 @@ void MainWindow::SetupMainView() { currentTvFrame->effectFinished.connect(this, &MainWindow::OnOpenEffectFinish); appendTv(currentTvFrame); - currentDrcFrame = currentTvFrame; + currentDrcFrame = new GuiIconGrid(width, height,0); + currentDrcFrame->setEffect(EFFECT_FADE, 10, 255); + currentDrcFrame->setState(GuiElement::STATE_DISABLED); + currentDrcFrame->effectFinished.connect(this, &MainWindow::OnOpenEffectFinish); if(currentTvFrame != currentDrcFrame) { @@ -206,6 +209,8 @@ void MainWindow::SetupMainView() { currentDrcFrame->gameLaunchClicked.connect(this, &MainWindow::OnGameLaunch); mainSwitchButtonFrame = new MainDrcButtonsFrame(width, height); + mainSwitchButtonFrame->settingsButtonClicked.connect(this, &MainWindow::OnSettingsButtonClicked); + mainSwitchButtonFrame->layoutSwitchClicked.connect(this, &MainWindow::OnLayoutSwitchClicked); mainSwitchButtonFrame->setState(GuiElement::STATE_DISABLED); mainSwitchButtonFrame->setEffect(EFFECT_FADE, 10, 255); mainSwitchButtonFrame->setState(GuiElement::STATE_DISABLED); @@ -215,6 +220,62 @@ void MainWindow::SetupMainView() { append(mainSwitchButtonFrame); } +void MainWindow::OnLayoutSwitchClicked(GuiElement *element) { + if(!currentTvFrame || !currentDrcFrame || !mainSwitchButtonFrame) { + return; + } + + if(currentTvFrame == currentDrcFrame) { + return; + } + + currentTvFrame->setState(GuiElement::STATE_DISABLED); + currentTvFrame->setEffect(EFFECT_FADE, -15, 0); + currentTvFrame->effectFinished.connect(this, &MainWindow::OnLayoutSwitchEffectFinish); + + currentDrcFrame->setState(GuiElement::STATE_DISABLED); + currentDrcFrame->setEffect(EFFECT_FADE, -15, 0); + + mainSwitchButtonFrame->setState(GuiElement::STATE_DISABLED); +} + +void MainWindow::OnLayoutSwitchEffectFinish(GuiElement *element) { + if(!currentTvFrame || !currentDrcFrame || !mainSwitchButtonFrame) + return; + + element->effectFinished.disconnect(this); + remove(currentDrcFrame); + remove(currentTvFrame); + + GuiTitleBrowser *tmpElement = currentDrcFrame; + currentDrcFrame = currentTvFrame; + currentTvFrame = tmpElement; + + appendTv(currentTvFrame); + appendDrc(currentDrcFrame); + //! re-append on top + append(mainSwitchButtonFrame); + + currentTvFrame->resetState(); + currentTvFrame->setEffect(EFFECT_FADE, 15, 255); + + currentDrcFrame->resetState(); + currentDrcFrame->setEffect(EFFECT_FADE, 15, 255); + + mainSwitchButtonFrame->clearState(GuiElement::STATE_DISABLED); + + //! reconnect only to DRC game selection change + currentTvFrame->gameSelectionChanged.disconnect(this); + currentDrcFrame->gameSelectionChanged.disconnect(this); + currentTvFrame->gameLaunchClicked.disconnect(this); + currentDrcFrame->gameLaunchClicked.disconnect(this); + + currentTvFrame->gameSelectionChanged.connect(this, &MainWindow::OnGameSelectionChange); + currentTvFrame->gameLaunchClicked.connect(this, &MainWindow::OnGameLaunch); + currentDrcFrame->gameSelectionChanged.connect(this, &MainWindow::OnGameSelectionChange); + currentDrcFrame->gameLaunchClicked.connect(this, &MainWindow::OnGameLaunch); +} + void MainWindow::OnOpenEffectFinish(GuiElement *element) { //! once the menu is open reset its state and allow it to be "clicked/hold" element->effectFinished.disconnect(this); @@ -227,6 +288,10 @@ void MainWindow::OnCloseEffectFinish(GuiElement *element) { AsyncExecutor::pushForDelete(element); } +void MainWindow::OnSettingsButtonClicked(GuiElement *element){ + +} + void MainWindow::OnGameSelectionChange(GuiTitleBrowser *element, int32_t selectedIdx) { if(!currentDrcFrame || !currentTvFrame) return; diff --git a/src/menu/MainWindow.h b/src/menu/MainWindow.h index f0a6f25..5bb2f9a 100644 --- a/src/menu/MainWindow.h +++ b/src/menu/MainWindow.h @@ -119,6 +119,10 @@ private: void OnGameLaunch(GuiTitleBrowser *element, int32_t gameIdx); void OnGameSelectionChange(GuiTitleBrowser *element, int32_t selectedIdx); + void OnSettingsButtonClicked(GuiElement *element); + void OnLayoutSwitchClicked(GuiElement *element); + void OnLayoutSwitchEffectFinish(GuiElement *element); + int32_t width, height; std::vector drcElements; std::vector tvElements;