From b064a6cbb58a0db1a70fbac2e82242ce0c7509b1 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sat, 28 Nov 2020 20:47:28 +0100 Subject: rbutil: Rework and merge player and build server info handling. Handling the data for players from rbutil.ini and the build-info data from the server is closely related. Splitting things up into different classes only creates tightly coupling, which is unnecessary, and the need to differentiate between them in the application. Merge both classes into a single one and rework handling so the application doesn't have to deal with two separate classes anymore. Furthermore, change URL templates to use new values from build-info instead of hard coding them. Change-Id: Ica550973ce23d1559110782add52bc214eba552d --- rbutil/rbutilqt/configure.cpp | 54 ++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 24 deletions(-) (limited to 'rbutil/rbutilqt/configure.cpp') diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp index b34379641e..6b784a6383 100644 --- a/rbutil/rbutilqt/configure.cpp +++ b/rbutil/rbutilqt/configure.cpp @@ -33,8 +33,8 @@ #include "system.h" #include "encttscfggui.h" #include "rbsettings.h" -#include "serverinfo.h" #include "systeminfo.h" +#include "playerbuildinfo.h" #include "utils.h" #include "comboboxviewdelegate.h" #if defined(Q_OS_WIN32) @@ -355,8 +355,8 @@ void Config::setDevices() QMultiMap manuf; for(int it = 0; it < platformList.size(); it++) { - QString curbrand = SystemInfo::platformValue( - SystemInfo::Brand, platformList.at(it)).toString(); + QString curbrand = PlayerBuildInfo::instance()->value( + PlayerBuildInfo::Brand, platformList.at(it)).toString(); manuf.insert(curbrand, platformList.at(it)); } @@ -384,9 +384,10 @@ void Config::setDevices() if(!manuf.values(brands.at(c)).contains(platformList.at(it))) continue; // construct display name - QString curname = SystemInfo::platformValue( - SystemInfo::Name, platformList.at(it)).toString() - + " (" + ServerInfo::instance()->statusAsString(platformList.at(it)) + ")"; + QString curname = QString("%1 (%2)").arg( + PlayerBuildInfo::instance()->value(PlayerBuildInfo::DisplayName, + platformList.at(it)).toString(), + PlayerBuildInfo::instance()->statusAsString(platformList.at(it))); LOG_INFO() << "add supported device:" << brands.at(c) << curname; w2 = new QTreeWidgetItem(w, QStringList(curname)); w2->setData(0, Qt::UserRole, platformList.at(it)); @@ -470,10 +471,10 @@ void Config::updateEncState() return; QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); - QString encoder = SystemInfo::platformValue( - SystemInfo::Encoder, devname).toString(); - ui.encoderName->setText(EncoderBase::getEncoderName(SystemInfo::platformValue( - SystemInfo::Encoder, devname).toString())); + QString encoder = PlayerBuildInfo::instance()->value( + PlayerBuildInfo::Encoder, devname).toString(); + ui.encoderName->setText(EncoderBase::getEncoderName( + PlayerBuildInfo::instance()->value(PlayerBuildInfo::Encoder, devname).toString())); EncoderBase* enc = EncoderBase::getEncoder(this,encoder); @@ -741,8 +742,9 @@ void Config::autodetect() mp = tr("(unknown)"); } msg += QString("
  • %1
  • ").arg(tr("%1 at %2").arg( - SystemInfo::platformValue( - SystemInfo::Name, detected.at(i).device).toString(), + PlayerBuildInfo::instance()->value( + PlayerBuildInfo::DisplayName, + detected.at(i).device).toString(), QDir::toNativeSeparators(mp))); } msg += ""; @@ -767,22 +769,25 @@ void Config::autodetect() case Autodetection::PlayerIncompatible: msg += tr("Detected an unsupported player:\n%1\n" "Sorry, Rockbox doesn't run on your player.") - .arg(SystemInfo::platformValue( - SystemInfo::Name, detected.at(0).device).toString()); + .arg(PlayerBuildInfo::instance()->value( + PlayerBuildInfo::DisplayName, + detected.at(0).device).toString()); break; case Autodetection::PlayerMtpMode: msg = tr("%1 in MTP mode found!\n" "You need to change your player to MSC mode for installation. ") - .arg(SystemInfo::platformValue( - SystemInfo::Name, detected.at(0).device).toString()); + .arg(PlayerBuildInfo::instance()->value( + PlayerBuildInfo::DisplayName, + detected.at(0).device).toString()); break; case Autodetection::PlayerWrongFilesystem: - if(SystemInfo::platformValue( - SystemInfo::BootloaderMethod, detected.at(0).device) == "ipod") { + if(PlayerBuildInfo::instance()->value( + PlayerBuildInfo::BootloaderMethod, detected.at(0).device) == "ipod") { msg = tr("%1 \"MacPod\" found!\n" "Rockbox needs a FAT formatted Ipod (so-called \"WinPod\") " - "to run. ").arg(SystemInfo::platformValue( - SystemInfo::Name, detected.at(0).device).toString()); + "to run. ").arg(PlayerBuildInfo::instance()->value( + PlayerBuildInfo::DisplayName, + detected.at(0).device).toString()); } else { msg = tr("The player contains an incompatible filesystem.\n" @@ -961,10 +966,11 @@ void Config::configEnc() return; QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); - QString encoder = SystemInfo::platformValue( - SystemInfo::Encoder, devname).toString(); - ui.encoderName->setText(EncoderBase::getEncoderName(SystemInfo::platformValue( - SystemInfo::Encoder, devname).toString())); + QString encoder = PlayerBuildInfo::instance()->value( + PlayerBuildInfo::Encoder, devname).toString(); + ui.encoderName->setText( + EncoderBase::getEncoderName(PlayerBuildInfo::instance()->value( + PlayerBuildInfo::Encoder, devname).toString())); EncoderBase* enc = EncoderBase::getEncoder(this,encoder); -- cgit v1.2.3