summaryrefslogtreecommitdiff
path: root/rbutil
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2010-06-06 18:02:08 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2010-06-06 18:02:08 +0000
commit56fea4f74d815dea21486848227d59b08719afdb (patch)
treef52f35c39fb5ca0392eb82a19720f38fa7c2f340 /rbutil
parentb2998ef6c7627be0b9cec4acada381eb78779895 (diff)
downloadrockbox-56fea4f74d815dea21486848227d59b08719afdb.tar.gz
rockbox-56fea4f74d815dea21486848227d59b08719afdb.zip
Distinguish between release and current build when installing voice files.
Check the installed Rockbox and install release voice file if a release is found. Fixes wrong voice file getting installed for releases, which especially showed up with the recent lang file cleanup. This is likely to be the cause for FS#11362. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26637 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/rbutilqt/base/systeminfo.cpp1
-rw-r--r--rbutil/rbutilqt/base/systeminfo.h1
-rw-r--r--rbutil/rbutilqt/rbutil.ini6
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp47
4 files changed, 43 insertions, 12 deletions
diff --git a/rbutil/rbutilqt/base/systeminfo.cpp b/rbutil/rbutilqt/base/systeminfo.cpp
index 7c3114a591..98d865f814 100644
--- a/rbutil/rbutilqt/base/systeminfo.cpp
+++ b/rbutil/rbutilqt/base/systeminfo.cpp
@@ -39,6 +39,7 @@ const static struct {
39 { SystemInfo::BootloaderInfoUrl, "bootloader_info_url", "" }, 39 { SystemInfo::BootloaderInfoUrl, "bootloader_info_url", "" },
40 { SystemInfo::FontUrl, "font_url", "" }, 40 { SystemInfo::FontUrl, "font_url", "" },
41 { SystemInfo::VoiceUrl, "voice_url", "" }, 41 { SystemInfo::VoiceUrl, "voice_url", "" },
42 { SystemInfo::ReleaseVoiceUrl, "release_voice_url", "" },
42 { SystemInfo::DoomUrl, "doom_url", "" }, 43 { SystemInfo::DoomUrl, "doom_url", "" },
43 { SystemInfo::ReleaseUrl, "release_url", "" }, 44 { SystemInfo::ReleaseUrl, "release_url", "" },
44 { SystemInfo::DailyUrl, "daily_url", "" }, 45 { SystemInfo::DailyUrl, "daily_url", "" },
diff --git a/rbutil/rbutilqt/base/systeminfo.h b/rbutil/rbutilqt/base/systeminfo.h
index f79f34d5be..78fd881d22 100644
--- a/rbutil/rbutilqt/base/systeminfo.h
+++ b/rbutil/rbutilqt/base/systeminfo.h
@@ -45,6 +45,7 @@ class SystemInfo : public QObject
45 VoiceUrl, 45 VoiceUrl,
46 DoomUrl, 46 DoomUrl,
47 ReleaseUrl, 47 ReleaseUrl,
48 ReleaseVoiceUrl,
48 DailyUrl, 49 DailyUrl,
49 ServerConfUrl, 50 ServerConfUrl,
50 GenlangUrl, 51 GenlangUrl,
diff --git a/rbutil/rbutilqt/rbutil.ini b/rbutil/rbutilqt/rbutil.ini
index 9e9c872fdd..1f0d97db5c 100644
--- a/rbutil/rbutilqt/rbutil.ini
+++ b/rbutil/rbutilqt/rbutil.ini
@@ -1,18 +1,20 @@
1[general] 1[general]
2; release downloads
2release_url=http://download.rockbox.org/release/%RELVERSION%/rockbox-%MODEL%-%RELVERSION%.zip 3release_url=http://download.rockbox.org/release/%RELVERSION%/rockbox-%MODEL%-%RELVERSION%.zip
4release_voice_url=http://download.rockbox.org/release/%RELVERSION%/%MODEL%-%RELVERSION%-english.zip
5
3daily_url=http://download.rockbox.org/daily/%MODEL%/rockbox-%MODEL%.zip 6daily_url=http://download.rockbox.org/daily/%MODEL%/rockbox-%MODEL%.zip
4bleeding_url=http://build.rockbox.org/data/rockbox-%MODEL%.zip 7bleeding_url=http://build.rockbox.org/data/rockbox-%MODEL%.zip
5server_conf_url=http://download.rockbox.org/daily/build-info 8server_conf_url=http://download.rockbox.org/daily/build-info
6bootloader_info_url=http://download.rockbox.org/bootloader/bootloaders-info 9bootloader_info_url=http://download.rockbox.org/bootloader/bootloaders-info
7bleeding_info=http://build.rockbox.org/cvsmod/build-info 10bleeding_info=http://build.rockbox.org/cvsmod/build-info
8font_url=http://download.rockbox.org/daily/fonts/rockbox-fonts.zip 11font_url=http://download.rockbox.org/daily/fonts/rockbox-fonts.zip
9prog_name=rockbox
10bootloader_url=http://download.rockbox.org/bootloader 12bootloader_url=http://download.rockbox.org/bootloader
11themes_url=http://themes.rockbox.org/ 13themes_url=http://themes.rockbox.org/
12themes_info_url=http://themes.rockbox.org/rbutilqt.php?target=%TARGET%&release=%RELEASE%&revision=%REVISION%&rbutilver=%RBUTILVER% 14themes_info_url=http://themes.rockbox.org/rbutilqt.php?target=%TARGET%&release=%RELEASE%&revision=%REVISION%&rbutilver=%RBUTILVER%
13manual_url=http://download.rockbox.org/daily/manual 15manual_url=http://download.rockbox.org/daily/manual
14doom_url=http://download.rockbox.org/useful/rockdoom.zip 16doom_url=http://download.rockbox.org/useful/rockdoom.zip
15voice_url=http://download.rockbox.org/daily/voices/ 17voice_url=http://download.rockbox.org/daily/voices/%MODEL%-%DATE%-english.zip
16genlang_url=http://www.rockbox.org/genlang/ 18genlang_url=http://www.rockbox.org/genlang/
17rbutil_url=http://download.rockbox.org/rbutil/ 19rbutil_url=http://download.rockbox.org/rbutil/
18 20
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index 66e41944f1..0cf1cbab93 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -847,26 +847,53 @@ void RbUtilQt::installVoice()
847 return; 847 return;
848 } 848 }
849 849
850 QString mountpoint = RbSettings::value(RbSettings::Mountpoint).toString();
851 RockboxInfo installInfo(mountpoint);
852
853 QString voiceurl;
854 QString logversion;
855 QString relversion = installInfo.release();
856 // if no version is found abort.
857 if(installInfo.revision().isEmpty() && relversion.isEmpty()) {
858 QMessageBox::critical(this, tr("No Rockbox installation found"),
859 tr("Could not determine the installed Rockbox version. "
860 "Please install a Rockbox build before installing "
861 "voice files."));
862 return;
863 }
864 if(relversion.isEmpty()) {
865 // release is empty for non-release versions (i.e. daily / current)
866 voiceurl = SystemInfo::value(SystemInfo::VoiceUrl).toString();
867 logversion = installInfo.revision();
868 }
869 else {
870 voiceurl = SystemInfo::value(SystemInfo::ReleaseVoiceUrl).toString();
871 logversion = installInfo.release();
872 }
850 if(QMessageBox::question(this, tr("Confirm Installation"), 873 if(QMessageBox::question(this, tr("Confirm Installation"),
851 tr("Do you really want to install the voice file?"), 874 tr("Do you really want to install the voice file?"),
852 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; 875 QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes)
876 return;
877
878 QDate date = QDate::fromString(ServerInfo::value(ServerInfo::DailyDate).toString(),Qt::ISODate);
879 QString model = SystemInfo::value(SystemInfo::CurBuildserverModel).toString();
880 // replace placeholder in voice url
881 voiceurl.replace("%DATE%", date.toString("yyyyMMdd"));
882 voiceurl.replace("%MODEL%", model);
883 voiceurl.replace("%RELVERSION%", relversion);
884
885 qDebug() << "[RbUtil] voicefile URL:" << voiceurl;
886
853 // create logger 887 // create logger
854 logger = new ProgressLoggerGui(this); 888 logger = new ProgressLoggerGui(this);
855 logger->show(); 889 logger->show();
856
857 // create zip installer 890 // create zip installer
858 installer = new ZipInstaller(this); 891 installer = new ZipInstaller(this);
859 892
860 QString voiceurl = SystemInfo::value(SystemInfo::VoiceUrl).toString();
861 QDate date = QDate::fromString(ServerInfo::value(ServerInfo::DailyDate).toString(),Qt::ISODate);
862 voiceurl += SystemInfo::value(SystemInfo::CurBuildserverModel).toString() + "-" +
863 date.toString("yyyyMMdd") + "-english.zip";
864 qDebug() << "[RbUtil] voicefile URL:" << voiceurl;
865
866 installer->setUrl(voiceurl); 893 installer->setUrl(voiceurl);
867 installer->setLogSection("Voice"); 894 installer->setLogSection("Voice");
868 installer->setLogVersion(ServerInfo::value(ServerInfo::DailyDate).toString()); 895 installer->setLogVersion(logversion);
869 installer->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString()); 896 installer->setMountPoint(mountpoint);
870 if(!RbSettings::value(RbSettings::CacheDisabled).toBool()) 897 if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
871 installer->setCache(true); 898 installer->setCache(true);
872 connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int))); 899 connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int)));