Show warning that 3ds files are no longer supported

This commit is contained in:
PabloMK7
2025-03-21 17:42:37 +01:00
committed by OpenSauce
parent 84e2f31415
commit 1259401889
6 changed files with 83 additions and 3 deletions

View File

@@ -828,6 +828,7 @@ void QtConfig::ReadUIGameListValues() {
ReadBasicSetting(UISettings::values.game_list_row_2);
ReadBasicSetting(UISettings::values.game_list_hide_no_icon);
ReadBasicSetting(UISettings::values.game_list_single_line_mode);
ReadBasicSetting(UISettings::values.show_3ds_files_warning);
ReadBasicSetting(UISettings::values.show_compat_column);
ReadBasicSetting(UISettings::values.show_region_column);
@@ -1335,6 +1336,7 @@ void QtConfig::SaveUIGameListValues() {
WriteBasicSetting(UISettings::values.game_list_row_2);
WriteBasicSetting(UISettings::values.game_list_hide_no_icon);
WriteBasicSetting(UISettings::values.game_list_single_line_mode);
WriteBasicSetting(UISettings::values.show_3ds_files_warning);
WriteBasicSetting(UISettings::values.show_compat_column);
WriteBasicSetting(UISettings::values.show_region_column);

View File

@@ -1,4 +1,4 @@
// Copyright 2015 Citra Emulator Project
// Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
@@ -350,6 +350,41 @@ GameList::GameList(PlayTime::PlayTimeManager& play_time_manager_, GMainWindow* p
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(0);
if (UISettings::values.show_3ds_files_warning.GetValue()) {
warning_layout = new QHBoxLayout;
deprecated_3ds_warning = new QLabel;
deprecated_3ds_warning->setText(
tr("IMPORTANT: Encrypted files and .3ds files are no longer supported. Decrypting "
"and/or renaming to .cci may be necessary. <a "
"href=\"https://azahar-emu.org/blog/game-loading-changes/\">Learn more.</a>"));
deprecated_3ds_warning->setOpenExternalLinks(true);
deprecated_3ds_warning->setStyleSheet(
QString::fromStdString("color: black; font-weight: bold;"));
warning_hide = new QPushButton(tr("Don't show again"));
warning_hide->setStyleSheet(
QString::fromStdString("color: blue; text-decoration: underline;"));
warning_hide->setFlat(true);
warning_hide->setCursor(Qt::PointingHandCursor);
connect(warning_hide, &QPushButton::clicked, [this]() {
warning_widget->setVisible(false);
UISettings::values.show_3ds_files_warning.SetValue(false);
});
warning_layout->addWidget(deprecated_3ds_warning);
warning_layout->addStretch();
warning_layout->addWidget(warning_hide);
warning_layout->setContentsMargins(3, 3, 3, 3);
warning_widget = new QWidget;
warning_widget->setStyleSheet(QString::fromStdString("background-color: khaki;"));
warning_widget->setLayout(warning_layout);
layout->addWidget(warning_widget);
}
layout->addWidget(tree_view);
layout->addWidget(search_field);
setLayout(layout);

View File

@@ -1,10 +1,11 @@
// Copyright 2015 Citra Emulator Project
// Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include <QMenu>
#include <QPushButton>
#include <QString>
#include <QVector>
#include <QWidget>
@@ -133,6 +134,10 @@ private:
void changeEvent(QEvent*) override;
void RetranslateUI();
QHBoxLayout* warning_layout = nullptr;
QWidget* warning_widget = nullptr;
QLabel* deprecated_3ds_warning = nullptr;
QPushButton* warning_hide = nullptr;
GameListSearchField* search_field;
GMainWindow* main_window = nullptr;
QVBoxLayout* layout = nullptr;

View File

@@ -94,6 +94,7 @@ struct Values {
Settings::Setting<GameListText> game_list_row_2{GameListText::FileName, "row2"};
Settings::Setting<bool> game_list_hide_no_icon{false, "hideNoIcon"};
Settings::Setting<bool> game_list_single_line_mode{false, "singleLineMode"};
Settings::Setting<bool> show_3ds_files_warning{true, "show_3ds_files_warning"};
// Compatibility List
Settings::Setting<bool> show_compat_column{true, "show_compat_column"};