From 2ac9b39d3c01b60c37e96a44910b133ed91ed980 Mon Sep 17 00:00:00 2001 From: Dmugetsu Date: Thu, 13 Mar 2025 03:30:08 -0600 Subject: [PATCH] Buttons toggle - Cleaning code - Fixing Icons --- src/common/config.cpp | 2 +- src/images/pause_icon.png | Bin 965 -> 1972 bytes src/images/play_icon.png | Bin 1150 -> 2875 bytes src/images/stop_icon.png | Bin 658 -> 1601 bytes src/qt_gui/main_window.cpp | 136 +++++++++++++++++++++++-------------- src/qt_gui/main_window.h | 4 ++ 6 files changed, 91 insertions(+), 51 deletions(-) diff --git a/src/common/config.cpp b/src/common/config.cpp index 5c6cc944c..09236f30c 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -436,7 +436,7 @@ void setVblankDiv(u32 value) { void setIsFullscreen(bool enable) { isFullscreen = enable; } -void setShowLabelsUnderIcons(bool enable) { +static void setShowLabelsUnderIcons(bool enable) { showLabelsUnderIcons = enable; } diff --git a/src/images/pause_icon.png b/src/images/pause_icon.png index 5375689b7880bb46d843eca0f8494e66bee69f19..86bbc6acbd15eecfa96376cfe90511a7be46387d 100644 GIT binary patch literal 1972 zcmdT_i!arfy{iVAzJ9Gbo`tMNHA#@h>IfA7M$xv8To!iOS+ z!uBEnXs6+WaHM18#mo5Cow10st?dRo|D_QOsqwN!1e@q@-_j~Y7?#6qD};vME15Pv z(U|W@K^UBosebu>(?`bl49=V?w=HGt;NW_cMJ+i6_crQ@-wqeGY$TqDRFw)lCtBX~ zR-ZQ$3+PYG-}J4~cs!d7sm0td?I($U?R3sshp$b6G-u9=L8@n!P(%_Efm0xNq)8;9 z_0IAofiHTs*LrT1*0mYCWnVZ`yvE;**s2@xP!YWk?bvKgN$F=d;Injx$1aq9I4gy6}J(8 z`xSOLdBty+xCTAIoUyF!u!C>d9+=0XtmEBHmFI_5va!dr5~Ou&QD2$PHv`eNZ-Y~p zpN+C9f?{8XLsHZBT~8;tC?AD1r2R^D?pK5*=7aeIIO>5Q7sbptUeEq1)1hT7& z=Vs?@I3x*M(H%G^piVk5>zdC|P&cw)C4EsE;hq;k+1?pcTcp(MKJvibGsk#UOi4-K z<5}xToD55I8~B|(bm{%^S8!R|@%G9Ho#*cHCSP)cUnTK8UJ$aHkOz|`>}6d|re9jK zMM;A2deITR(nQqlwk9vWK8pZVq+hk_W$q7fsgpfFy_C^7vLGT?wQrv3EKgWB}q zfZe=4&c!kRNcK7U>s#y}VkWuEW<_-h!n)rTamnb7&fiPE_8Qew&AfBatE@0%^-l#x z$)mZ)MYJbzKF!p7;f#zO+C`?YSiiwI0=K7O27$sz}M(aUznWS^rI^g z_$#AppVG~K)b8S3u~YeH^giqUpj<>3 z@$5z$_g&Pal_hb%gx)0zYj}B8#V*#ISWIN`u0X|af*hF-1^vOkz<)vOBa7kLV`-Jf zIYBrpeCZ0u^A}AnJsbB%F$Vi;n;H)FJF`0SPUe&J`V_vJnN#7N3mzG>Fx4&w%N2_u z3t1Z!hnG&X(_-8tdIPFh_oppJMZ`)yl=h5kC@36hV1_DuB4cMs^0gSyz2;jiiY2W?XKr*L~&n`rOg yq4X_mcVRF$pQf;`3y&P1L&}yT-L$My4=tU-d1msLTBv`w>9f#KDkjb=i$8av~#YX{;OV|SJ{5L_TAEltb!0QbM7;y zxd$W{u}{pdTEZO}P* z=XB%hfAdnG|Kpj%CUzky_kag0|CjGy1vAzczRNw3!CSna!R(UK>%aW#0xy4Eyi7cG zy8Z5TJMDkOUs>|(>X&mFe;&`>wCK>zaK`yUXKd&EDt_wH)SmU@by{ojeJ_jehC)@r z1}9hyICxAdZ5fVnpPS7zEzF?!o9n~ygSE&0>YP1iYjIY*DO_dK)`Skl`K=M%jn%Br zZkAFq2JMXPm#^KX2PV@1u2pis@n4=i3V-r0m>{- zIU2ml$!l8Uq|^sf)>L?fd7Lx~*u*nulBoYlF3m_bpiJW z`Re&gZ|-bg7FqdaQcIsWPte!W#fNrQ3!kf;YA{&@cD64BQY zxBmzo-6i+Rdc)?nowu{&bS$6Qzlcs^{;;L3y^22vnA~Llv4?-Xqg=?&+KN6{`R67{1=U l`|swmAL-)I{E#;Lew559d%-E~fxvvp;OXk;vd$@?2>?c3y|VxS diff --git a/src/images/play_icon.png b/src/images/play_icon.png index 2815be39d8594b213fad22e68c7e8ac16872d639..d50d404b79bc4b5f5e7122e2f30cb5663ad3c4ad 100644 GIT binary patch delta 2848 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 mi{;toggleLabelsAct->isChecked(); Config::setShowLabelsUnderIcons(); UpdateToolbarLabels(); + if (isGameRunning) { + UpdateToolbarButtons(); + } } void MainWindow::toggleFullscreen() { SDL_Event event; SDL_memset(&event, 0, sizeof(event)); event.type = SDL_EVENT_TOGGLE_FULLSCREEN; - SDL_PushEvent(&event); } +QWidget* MainWindow::createButtonWithLabel(QPushButton* button, const QString& labelText, + bool showLabel) { + QWidget* container = new QWidget(this); + QVBoxLayout* layout = new QVBoxLayout(container); + layout->setAlignment(Qt::AlignCenter | Qt::AlignBottom); + layout->setContentsMargins(0, 0, 0, 0); + layout->addWidget(button); + + QLabel* label = nullptr; + if (showLabel && ui->toggleLabelsAct->isChecked()) { + label = new QLabel(labelText, this); + label->setAlignment(Qt::AlignCenter | Qt::AlignBottom); + layout->addWidget(label); + button->setToolTip(""); + } else { + button->setToolTip(labelText); + } + + container->setLayout(layout); + container->setProperty("buttonLabel", QVariant::fromValue(label)); + return container; +} + void MainWindow::AddUiWidgets() { // add toolbar widgets QApplication::setStyle("Fusion"); - ui->toolBar->setObjectName("mw_toolbar"); - ui->toolBar->clear(); QWidget* toolbarContainer = new QWidget(this); QHBoxLayout* mainLayout = new QHBoxLayout(toolbarContainer); - mainLayout->setContentsMargins(5, 5, 5, 5); - mainLayout->setSpacing(15); - + mainLayout->setSpacing(2); bool showLabels = ui->toggleLabelsAct->isChecked(); - QPalette palette = qApp->palette(); - - auto createButtonWithLabel = [&](QPushButton* button, const QString& labelText) { - QWidget* container = new QWidget(this); - QVBoxLayout* layout = new QVBoxLayout(container); - layout->setAlignment(Qt::AlignHCenter | Qt::AlignBottom); - layout->setContentsMargins(0, 0, 0, 0); - layout->addWidget(button); - - if (showLabels) { - QLabel* label = new QLabel(labelText, this); - label->setAlignment(Qt::AlignCenter | Qt::AlignBottom); - layout->addWidget(label); - button->setToolTip(""); - } else { - button->setToolTip(labelText); - } - - container->setLayout(layout); - return container; - }; - - auto createLine = [this]() { - QFrame* line = new QFrame(this); - line->setFrameShape(QFrame::VLine); - line->setFrameShadow(QFrame::Sunken); - line->setFixedWidth(2); - return line; - }; QWidget* buttonGroup = new QWidget(this); QHBoxLayout* buttonLayout = new QHBoxLayout(buttonGroup); - buttonLayout->setContentsMargins(0, 0, 0, 0); - buttonLayout->setSpacing(15); + buttonLayout->setSpacing(2); - buttonLayout->addWidget(createButtonWithLabel(ui->playButton, tr("Play"))); - buttonLayout->addWidget(createButtonWithLabel(ui->pauseButton, tr("Pause"))); - buttonLayout->addWidget(createButtonWithLabel(ui->stopButton, tr("Stop"))); - buttonLayout->addWidget(createButtonWithLabel(ui->settingsButton, tr("Settings"))); - buttonLayout->addWidget(createButtonWithLabel(ui->fullscreenButton, tr("Full Screen"))); - buttonLayout->addWidget(createButtonWithLabel(ui->controllerButton, tr("Controllers"))); - buttonLayout->addWidget(createButtonWithLabel(ui->keyboardButton, tr("Keyboard"))); - buttonLayout->addWidget(createButtonWithLabel(ui->refreshButton, tr("Refresh List"))); + buttonLayout->addWidget(createButtonWithLabel(ui->playButton, tr("Play"), showLabels)); + buttonLayout->addWidget(createButtonWithLabel(ui->pauseButton, tr("Pause"), false)); + buttonLayout->addWidget(createButtonWithLabel(ui->stopButton, tr("Stop"), showLabels)); + buttonLayout->addWidget(createButtonWithLabel(ui->settingsButton, tr("Settings"), showLabels)); + buttonLayout->addWidget( + createButtonWithLabel(ui->fullscreenButton, tr("Full Screen"), showLabels)); + buttonLayout->addWidget( + createButtonWithLabel(ui->controllerButton, tr("Controllers"), showLabels)); + buttonLayout->addWidget(createButtonWithLabel(ui->keyboardButton, tr("Keyboard"), showLabels)); + buttonLayout->addWidget( + createButtonWithLabel(ui->refreshButton, tr("Refresh List"), showLabels)); QWidget* searchSliderContainer = new QWidget(this); QHBoxLayout* searchSliderLayout = new QHBoxLayout(searchSliderContainer); - searchSliderLayout->setContentsMargins(0, 0, 0, 0); - searchSliderLayout->setSpacing(10); - searchSliderLayout->addWidget(ui->sizeSliderContainer); searchSliderLayout->addWidget(ui->mw_searchbar); searchSliderContainer->setLayout(searchSliderLayout); buttonLayout->addWidget(searchSliderContainer); - mainLayout->addWidget(buttonGroup); - toolbarContainer->setLayout(mainLayout); ui->toolBar->addWidget(toolbarContainer); + + ui->playButton->setVisible(true); + ui->pauseButton->setVisible(false); } void MainWindow::UpdateToolbarLabels() { AddUiWidgets(); } +void MainWindow::UpdateToolbarButtons() { + // add toolbar widgets for when game is running + bool showLabels = ui->toggleLabelsAct->isChecked(); + + ui->toolBar->clear(); + + QWidget* toolbarContainer = new QWidget(this); + QHBoxLayout* mainLayout = new QHBoxLayout(toolbarContainer); + mainLayout->setSpacing(2); + + QWidget* buttonGroup = new QWidget(this); + QHBoxLayout* buttonLayout = new QHBoxLayout(buttonGroup); + buttonLayout->setSpacing(2); + + ui->playButton->setVisible(false); + ui->pauseButton->setVisible(true); + + buttonLayout->addWidget(createButtonWithLabel(ui->playButton, tr("Play"), false)); + buttonLayout->addWidget(createButtonWithLabel(ui->pauseButton, tr("Pause"), showLabels)); + buttonLayout->addWidget(createButtonWithLabel(ui->stopButton, tr("Stop"), showLabels)); + buttonLayout->addWidget(createButtonWithLabel(ui->settingsButton, tr("Settings"), showLabels)); + buttonLayout->addWidget( + createButtonWithLabel(ui->fullscreenButton, tr("Full Screen"), showLabels)); + buttonLayout->addWidget( + createButtonWithLabel(ui->controllerButton, tr("Controllers"), showLabels)); + buttonLayout->addWidget(createButtonWithLabel(ui->keyboardButton, tr("Keyboard"), showLabels)); + buttonLayout->addWidget( + createButtonWithLabel(ui->refreshButton, tr("Refresh List"), showLabels)); + + QWidget* searchSliderContainer = new QWidget(this); + QHBoxLayout* searchSliderLayout = new QHBoxLayout(searchSliderContainer); + searchSliderLayout->addWidget(ui->sizeSliderContainer); + searchSliderLayout->addWidget(ui->mw_searchbar); + searchSliderContainer->setLayout(searchSliderLayout); + + buttonLayout->addWidget(searchSliderContainer); + mainLayout->addWidget(buttonGroup); + toolbarContainer->setLayout(mainLayout); + + ui->toolBar->addWidget(toolbarContainer); +} + void MainWindow::CreateDockWindows() { // place holder widget is needed for good health they say :) QWidget* phCentralWidget = new QWidget(this); @@ -827,6 +861,8 @@ void MainWindow::StartGame() { return; } StartEmulator(path); + + UpdateToolbarButtons(); } } diff --git a/src/qt_gui/main_window.h b/src/qt_gui/main_window.h index 9022b88c6..254f3be06 100644 --- a/src/qt_gui/main_window.h +++ b/src/qt_gui/main_window.h @@ -5,6 +5,7 @@ #include #include +#include #include #include "background_music_player.h" @@ -39,6 +40,7 @@ public: void InstallDirectory(); void StartGame(); void PauseGame(); + bool showLabels; private Q_SLOTS: void ConfigureGuiFromSettings(); @@ -54,6 +56,8 @@ private: Ui_MainWindow* ui; void AddUiWidgets(); void UpdateToolbarLabels(); + void UpdateToolbarButtons(); + QWidget* createButtonWithLabel(QPushButton* button, const QString& labelText, bool showLabel); void CreateActions(); void toggleFullscreen(); void CreateRecentGameActions();