Move constructing manual URL to ServerInfo class.

Change-Id: I4d2605b2389b4378e8311fc82057974e0eb238e6
This commit is contained in:
Dominik Riebeling 2012-06-18 23:16:17 +02:00
parent beb61a93c5
commit 4f4e1d1f0e
5 changed files with 39 additions and 50 deletions

View file

@ -28,57 +28,19 @@ ManualWidget::ManualWidget(QWidget *parent) : QWidget(parent)
{
ui.setupUi(this);
ui.radioPdf->setChecked(true);
platform = RbSettings::value(RbSettings::Platform).toString();
connect(ui.buttonDownloadManual, SIGNAL(clicked()), this, SLOT(downloadManual()));
}
QString ManualWidget::manualUrl(ManualFormat format)
{
if(RbSettings::value(RbSettings::Platform).toString().isEmpty()) {
return QString();
}
QString buildservermodel = SystemInfo::value(SystemInfo::CurBuildserverModel).toString();
QString modelman = SystemInfo::value(SystemInfo::CurManual).toString();
QString manualbasename;
if(modelman.isEmpty()) {
manualbasename = "rockbox-" + buildservermodel;
}
else {
manualbasename = "rockbox-" + modelman;
}
QString manual = SystemInfo::value(SystemInfo::ManualUrl).toString();
switch(format) {
case ManualPdf:
manual.replace("%EXTENSION%", "pdf");
break;
case ManualHtml:
manual.replace("%EXTENSION%", "html");
manualbasename += "/rockbox-build";
break;
case ManualZip:
manual.replace("%EXTENSION%", "zip");
manualbasename += "-html";
break;
default:
break;
};
manual.replace("%MANUALBASENAME%", manualbasename);
return manual;
}
void ManualWidget::updateManual()
{
if(!RbSettings::value(RbSettings::Platform).toString().isEmpty())
{
ui.labelPdfManual->setText(tr("<a href='%1'>PDF Manual</a>")
.arg(manualUrl(ManualPdf)));
.arg(ServerInfo::platformValue(platform, ServerInfo::ManualPdfUrl).toString()));
ui.labelHtmlManual->setText(tr("<a href='%1'>HTML Manual (opens in browser)</a>")
.arg(manualUrl(ManualHtml)));
.arg(ServerInfo::platformValue(platform, ServerInfo::ManualHtmlUrl).toString()));
}
else {
ui.labelPdfManual->setText(tr("Select a device for a link to the correct manual"));
@ -114,12 +76,12 @@ void ManualWidget::downloadManual(void)
installer->setCache(true);
if(ui.radioPdf->isChecked()) {
manualurl = manualUrl(ManualPdf);
manualurl = ServerInfo::platformValue(platform, ServerInfo::ManualPdfUrl).toString();
installer->setLogSection("Manual (PDF)");
installer->setTarget("/" + manual + ".pdf");
}
else {
manualurl = manualUrl(ManualZip);
manualurl = ServerInfo::platformValue(platform, ServerInfo::ManualZipUrl).toString();
installer->setLogSection("Manual (HTML)");
installer->setTarget("/" + manual + "-" + "-html.zip");
}

View file

@ -26,20 +26,15 @@ class ManualWidget : public QWidget
{
Q_OBJECT
public:
enum ManualFormat {
ManualPdf,
ManualHtml,
ManualZip,
};
ManualWidget(QWidget *parent = 0);
public slots:
void downloadManual(void);
void updateManual();
QString manualUrl(ManualFormat format);
private:
Ui::ManualWidgetFrm ui;
QString platform;
};
#endif