diff options
author | Dominik Wenger <domonoky@googlemail.com> | 2007-08-09 16:44:27 +0000 |
---|---|---|
committer | Dominik Wenger <domonoky@googlemail.com> | 2007-08-09 16:44:27 +0000 |
commit | 36b150e5dc62a4c46aa8fd34a1c9ce828ae2bd28 (patch) | |
tree | 85f751ad394046059f5c78c26adf99c44db1bd88 /rbutil/rbutilqt/installbootloaderwindow.cpp | |
parent | c3bf746f832eac87301d0d692e1f415cbf6fc079 (diff) | |
download | rockbox-36b150e5dc62a4c46aa8fd34a1c9ce828ae2bd28.tar.gz rockbox-36b150e5dc62a4c46aa8fd34a1c9ce828ae2bd28.zip |
rbutilQt: renamed installbl to installbootloaderwindow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14259 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/installbootloaderwindow.cpp')
-rw-r--r-- | rbutil/rbutilqt/installbootloaderwindow.cpp | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/installbootloaderwindow.cpp b/rbutil/rbutilqt/installbootloaderwindow.cpp new file mode 100644 index 0000000000..95084e87f7 --- /dev/null +++ b/rbutil/rbutilqt/installbootloaderwindow.cpp | |||
@@ -0,0 +1,177 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * | ||
9 | * Copyright (C) 2007 by Dominik Wenger | ||
10 | * $Id: installbootloaderwindow.cpp 14027 2007-07-27 17:42:49Z domonoky $ | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | |||
20 | #include "installbootloaderwindow.h" | ||
21 | #include "ui_installprogressfrm.h" | ||
22 | |||
23 | |||
24 | InstallBootloaderWindow::InstallBootloaderWindow(QWidget *parent) : QDialog(parent) | ||
25 | { | ||
26 | ui.setupUi(this); | ||
27 | connect(ui.buttonBrowse, SIGNAL(clicked()), this, SLOT(browseFolder())); | ||
28 | connect(ui.buttonBrowseOF, SIGNAL(clicked()), this, SLOT(browseOF())); | ||
29 | |||
30 | } | ||
31 | |||
32 | void InstallBootloaderWindow::setProxy(QUrl proxy_url) | ||
33 | { | ||
34 | proxy = proxy_url; | ||
35 | qDebug() << "Install::setProxy" << proxy; | ||
36 | } | ||
37 | |||
38 | void InstallBootloaderWindow::setMountPoint(QString mount) | ||
39 | { | ||
40 | QFileInfo m(mount); | ||
41 | if(m.isDir()) { | ||
42 | ui.lineMountPoint->clear(); | ||
43 | ui.lineMountPoint->insert(mount); | ||
44 | } | ||
45 | } | ||
46 | |||
47 | void InstallBootloaderWindow::setOFPath(QString path) | ||
48 | { | ||
49 | QFileInfo m(path); | ||
50 | if(m.exists()) { | ||
51 | ui.lineOriginalFirmware->clear(); | ||
52 | ui.lineOriginalFirmware->insert(path); | ||
53 | } | ||
54 | } | ||
55 | |||
56 | void InstallBootloaderWindow::browseFolder() | ||
57 | { | ||
58 | QFileDialog browser(this); | ||
59 | if(QFileInfo(ui.lineMountPoint->text()).isDir()) | ||
60 | browser.setDirectory(ui.lineMountPoint->text()); | ||
61 | else | ||
62 | browser.setDirectory("/media"); | ||
63 | browser.setReadOnly(true); | ||
64 | browser.setFileMode(QFileDialog::DirectoryOnly); | ||
65 | browser.setAcceptMode(QFileDialog::AcceptOpen); | ||
66 | if(browser.exec()) { | ||
67 | qDebug() << browser.directory(); | ||
68 | QStringList files = browser.selectedFiles(); | ||
69 | setMountPoint(files.at(0)); | ||
70 | } | ||
71 | } | ||
72 | |||
73 | void InstallBootloaderWindow::browseOF() | ||
74 | { | ||
75 | QFileDialog browser(this); | ||
76 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) | ||
77 | browser.setDirectory(ui.lineOriginalFirmware->text()); | ||
78 | else | ||
79 | browser.setDirectory("/media"); | ||
80 | browser.setReadOnly(true); | ||
81 | browser.setAcceptMode(QFileDialog::AcceptOpen); | ||
82 | if(browser.exec()) { | ||
83 | qDebug() << browser.directory(); | ||
84 | QStringList files = browser.selectedFiles(); | ||
85 | setOFPath(files.at(0)); | ||
86 | } | ||
87 | } | ||
88 | |||
89 | void InstallBootloaderWindow::accept() | ||
90 | { | ||
91 | // create logger | ||
92 | logger = new ProgressLoggerGui(this); | ||
93 | logger->show(); | ||
94 | |||
95 | // show dialog with error if mount point is wrong | ||
96 | if(QFileInfo(ui.lineMountPoint->text()).isDir()) { | ||
97 | mountPoint = ui.lineMountPoint->text(); | ||
98 | userSettings->setValue("defaults/mountpoint", mountPoint); | ||
99 | } | ||
100 | else { | ||
101 | logger->addItem(tr("Mount point is wrong!"),LOGERROR); | ||
102 | logger->abort(); | ||
103 | return; | ||
104 | } | ||
105 | |||
106 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) | ||
107 | { | ||
108 | m_OrigFirmware = ui.lineOriginalFirmware->text(); | ||
109 | } | ||
110 | else if(needextrafile) | ||
111 | { | ||
112 | logger->addItem(tr("Original Firmware Path is wrong!"),LOGERROR); | ||
113 | logger->abort(); | ||
114 | return; | ||
115 | } | ||
116 | userSettings->sync(); | ||
117 | |||
118 | binstaller = new BootloaderInstaller(this); | ||
119 | |||
120 | binstaller->setMountPoint(mountPoint); | ||
121 | binstaller->setProxy(proxy); | ||
122 | QString plattform = userSettings->value("defaults/platform").toString(); | ||
123 | |||
124 | binstaller->setDevice(plattform); | ||
125 | binstaller->setBootloaderMethod(devices->value(plattform + "/bootloadermethod").toString()); | ||
126 | binstaller->setBootloaderName(devices->value(plattform + "/bootloadername").toString()); | ||
127 | binstaller->setBootloaderBaseUrl(devices->value("bootloader_url").toString()); | ||
128 | binstaller->setOrigFirmwarePath(m_OrigFirmware); | ||
129 | |||
130 | binstaller->install(logger); | ||
131 | |||
132 | connect(binstaller, SIGNAL(done(bool)), this, SLOT(done(bool))); | ||
133 | |||
134 | } | ||
135 | |||
136 | |||
137 | void InstallBootloaderWindow::done(bool error) | ||
138 | { | ||
139 | qDebug() << "Install::done, error:" << error; | ||
140 | |||
141 | if(error) | ||
142 | { | ||
143 | logger->abort(); | ||
144 | return; | ||
145 | } | ||
146 | |||
147 | // no error, close the window, when the logger is closed | ||
148 | connect(logger,SIGNAL(closed()),this,SLOT(close())); | ||
149 | |||
150 | } | ||
151 | |||
152 | void InstallBootloaderWindow::setDeviceSettings(QSettings *dev) | ||
153 | { | ||
154 | devices = dev; | ||
155 | qDebug() << "Install::setDeviceSettings:" << devices; | ||
156 | } | ||
157 | |||
158 | void InstallBootloaderWindow::setUserSettings(QSettings *user) | ||
159 | { | ||
160 | userSettings = user; | ||
161 | if(userSettings->value("defaults/platform").toString() == "h100" || | ||
162 | userSettings->value("defaults/platform").toString() == "h120" || | ||
163 | userSettings->value("defaults/platform").toString() == "h300") | ||
164 | { | ||
165 | ui.buttonBrowseOF->show(); | ||
166 | ui.lineOriginalFirmware->show(); | ||
167 | ui.label_3->show(); | ||
168 | needextrafile = true; | ||
169 | } | ||
170 | else | ||
171 | { | ||
172 | ui.buttonBrowseOF->hide(); | ||
173 | ui.lineOriginalFirmware->hide(); | ||
174 | ui.label_3->hide(); | ||
175 | needextrafile = false; | ||
176 | } | ||
177 | } | ||