diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2010-06-06 18:02:08 +0000 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2010-06-06 18:02:08 +0000 |
commit | 56fea4f74d815dea21486848227d59b08719afdb (patch) | |
tree | f52f35c39fb5ca0392eb82a19720f38fa7c2f340 /rbutil/rbutilqt/rbutilqt.cpp | |
parent | b2998ef6c7627be0b9cec4acada381eb78779895 (diff) | |
download | rockbox-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/rbutilqt/rbutilqt.cpp')
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.cpp | 47 |
1 files changed, 37 insertions, 10 deletions
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))); |