Transmit installed build revision and release version to theme site.

To allow the theme site handling different versions of the theme syntax
transmit the revision number and release number (whatever applies) to the
server. A later update to the theme site can then return a theme list with
themes compatible, and include the correct download links.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26625 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Riebeling 2010-06-06 12:56:27 +00:00
parent 4320310fec
commit 32a2b3e3fa
2 changed files with 18 additions and 1 deletions

View file

@ -9,7 +9,7 @@ font_url=http://download.rockbox.org/daily/fonts/rockbox-fonts.zip
prog_name=rockbox prog_name=rockbox
bootloader_url=http://download.rockbox.org/bootloader bootloader_url=http://download.rockbox.org/bootloader
themes_url=http://themes.rockbox.org/ themes_url=http://themes.rockbox.org/
themes_info_url=http://themes.rockbox.org/rbutilqt.php?target=%TARGET% themes_info_url=http://themes.rockbox.org/rbutilqt.php?target=%TARGET%&release=%RELEASE%&revision=%REVISION%&rbutilver=%RBUTILVER%
manual_url=http://download.rockbox.org/daily/manual manual_url=http://download.rockbox.org/daily/manual
doom_url=http://download.rockbox.org/useful/rockdoom.zip doom_url=http://download.rockbox.org/useful/rockdoom.zip
voice_url=http://download.rockbox.org/daily/voices/ voice_url=http://download.rockbox.org/daily/voices/

View file

@ -26,6 +26,8 @@
#include "utils.h" #include "utils.h"
#include "rbsettings.h" #include "rbsettings.h"
#include "systeminfo.h" #include "systeminfo.h"
#include "rockboxinfo.h"
#include "version.h"
ThemesInstallWindow::ThemesInstallWindow(QWidget *parent) : QDialog(parent) ThemesInstallWindow::ThemesInstallWindow(QWidget *parent) : QDialog(parent)
{ {
@ -58,6 +60,18 @@ void ThemesInstallWindow::downloadInfo()
{ {
// try to get the current build information // try to get the current build information
getter = new HttpGet(this); getter = new HttpGet(this);
RockboxInfo installInfo
= RockboxInfo(RbSettings::value(RbSettings::Mountpoint).toString());
QString revision;
QString release;
// installInfo.version() holds either the revision (as r<revision>-<date>)
// or the release version number.
if(installInfo.version().startsWith("r")) {
revision = installInfo.version().remove("r").replace(QRegExp("-.+$"), "");
}
else {
release = installInfo.version();
}
themesInfo.open(); themesInfo.open();
qDebug() << "[Themes] downloading info to" << themesInfo.fileName(); qDebug() << "[Themes] downloading info to" << themesInfo.fileName();
@ -66,6 +80,9 @@ void ThemesInstallWindow::downloadInfo()
QString infoUrl = SystemInfo::value(SystemInfo::ThemesInfoUrl).toString(); QString infoUrl = SystemInfo::value(SystemInfo::ThemesInfoUrl).toString();
infoUrl.replace("%TARGET%", infoUrl.replace("%TARGET%",
SystemInfo::value(SystemInfo::CurConfigureModel).toString()); SystemInfo::value(SystemInfo::CurConfigureModel).toString());
infoUrl.replace("%REVISION%", revision);
infoUrl.replace("%RELEASE%", release);
infoUrl.replace("%RBUTILVER%", VERSION);
QUrl url = QUrl(infoUrl); QUrl url = QUrl(infoUrl);
qDebug() << "[Themes] Info URL:" << url << "Query:" << url.queryItems(); qDebug() << "[Themes] Info URL:" << url << "Query:" << url.queryItems();
if(RbSettings::value(RbSettings::CacheOffline).toBool()) if(RbSettings::value(RbSettings::CacheOffline).toBool())