qt: Add Properties menu to game list right-click

This commit is contained in:
Zach Hilman
2018-12-04 13:34:46 -05:00
parent 60e27252a5
commit f6f6503578
9 changed files with 54 additions and 22 deletions

View File

@@ -669,7 +669,7 @@ void Config::SaveValues() {
int i = 0;
for (const auto& elem : Settings::values.disabled_addons) {
qt_config->setArrayIndex(i);
qt_config->setValue("title_id", elem.first);
qt_config->setValue("title_id", QVariant::fromValue<u64>(elem.first));
qt_config->beginWriteArray("disabled");
for (std::size_t j = 0; j < elem.second.size(); ++j) {
qt_config->setArrayIndex(j);

View File

@@ -5,24 +5,27 @@
#include <algorithm>
#include <memory>
#include <utility>
#include <QHeaderView>
#include <QMenu>
#include <QMessageBox>
#include <QStandardItemModel>
#include <QString>
#include <QTimer>
#include <QTreeView>
#include "common/param_package.h"
#include "core/file_sys/control_metadata.h"
#include "core/file_sys/patch_manager.h"
#include "core/file_sys/xts_archive.h"
#include "core/loader/loader.h"
#include "input_common/main.h"
#include "ui_configure_per_general.h"
#include "yuzu/configuration/config.h"
#include "yuzu/configuration/configure_input.h"
#include "yuzu/configuration/configure_per_general.h"
#include "yuzu/ui_settings.h"
#include "yuzu/util/util.h"
ConfigurePerGameGeneral::ConfigurePerGameGeneral(u64 title_id, QWidget* parent)
ConfigurePerGameGeneral::ConfigurePerGameGeneral(QWidget* parent, u64 title_id)
: QDialog(parent), ui(std::make_unique<Ui::ConfigurePerGameGeneral>()), title_id(title_id) {
ui->setupUi(this);
@@ -61,11 +64,13 @@ ConfigurePerGameGeneral::ConfigurePerGameGeneral(u64 title_id, QWidget* parent)
ui->icon_view->setScene(scene);
connect(item_model, &QStandardItemModel::itemChanged,
[&]() { UISettings::values.is_game_list_reload_pending.exchange(true); });
[] { UISettings::values.is_game_list_reload_pending.exchange(true); });
this->loadConfiguration();
}
ConfigurePerGameGeneral::~ConfigurePerGameGeneral() = default;
void ConfigurePerGameGeneral::applyConfiguration() {
std::vector<std::string> disabled_addons;
@@ -107,7 +112,7 @@ void ConfigurePerGameGeneral::loadConfiguration() {
if (loader->ReadDeveloper(developer) == Loader::ResultStatus::Success)
ui->display_developer->setText(QString::fromStdString(developer));
ui->display_version->setText("1.0.0");
ui->display_version->setText(QStringLiteral("1.0.0"));
}
if (control.second != nullptr) {
@@ -160,7 +165,6 @@ void ConfigurePerGameGeneral::loadConfiguration() {
ui->display_format->setText(
QString::fromStdString(Loader::GetFileTypeString(loader->GetFileType())));
QLocale locale = this->locale();
QString valueText = locale.formattedDataSize(file->GetSize());
const auto valueText = ReadableByteSize(file->GetSize());
ui->display_size->setText(valueText);
}

View File

@@ -4,21 +4,14 @@
#pragma once
#include <array>
#include <functional>
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
#include <QKeyEvent>
#include <QList>
#include <QWidget>
#include <boost/optional.hpp>
#include "common/param_package.h"
#include "core/file_sys/vfs.h"
#include "core/settings.h"
#include "input_common/main.h"
#include "ui_configure_per_general.h"
#include "yuzu/configuration/config.h"
#include "core/file_sys/vfs_types.h"
class QTreeView;
class QGraphicsScene;
@@ -33,7 +26,8 @@ class ConfigurePerGameGeneral : public QDialog {
Q_OBJECT
public:
explicit ConfigurePerGameGeneral(u64 title_id, QWidget* parent = nullptr);
explicit ConfigurePerGameGeneral(QWidget* parent, u64 title_id);
~ConfigurePerGameGeneral() override;
/// Save all button configurations to settings file
void applyConfiguration();