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