summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-06-18 23:16:17 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-06-18 23:18:32 +0200
commit4f4e1d1f0ea3dd23dc2571716a5959ca4fe3273a (patch)
treefab150784747872e0afa20faa499b47e55c9fdf1
parentbeb61a93c58a2f97bc3f297ffdf3026b846fccca (diff)
downloadrockbox-4f4e1d1f0ea3dd23dc2571716a5959ca4fe3273a.zip
rockbox-4f4e1d1f0ea3dd23dc2571716a5959ca4fe3273a.tar.gz
rockbox-4f4e1d1f0ea3dd23dc2571716a5959ca4fe3273a.tar.bz2
rockbox-4f4e1d1f0ea3dd23dc2571716a5959ca4fe3273a.tar.xz
Move constructing manual URL to ServerInfo class.
Change-Id: I4d2605b2389b4378e8311fc82057974e0eb238e6
-rw-r--r--rbutil/rbutilqt/base/serverinfo.cpp29
-rw-r--r--rbutil/rbutilqt/base/serverinfo.h3
-rw-r--r--rbutil/rbutilqt/gui/manualwidget.cpp48
-rw-r--r--rbutil/rbutilqt/gui/manualwidget.h7
-rw-r--r--rbutil/rbutilqt/installwindowfrm.ui2
5 files changed, 39 insertions, 50 deletions
diff --git a/rbutil/rbutilqt/base/serverinfo.cpp b/rbutil/rbutilqt/base/serverinfo.cpp
index fd46f13..8d91309 100644
--- a/rbutil/rbutilqt/base/serverinfo.cpp
+++ b/rbutil/rbutilqt/base/serverinfo.cpp
@@ -35,6 +35,9 @@ const static struct {
{ ServerInfo::RelCandidateVersion, ":platform:/rcversion", "" },
{ ServerInfo::RelCandidateUrl, ":platform:/rcurl", "" },
{ ServerInfo::CurStatus, ":platform:/status", "Unknown" },
+ { ServerInfo::ManualPdfUrl, ":platform:/manual_pdf", "" },
+ { ServerInfo::ManualHtmlUrl, ":platform:/manual_html", "" },
+ { ServerInfo::ManualZipUrl, ":platform:/manual_zip", "" },
{ ServerInfo::BleedingRevision, "bleedingrev", "" },
{ ServerInfo::BleedingDate, "bleedingdate", "" },
{ ServerInfo::CurDevelUrl, ":platform:/develurl", "" },
@@ -126,6 +129,28 @@ void ServerInfo::readBuildInfo(QString file)
break;
}
info.endGroup();
+
+ // manual URLs
+ QString manualPdfUrl = manualBaseUrl;
+ QString manualHtmlUrl = manualBaseUrl;
+ QString manualZipUrl = manualBaseUrl;
+
+ QString buildservermodel = SystemInfo::platformValue(platforms.at(i),
+ SystemInfo::CurBuildserverModel).toString();
+ QString modelman = SystemInfo::platformValue(platforms.at(i),
+ SystemInfo::CurManual).toString();
+ QString manualBaseName = "rockbox-";
+
+ if(modelman.isEmpty()) manualBaseName += buildservermodel;
+ else manualBaseName += modelman;
+
+ manualPdfUrl.replace("%EXTENSION%", "pdf");
+ manualPdfUrl.replace("%MANUALBASENAME%", manualBaseName);
+ manualHtmlUrl.replace("%EXTENSION%", "html");
+ manualHtmlUrl.replace("%MANUALBASENAME%", manualBaseName + "/rockbox-build");
+ manualZipUrl.replace("%EXTENSION%", "zip");
+ manualZipUrl.replace("%MANUALBASENAME%", manualBaseName + "-html");
+
// set variants (if any)
for(int j = 0; j < variants.size(); ++j) {
setPlatformValue(variants.at(j), ServerInfo::CurStatus, status);
@@ -138,6 +163,10 @@ void ServerInfo::readBuildInfo(QString file)
setPlatformValue(variants.at(j), ServerInfo::RelCandidateUrl, relCandidateUrl);
}
setPlatformValue(variants.at(j), ServerInfo::CurDevelUrl, develUrl);
+
+ setPlatformValue(variants.at(j), ServerInfo::ManualPdfUrl, manualPdfUrl);
+ setPlatformValue(variants.at(j), ServerInfo::ManualHtmlUrl, manualHtmlUrl);
+ setPlatformValue(variants.at(j), ServerInfo::ManualZipUrl, manualZipUrl);
}
}
}
diff --git a/rbutil/rbutilqt/base/serverinfo.h b/rbutil/rbutilqt/base/serverinfo.h
index ea68fd7..94b2818 100644
--- a/rbutil/rbutilqt/base/serverinfo.h
+++ b/rbutil/rbutilqt/base/serverinfo.h
@@ -34,6 +34,9 @@ class ServerInfo : public QObject
CurStatus,
CurReleaseUrl,
CurDevelUrl,
+ ManualPdfUrl,
+ ManualHtmlUrl,
+ ManualZipUrl,
BleedingRevision,
BleedingDate,
RelCandidateVersion,
diff --git a/rbutil/rbutilqt/gui/manualwidget.cpp b/rbutil/rbutilqt/gui/manualwidget.cpp
index 7be9145..4dac771 100644
--- a/rbutil/rbutilqt/gui/manualwidget.cpp
+++ b/rbutil/rbutilqt/gui/manualwidget.cpp
@@ -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");
}
diff --git a/rbutil/rbutilqt/gui/manualwidget.h b/rbutil/rbutilqt/gui/manualwidget.h
index 6de2de5..4548391 100644
--- a/rbutil/rbutilqt/gui/manualwidget.h
+++ b/rbutil/rbutilqt/gui/manualwidget.h
@@ -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
diff --git a/rbutil/rbutilqt/installwindowfrm.ui b/rbutil/rbutilqt/installwindowfrm.ui
index a069082..80bdc63 100644
--- a/rbutil/rbutilqt/installwindowfrm.ui
+++ b/rbutil/rbutilqt/installwindowfrm.ui
@@ -10,7 +10,7 @@
<x>0</x>
<y>0</y>
<width>644</width>
- <height>500</height>
+ <height>448</height>
</rect>
</property>
<property name="windowTitle" >