From 2ba4f98eef1e739fe2491fb664d5ac0a518ea1c0 Mon Sep 17 00:00:00 2001 From: Dmugetsu Date: Sun, 9 Mar 2025 17:40:46 -0600 Subject: [PATCH] Changing the implementation to tooltips for hover over them - qstring to detect background color. --- src/qt_gui/main_window.cpp | 76 ++++++++++++++------------------------ 1 file changed, 27 insertions(+), 49 deletions(-) diff --git a/src/qt_gui/main_window.cpp b/src/qt_gui/main_window.cpp index 7010af681..caed3c3c5 100644 --- a/src/qt_gui/main_window.cpp +++ b/src/qt_gui/main_window.cpp @@ -134,61 +134,39 @@ void MainWindow::CreateActions() { void MainWindow::AddUiWidgets() { // add toolbar widgets + QApplication::setStyle("Fusion"); ui->toolBar->setObjectName("mw_toolbar"); - QWidget* toolbarContainer = new QWidget(this); - QHBoxLayout* mainLayout = new QHBoxLayout(toolbarContainer); - mainLayout->setContentsMargins(5, 5, 5, 5); - mainLayout->setSpacing(15); + // Detect background color + QColor bgColor = palette().color(QPalette::Window); + QString textColor = (bgColor.lightness() > 128) ? "#000" : "#fff"; - auto createButtonWithLabel = [&](QPushButton* button, const QString& labelText) { - QWidget* container = new QWidget(this); - QVBoxLayout* layout = new QVBoxLayout(container); - layout->setAlignment(Qt::AlignCenter); - layout->setContentsMargins(0, 0, 0, 0); + ui->playButton->setToolTip( + QString("Play").arg(textColor)); + ui->pauseButton->setToolTip( + QString("Pause").arg(textColor)); + ui->stopButton->setToolTip( + QString("Stop").arg(textColor)); + ui->settingsButton->setToolTip( + QString("Config").arg(textColor)); + ui->controllerButton->setToolTip( + QString("Pads").arg(textColor)); + ui->keyboardButton->setToolTip( + QString("KBM").arg(textColor)); + ui->refreshButton->setToolTip( + QString("RefreshList").arg(textColor)); - QLabel* label = new QLabel(labelText, this); - label->setAlignment(Qt::AlignCenter); + ui->toolBar->addWidget(ui->playButton); + ui->toolBar->addWidget(ui->pauseButton); + ui->toolBar->addWidget(ui->stopButton); + ui->toolBar->addWidget(ui->settingsButton); + ui->toolBar->addWidget(ui->controllerButton); + ui->toolBar->addWidget(ui->keyboardButton); + ui->toolBar->addWidget(ui->refreshButton); - layout->addWidget(button); - layout->addWidget(label); - container->setLayout(layout); - - return container; - }; - - QWidget* buttonGroup = new QWidget(this); - QHBoxLayout* buttonLayout = new QHBoxLayout(buttonGroup); - buttonLayout->setContentsMargins(0, 0, 0, 0); - buttonLayout->setSpacing(15); - - buttonLayout->addWidget(createButtonWithLabel(ui->playButton, "Play")); - buttonLayout->addWidget(createButtonWithLabel(ui->pauseButton, "Pause")); - buttonLayout->addWidget(createButtonWithLabel(ui->stopButton, "Stop")); - buttonLayout->addWidget(createButtonWithLabel(ui->settingsButton, "Config")); - buttonLayout->addWidget(createButtonWithLabel(ui->controllerButton, "Pads")); - buttonLayout->addWidget(createButtonWithLabel(ui->keyboardButton, "KBM")); - buttonLayout->addWidget(createButtonWithLabel(ui->refreshButton, "Rfrsh")); - - buttonGroup->setLayout(buttonLayout); - - 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); - - mainLayout->addWidget(buttonGroup); - mainLayout->addWidget(searchSliderContainer); - - toolbarContainer->setLayout(mainLayout); - - ui->toolBar->addWidget(toolbarContainer); + ui->toolBar->addWidget(ui->sizeSliderContainer); + ui->toolBar->addWidget(ui->mw_searchbar); } void MainWindow::CreateDockWindows() {