@@ -96,7 +96,14 @@ void MainWindow::initUI() {
9696 // ---------------------------------------------------------
9797 QWidget* sidebarWidget = new QWidget ();
9898 sidebarWidget->setFixedWidth (200 );
99- sidebarWidget->setStyleSheet (" background-color: rgba(20, 20, 30, 0.95); border-right: 1px solid rgba(255, 255, 255, 0.1);" );
99+ // Use a semi-transparent background with a blur effect if possible,
100+ // or just the same glass background color as buttons but slightly different
101+ QString sidebarStyle = QString (
102+ " background-color: %1;"
103+ " border-right: 1px solid %2;"
104+ ).arg (Colors::GLASS_BG).arg (Colors::GLASS_BORDER); // Use GLASS_BG for consistent look
105+
106+ sidebarWidget->setStyleSheet (sidebarStyle);
100107
101108 QVBoxLayout* sidebarLayout = new QVBoxLayout (sidebarWidget);
102109 sidebarLayout->setContentsMargins (15 , 25 , 15 , 25 );
@@ -993,20 +1000,34 @@ void MainWindow::switchMode(AppMode mode) {
9931000void MainWindow::populateFixList () {
9941001 m_statusLabel->setText (" Listing available fixes..." );
9951002 cancelNameFetches ();
1003+ m_pendingNameFetchIds.clear ();
9961004
9971005 QJsonArray fixGames;
9981006 for (const auto & game : m_supportedGames) {
9991007 if (game.hasFix ) {
10001008 QJsonObject item;
10011009 item[" id" ] = game.id ;
1002- item[" name" ] = game.name ;
1010+
1011+ // If name is missing or is just the ID, fetch it
1012+ if (game.name .isEmpty () || game.name == game.id || game.name == " Unknown Game" ) {
1013+ item[" name" ] = " Loading..." ;
1014+ m_pendingNameFetchIds.append (game.id );
1015+ } else {
1016+ item[" name" ] = game.name ;
1017+ }
1018+
10031019 item[" supported_local" ] = true ;
10041020 fixGames.append (item);
10051021 }
10061022 }
10071023
10081024 displayResults (fixGames);
10091025
1026+ // Trigger fetch for unknown names
1027+ if (!m_pendingNameFetchIds.isEmpty ()) {
1028+ startBatchNameFetch ();
1029+ }
1030+
10101031 if (m_resultsList->count () > 0 ) {
10111032 m_statusLabel->setText (QString (" Found %1 available fixes" ).arg (m_resultsList->count ()));
10121033 } else {
@@ -1026,6 +1047,8 @@ void MainWindow::updateModeUI() {
10261047 } else {
10271048 m_tabLua->setActive (false );
10281049 m_tabFix->setActive (true );
1050+ // We might want to refresh the list here if it's empty,
1051+ // but switchMode already calls populateFixList
10291052 m_stack->setCurrentIndex (1 );
10301053 }
10311054}
0 commit comments