qt: Add service dialog
This commit is contained in:
parent
5d86c52a3a
commit
e55d086cc9
|
@ -364,18 +364,17 @@ void SynchronizeInternal(DirectoryGetter dir_getter, TitleIDVersion title,
|
|||
|
||||
bool Boxcat::Synchronize(TitleIDVersion title, ProgressServiceBackend& progress) {
|
||||
is_syncing.exchange(true);
|
||||
std::thread([this, title, &progress] {
|
||||
SynchronizeInternal(dir_getter, title, progress);
|
||||
}).detach();
|
||||
std::thread([this, title, &progress] { SynchronizeInternal(dir_getter, title, progress); })
|
||||
.detach();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Boxcat::SynchronizeDirectory(TitleIDVersion title, std::string name,
|
||||
ProgressServiceBackend& progress) {
|
||||
is_syncing.exchange(true);
|
||||
std::thread([this, title, name, &progress] {
|
||||
SynchronizeInternal(dir_getter, title, progress, name);
|
||||
}).detach();
|
||||
std::thread(
|
||||
[this, title, name, &progress] { SynchronizeInternal(dir_getter, title, progress, name); })
|
||||
.detach();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -68,6 +68,7 @@ add_executable(yuzu
|
|||
configuration/configure_profile_manager.ui
|
||||
configuration/configure_service.cpp
|
||||
configuration/configure_service.h
|
||||
configuration/configure_service.ui
|
||||
configuration/configure_system.cpp
|
||||
configuration/configure_system.h
|
||||
configuration/configure_system.ui
|
||||
|
|
|
@ -75,7 +75,8 @@ Q_DECLARE_METATYPE(QList<QWidget*>);
|
|||
void ConfigureDialog::PopulateSelectionList() {
|
||||
const std::array<std::pair<QString, QList<QWidget*>>, 4> items{
|
||||
{{tr("General"), {ui->generalTab, ui->webTab, ui->debugTab, ui->gameListTab}},
|
||||
{tr("System"), {ui->systemTab, ui->profileManagerTab, ui->filesystemTab, ui->audioTab}},
|
||||
{tr("System"),
|
||||
{ui->systemTab, ui->profileManagerTab, ui->serviceTab, ui->filesystemTab, ui->audioTab}},
|
||||
{tr("Graphics"), {ui->graphicsTab}},
|
||||
{tr("Controls"), {ui->inputTab, ui->hotkeysTab}}},
|
||||
};
|
||||
|
@ -109,6 +110,7 @@ void ConfigureDialog::UpdateVisibleTabs() {
|
|||
{ui->webTab, tr("Web")},
|
||||
{ui->gameListTab, tr("Game List")},
|
||||
{ui->filesystemTab, tr("Filesystem")},
|
||||
{ui->serviceTab, tr("Services")},
|
||||
};
|
||||
|
||||
[[maybe_unused]] const QSignalBlocker blocker(ui->tabWidget);
|
||||
|
|
|
@ -20,7 +20,7 @@ QString FormatEventStatusString(const Service::BCAT::EventStatus& status) {
|
|||
if (status.events.size() == 1) {
|
||||
out += QStringLiteral("%1<br>").arg(QString::fromStdString(status.events.front()));
|
||||
} else {
|
||||
for (const auto event : status.events) {
|
||||
for (const auto& event : status.events) {
|
||||
out += QStringLiteral("- %1<br>").arg(QString::fromStdString(event));
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ QString FormatEventStatusString(const Service::BCAT::EventStatus& status) {
|
|||
} // Anonymous namespace
|
||||
|
||||
ConfigureService::ConfigureService(QWidget* parent)
|
||||
: QWidget(parent), ui(std::make_unique<Ui::ConfigureService>()), watcher(this) {
|
||||
: QWidget(parent), ui(std::make_unique<Ui::ConfigureService>()) {
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->bcat_source->addItem(QStringLiteral("None"));
|
||||
|
@ -62,7 +62,8 @@ void ConfigureService::RetranslateUi() {
|
|||
}
|
||||
|
||||
void ConfigureService::SetConfiguration() {
|
||||
int index = ui->bcat_source->findData(QString::fromStdString(Settings::values.bcat_backend));
|
||||
const int index =
|
||||
ui->bcat_source->findData(QString::fromStdString(Settings::values.bcat_backend));
|
||||
ui->bcat_source->setCurrentIndex(index == -1 ? 0 : index);
|
||||
}
|
||||
|
||||
|
@ -73,14 +74,14 @@ std::pair<QString, QString> ConfigureService::BCATDownloadEvents() {
|
|||
|
||||
switch (res) {
|
||||
case Service::BCAT::Boxcat::StatusResult::Offline:
|
||||
return {QStringLiteral(""),
|
||||
return {QString{},
|
||||
tr("The boxcat service is offline or you are not connected to the internet.")};
|
||||
case Service::BCAT::Boxcat::StatusResult::ParseError:
|
||||
return {QStringLiteral(""),
|
||||
return {QString{},
|
||||
tr("There was an error while processing the boxcat event data. Contact the yuzu "
|
||||
"developers.")};
|
||||
case Service::BCAT::Boxcat::StatusResult::BadClientVersion:
|
||||
return {QStringLiteral(""),
|
||||
return {QString{},
|
||||
tr("The version of yuzu you are using is either too new or too old for the server. "
|
||||
"Try updating to the latest official release of yuzu.")};
|
||||
}
|
||||
|
@ -98,11 +99,11 @@ std::pair<QString, QString> ConfigureService::BCATDownloadEvents() {
|
|||
|
||||
for (const auto& [key, value] : map) {
|
||||
out += QStringLiteral("%1<b>%2</b><br>%3")
|
||||
.arg(out.isEmpty() ? QStringLiteral("") : QStringLiteral("<br>"))
|
||||
.arg(out.isEmpty() ? QString{} : QStringLiteral("<br>"))
|
||||
.arg(QString::fromStdString(key))
|
||||
.arg(FormatEventStatusString(value));
|
||||
}
|
||||
return {QStringLiteral("Current Boxcat Events"), out};
|
||||
return {QStringLiteral("Current Boxcat Events"), std::move(out)};
|
||||
}
|
||||
|
||||
void ConfigureService::OnBCATImplChanged() {
|
||||
|
@ -110,7 +111,7 @@ void ConfigureService::OnBCATImplChanged() {
|
|||
const auto boxcat = ui->bcat_source->currentText() == QStringLiteral("Boxcat");
|
||||
ui->bcat_empty_header->setHidden(!boxcat);
|
||||
ui->bcat_empty_label->setHidden(!boxcat);
|
||||
ui->bcat_empty_header->setText(QStringLiteral(""));
|
||||
ui->bcat_empty_header->setText(QString{});
|
||||
ui->bcat_empty_label->setText(tr("Yuzu is retrieving the latest boxcat status..."));
|
||||
|
||||
if (!boxcat)
|
||||
|
|
|
@ -30,5 +30,5 @@ private:
|
|||
void OnUpdateBCATEmptyLabel(std::pair<QString, QString> string);
|
||||
|
||||
std::unique_ptr<Ui::ConfigureService> ui;
|
||||
QFutureWatcher<std::pair<QString, QString>> watcher;
|
||||
QFutureWatcher<std::pair<QString, QString>> watcher{this};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue