summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/rbutilqt.cpp
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/rbutilqt/rbutilqt.cpp
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/rbutilqt/rbutilqt.cpp')
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp47
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)));