summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2007-08-22 10:55:05 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2007-08-22 10:55:05 +0000
commit9295e0a489101f040ea1dcafb35ca89e97a37315 (patch)
tree20bf04791547a448ccdb54dd40f7575616234cc1
parentb7466fd8cf63247d6b28e6b3a7df9b7003376c8f (diff)
downloadrockbox-9295e0a489101f040ea1dcafb35ca89e97a37315.zip
rockbox-9295e0a489101f040ea1dcafb35ca89e97a37315.tar.gz
rockbox-9295e0a489101f040ea1dcafb35ca89e97a37315.tar.bz2
rockbox-9295e0a489101f040ea1dcafb35ca89e97a37315.tar.xz
enable downloading of the manual. It will get saved to the players root folder for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14429 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp54
-rw-r--r--rbutil/rbutilqt/rbutilqt.h1
2 files changed, 54 insertions, 1 deletions
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index 39bac3b..541c446 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -68,9 +68,9 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
}
// manual tab
- ui.buttonDownloadManual->setEnabled(false);
updateManual();
updateDevice();
+ ui.radioPdf->setChecked(true);
connect(ui.actionAbout_Qt, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
connect(ui.action_About, SIGNAL(triggered()), this, SLOT(about()));
@@ -85,6 +85,7 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
connect(ui.buttonThemes, SIGNAL(clicked()), this, SLOT(installThemes()));
connect(ui.buttonRemoveRockbox, SIGNAL(clicked()), this, SLOT(uninstall()));
connect(ui.buttonRemoveBootloader, SIGNAL(clicked()), this, SLOT(uninstallBootloader()));
+ connect(ui.buttonDownloadManual, SIGNAL(clicked()), this, SLOT(downloadManual()));
// disable unimplemented stuff
ui.buttonSmall->setEnabled(false);
ui.buttonComplete->setEnabled(false);
@@ -491,3 +492,54 @@ void RbUtilQt::uninstallBootloader(void)
blinstaller.uninstall(logger);
}
+
+
+void RbUtilQt::downloadManual(void)
+{
+ if(QMessageBox::question(this, tr("Confirm download"),
+ tr("Do you really want to download the manual? The manual will be saved "
+ "to the root folder of your player."),
+ QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes)
+ return;
+
+ buildInfo.open();
+ QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
+ buildInfo.close();
+
+ devices->beginGroup(userSettings->value("defaults/platform").toString());
+ QString manual;
+ manual = devices->value("manualname", "rockbox-" + devices->value("platform").toString()).toString();
+ devices->endGroup();
+
+ QString date = (info.value("dailies/date").toString());
+
+ QString manualurl;
+ QString target;
+ QString section;
+ if(ui.radioPdf->isChecked()) {
+ target = "/" + manual + ".pdf";
+ section = "Manual (PDF)";
+ }
+ else {
+ target = "/" + manual + "-" + date + "-html.zip";
+ section = "Manual (HTML)";
+ }
+ manualurl = devices->value("manual_url").toString() + "/" + target;
+ qDebug() << "manualurl =" << manualurl;
+
+ ProgressLoggerGui* logger = new ProgressLoggerGui(this);
+ logger->show();
+ installer = new ZipInstaller(this);
+ installer->setMountPoint(userSettings->value("defaults/mountpoint").toString());
+ if(userSettings->value("defaults/proxytype") == "manual")
+ installer->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
+#ifdef __linux
+ else if(userSettings->value("defaults/proxytype") == "system")
+ installer->setProxy(QUrl(getenv("http_proxy")));
+#endif
+ installer->setLogSection(section);
+ installer->setUrl(manualurl);
+ installer->setUnzip(false);
+ installer->setTarget(target);
+ installer->install(logger);
+}
diff --git a/rbutil/rbutilqt/rbutilqt.h b/rbutil/rbutilqt/rbutilqt.h
index 19e7920..ef1de91 100644
--- a/rbutil/rbutilqt/rbutilqt.h
+++ b/rbutil/rbutilqt/rbutilqt.h
@@ -69,6 +69,7 @@ class RbUtilQt : public QMainWindow
void installThemes(void);
void uninstall(void);
void uninstallBootloader(void);
+ void downloadManual(void);
};
#endif